Class: SuggestGrid::Metadata

Inherits:
BaseModel show all
Defined in:
lib/suggest_grid/models/metadata.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#method_missing, #respond_to?, #to_hash, #to_json

Constructor Details

#initialize(id = nil, additional_properties = {}) ⇒ Metadata

Returns a new instance of Metadata.



18
19
20
21
22
23
24
# File 'lib/suggest_grid/models/metadata.rb', line 18

def initialize(id = nil,
               additional_properties = {})
  @id = id

  # Add additional model properties to the instance
  additional_properties.each {|name, value| instance_variable_set("@#{name}", value)}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class SuggestGrid::BaseModel

Instance Attribute Details

#idString

The id of the metadata of a user or an item.

Returns:



7
8
9
# File 'lib/suggest_grid/models/metadata.rb', line 7

def id
  @id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/suggest_grid/models/metadata.rb', line 27

def self.from_hash(hash)
  if hash == nil
    nil
  else
    # Extract variables from the hash
    id = hash["id"]

    # Clean out expected properties from Hash
    names.values.each {|k| hash.delete(k)}

    # Create object from extracted values
    .new(id,
                 hash)
  end
end

.namesObject

A mapping from model property names to API property names



10
11
12
13
14
15
16
# File 'lib/suggest_grid/models/metadata.rb', line 10

def self.names
  if @hash.nil?
    @hash = {}
    @hash["id"] = "id"
  end
  @hash
end