1
0
Fork 0
mirror of https://github.com/nov/fb_graph2 synced 2023-03-27 23:22:15 -04:00

reduce "custom" attributes

This commit is contained in:
nov 2014-05-28 15:45:12 +09:00
parent f4d856ed3f
commit bb73e5190a
11 changed files with 58 additions and 25 deletions

View file

@ -30,28 +30,40 @@ module FbGraph2
Time.parse raw
when :timestamp
Time.at raw
when :actions
Collection.new(raw).collect do |_raw_|
Struct::Action.new _raw_
end
when :album
Album.new raw[:id], raw
when :application
Application.new raw[:id], raw
when :comment
Comment.new raw[:id], raw
when :group
Group.new raw[:id], raw
when :image_sources
Collection.new(raw).collect do |_raw_|
Struct::ImageSource.new _raw_
end
when :page
Page.new raw[:id], raw
when :pages
Collection.new(raw).collect do |_raw_|
Page.new _raw_[:id], _raw_
end
when :photo
Photo.new raw[:id], raw
when :picture
Struct::Picture.new raw[:data]
when :profile
as_profile raw
when :profiles
Collection.new(raw).collect do |_raw_|
as_profile _raw_
end
when :application
Application.new raw[:id], raw
when :user
User.new raw[:id], raw
when :picture
Struct::Picture.new raw[:data]
when :album
Album.new raw[:id], raw
else
# NOTE: handle these attributes in each class
next

View file

@ -4,7 +4,9 @@ module FbGraph2
raw: [:can_comment, :can_remove, :comment_count, :like_count, :message, :user_likes],
time: [:created_time],
user: [:from],
custom: [:attachment, :message_tags, :parent]
comment: [:parent],
profiles: [:message_tags],
custom: [:attachment]
)
def initialize(id, attributes = {})

View file

@ -4,12 +4,9 @@ module FbGraph2
raw: [:description, :is_date_only, :location, :name, :privacy, :ticket_uri, :timezone],
time: [:end_time, :start_time, :updated_time],
page: [:venue],
custom: [:cover, :owner, :parent_group]
profile: [:owner],
group: [:parent_group],
photo: [:cover]
)
def initialize(id, attributes = {})
super
# TODO: handle custom attributes.
end
end
end

View file

@ -7,12 +7,8 @@ module FbGraph2
:administrator, :bookmark_order, :unread
],
time: [:updated_time],
custom: [:cover, :owner, :parent]
profile: [:owner, :parent],
photo: [:cover]
)
def initialize(id, attributes = {})
super
# TODO: handle custom attributes.
end
end
end

View file

@ -12,8 +12,9 @@ module FbGraph2
time: [:created_time],
date: [:birthday],
page: [:best_page],
photo: [:cover],
custom: [
:category_list, :cover, :context, :hours, :location, :parking, :price_range, :restaurant_services,
:category_list, :context, :hours, :location, :parking, :price_range, :restaurant_services,
:restaurant_specialties
]
)

View file

@ -1,12 +1,17 @@
module FbGraph2
class Photo < Node
register_attributes(
raw: [:backdated_time_granularity, :height, :icon, :link, :name, :page_story_id, :picture, :position, :source, :width],
raw: [
:backdated_time_granularity, :height, :icon, :link, :name, :page_story_id, :picture, :position, :source, :width,
# NOTE: as cover photo
:offset_y, :offset_x
],
time: [:backdated_time, :created_time, :updated_time],
page: [:place],
profile: [:from],
album: [:album],
custom: [:images, :name_tags]
image_sources: [:images],
custom: [:name_tags]
)
end
end

View file

@ -12,8 +12,9 @@ module FbGraph2
page: [:place],
profile: [:from],
profiles: [:to, :with_tags],
actions: [:actions],
custom: [
:actions, :message_tags, :privacy, :properties, :shares, :status_type, :type
:message_tags, :privacy, :properties, :shares, :status_type, :type
]
)

View file

@ -0,0 +1,9 @@
module FbGraph2
class Struct
class Action < Struct
register_attributes(
raw: [:name, :link]
)
end
end
end

View file

@ -0,0 +1,9 @@
module FbGraph2
class Struct
class ImageSource < Struct
register_attributes(
raw: [:height, :source, :width]
)
end
end
end

View file

@ -1,6 +1,6 @@
module FbGraph2
class Struct
class Poke < Struct
class Score < Struct
register_attributes(
raw: [:score],
user: [:user],

View file

@ -43,7 +43,8 @@ module FbGraph2
page: [:hometown, :location],
pages: [:favorite_athletes, :favorite_teams, :inspirational_people, :languages],
user: [:significant_other],
custom: [:age_range, :context, :cover, :currency, :education, :work]
photo: [:cover],
custom: [:age_range, :context, :currency, :education, :work]
)
def initialize(id, attributes = {})