Sha256: 62f4cc7cafbc03e8197da7699f3e31beb4627d3cacaf39d94f07d849de2af1e0

Contents?: true

Size: 563 Bytes

Versions: 13

Compression:

Stored size: 563 Bytes

Contents

module FbGraph
  class TaggedObject < Node
    attr_accessor :name, :offset, :length

    def initialize(identifier, attributes = {})
      super
      [:name, :offset, :length].each do |key|
        self.send("#{key}=", attributes[key])
      end
    end

    def fetch_with_class_determination
      attributes = fetch_without_class_determination.raw_attributes
      klass = if attributes[:category]
        Page
      else
        User
      end
      klass.new attributes[:id], attributes
    end
    alias_method_chain :fetch, :class_determination
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
fb_graph-2.7.7 lib/fb_graph/tagged_object.rb
fb_graph-2.7.6 lib/fb_graph/tagged_object.rb
fb_graph-2.7.5 lib/fb_graph/tagged_object.rb
fb_graph-2.7.4 lib/fb_graph/tagged_object.rb
fb_graph-2.7.3 lib/fb_graph/tagged_object.rb
fb_graph-2.7.2 lib/fb_graph/tagged_object.rb
fb_graph-2.7.1 lib/fb_graph/tagged_object.rb
fb_graph-2.7.0 lib/fb_graph/tagged_object.rb
fb_graph-2.6.7 lib/fb_graph/tagged_object.rb
fb_graph-2.6.6 lib/fb_graph/tagged_object.rb
fb_graph-2.6.5 lib/fb_graph/tagged_object.rb
fb_graph-2.6.4 lib/fb_graph/tagged_object.rb
fb_graph-2.6.3 lib/fb_graph/tagged_object.rb