Class: Twitter::Identity
Direct Known Subclasses
BasicUser, DirectMessage, List, Media::Photo, Place, SavedSearch, Tweet
Class Method Summary (collapse)
- + (Object) fetch(attrs)
-
+ (Twitter::Identity) store(object)
Stores an object in the identity map.
Instance Method Summary (collapse)
- - (Boolean) ==(other)
- - (Integer) id
-
- (Twitter::Identity) initialize(attrs = {})
constructor
Initializes a new object.
Methods inherited from Base
#[], #attr_equal, attr_reader, #attrs, #attrs_equal, fetch_or_new, from_response, identity_map, #update
Constructor Details
- (Twitter::Identity) initialize(attrs = {})
Initializes a new object
33 34 35 36 |
# File 'lib/twitter/identity.rb', line 33 def initialize(attrs={}) super raise ArgumentError, "argument must have an :id key" unless id end |
Class Method Details
+ (Object) fetch(attrs)
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/twitter/identity.rb', line 7 def self.fetch(attrs) return unless identity_map id = attrs[:id] if id && object = identity_map.fetch(id) return object.update(attrs) end return yield if block_given? raise Twitter::Error::IdentityMapKeyError, "key not found" end |
+ (Twitter::Identity) store(object)
Stores an object in the identity map.
23 24 25 26 |
# File 'lib/twitter/identity.rb', line 23 def self.store(object) return object unless identity_map identity_map.store(object.id, object) end |
Instance Method Details
- (Boolean) ==(other)
40 41 42 |
# File 'lib/twitter/identity.rb', line 40 def ==(other) super || attr_equal(:id, other) || attrs_equal(other) end |
- (Integer) id
45 46 47 |
# File 'lib/twitter/identity.rb', line 45 def id @attrs[:id] end |