Class: FbGraph::Photo

Inherits:
Node
  • Object
show all
Includes:
Connections::Comments, Connections::Likes, Connections::Likes::Likable, Connections::Picture, Connections::Tags, Connections::Tags::Taggable
Defined in:
lib/fb_graph/photo.rb

Direct Known Subclasses

Cover

Instance Attribute Summary (collapse)

Attributes inherited from Node

#access_token, #endpoint, #identifier, #raw_attributes

Instance Method Summary (collapse)

Methods included from Connections::Tags::Taggable

#tag!

Methods included from Connections::Tags

#tags

Methods included from Connections::Picture

#picture

Methods included from Connections::Likes::Likable

#like!, #unlike!

Methods included from Connections::Likes

#likes

Methods included from Connections::Comments

#comment!, #comments, #reply!

Methods inherited from Node

#connection, #destroy, fetch, #fetch, #update

Methods included from Comparison

#==

Constructor Details

- (Photo) initialize(identifier, attributes = {})



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fb_graph/photo.rb', line 12

def initialize(identifier, attributes = {})
  super
  if (from = attributes[:from])
    @from = if from[:category]
      Page.new(from[:id], from)
    else
      User.new(from[:id], from)
    end
  end
  # NOTE:
  # for some reason, facebook uses different parameter names.
  # "name" in GET & "message" in POST
  @name     = attributes[:name] || attributes[:message]
  @icon     = attributes[:icon]
  @source   = attributes[:source]
  @height   = attributes[:height]
  @width    = attributes[:width]
  @link     = attributes[:link]
  @images = []
  if attributes[:images]
    attributes[:images].each do |image|
      @images << Image.new(image)
    end
  end
  if attributes[:created_time]
    @created_time = Time.parse(attributes[:created_time]).utc
  end
  if attributes[:updated_time]
    @updated_time = Time.parse(attributes[:updated_time]).utc
  end
  if attributes[:place].is_a? Hash
    @place = Page.new(attributes[:place][:id], :name => attributes[:place][:name], :location => attributes[:place][:location])
  end

  # cached connection
  cache_collections attributes, :comments, :likes, :tags
end

Instance Attribute Details

- (Object) created_time

Returns the value of attribute created_time



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def created_time
  @created_time
end

- (Object) from

Returns the value of attribute from



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def from
  @from
end

- (Object) height

Returns the value of attribute height



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def height
  @height
end

- (Object) icon

Returns the value of attribute icon



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def icon
  @icon
end

- (Object) images

Returns the value of attribute images



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def images
  @images
end

Returns the value of attribute link



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def link
  @link
end

- (Object) name

Returns the value of attribute name



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def name
  @name
end

- (Object) place

Returns the value of attribute place



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def place
  @place
end

- (Object) source

Returns the value of attribute source



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def source
  @source
end

- (Object) updated_time

Returns the value of attribute updated_time



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def updated_time
  @updated_time
end

- (Object) width

Returns the value of attribute width



10
11
12
# File 'lib/fb_graph/photo.rb', line 10

def width
  @width
end