Class: Mastodon::Base
  
  
  
  
  
    - Inherits:
- 
      Object
      
        
        show all
      
    
    - Defined in:
- lib/mastodon/base.rb
 
  Direct Known Subclasses
  AccessToken, Account, App, Card, Conversation, Emoji, Entities::App, Entities::Hashtag, Entities::Media, Entities::Mention, Field, Filter, Hashtag, Instance, List, Media, Notification, Relationship, Results, ScheduledStatus, Status
 
  Instance Attribute Summary collapse
  
  
    
      Class Method Summary
      collapse
    
    
  
    
      Instance Method Summary
      collapse
    
    
  
  Constructor Details
  
    
  
  
    #initialize(attributes = {})  ⇒ Base 
  
  
  
  
    
Returns a new instance of Base.
   
 
  
  
    | 
8
9
10 | # File 'lib/mastodon/base.rb', line 8
def initialize(attributes = {})
  @attributes = attributes
end | 
 
  
 
  
    Instance Attribute Details
    
      
      
      
  
  
    #attributes  ⇒ Object  
  
  
    Also known as:
    to_h, to_hash
    
  
  
  
    
Returns the value of attribute attributes.
   
 
  
  
    | 
3
4
5 | # File 'lib/mastodon/base.rb', line 3
def attributes
  @attributes
end | 
 
    
   
  
    Class Method Details
    
      
  
  
    .collection_attr_reader(attribute, klass)  ⇒ Object 
  
  
  
  
    | 
25
26
27
28
29 | # File 'lib/mastodon/base.rb', line 25
def collection_attr_reader(attribute, klass)
  define_method(attribute) do
    Mastodon::Collection.new(@attributes[attribute.to_s], klass)
  end
end | 
 
    
      
  
  
    .define_attribute_method(key)  ⇒ Object 
  
  
  
  
    | 
43
44
45
46
47 | # File 'lib/mastodon/base.rb', line 43
def define_attribute_method(key)
  define_method(key) do
    @attributes[key.to_s]
  end
end | 
 
    
      
  
  
    .define_predicate_method(key)  ⇒ Object 
  
  
  
  
    | 
37
38
39
40
41 | # File 'lib/mastodon/base.rb', line 37
def define_predicate_method(key)
  define_method("#{key}?") do
    @attributes[key.to_s]
  end
end | 
 
    
      
  
  
    .normal_attr_reader(*attributes)  ⇒ Object 
  
  
  
  
    | 
13
14
15
16
17 | # File 'lib/mastodon/base.rb', line 13
def normal_attr_reader(*attributes)
  attributes.each do |attribute|
    define_attribute_method(attribute)
  end
end | 
 
    
      
  
  
    .object_attr_reader(attribute, klass)  ⇒ Object 
  
  
  
  
    | 
19
20
21
22
23 | # File 'lib/mastodon/base.rb', line 19
def object_attr_reader(attribute, klass)
  define_method(attribute) do
    klass.new(@attributes[attribute.to_s])
  end
end | 
 
    
      
  
  
    .predicate_attr_reader(*attributes)  ⇒ Object 
  
  
  
  
    | 
31
32
33
34
35 | # File 'lib/mastodon/base.rb', line 31
def predicate_attr_reader(*attributes)
  attributes.each do |attribute|
    define_predicate_method(attribute)
  end
end |