Class: SuggestGrid::UsersResponse

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/suggest_grid/models/users_response.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(count = nil, total_count = nil, users = nil, additional_properties = {}) ⇒ UsersResponse



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/suggest_grid/models/users_response.rb', line 28

def initialize(count = nil,
               total_count = nil,
               users = nil,
               additional_properties = {})
  @count = count
  @total_count = total_count
  @users = users

  # 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

#countLong

The number of users in the response.



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

def count
  @count
end

#total_countLong

The total number of users available.



11
12
13
# File 'lib/suggest_grid/models/users_response.rb', line 11

def total_count
  @total_count
end

#usersList of Metadata

The total number of users available.



15
16
17
# File 'lib/suggest_grid/models/users_response.rb', line 15

def users
  @users
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/suggest_grid/models/users_response.rb', line 41

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

    count = hash["count"]
    total_count = hash["total_count"]
    # Parameter is an array, so we need to iterate through it

    users = nil
    if hash["users"] != nil
      users = Array.new
      hash["users"].each{|structure| users << (.from_hash(structure) if structure)}
    end

    # Clean out expected properties from Hash

    names.values.each {|k| hash.delete(k)}

    # Create object from extracted values

    UsersResponse.new(count,
                      total_count,
                      users,
                      hash)
  end
end

.namesObject

A mapping from model property names to API property names



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

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