Class: SuggestGrid::GetRecommendedUsersBody

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/suggest_grid/models/get_recommended_users_body.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(type = nil, types = nil, item_id = nil, item_ids = nil, from = nil, size = nil, similar_user_id = nil, similar_user_ids = nil, fields = nil, filter = nil, except = nil, additional_properties = {}) ⇒ GetRecommendedUsersBody

Returns a new instance of GetRecommendedUsersBody.



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 70

def initialize(type = nil,
               types = nil,
               item_id = nil,
               item_ids = nil,
               from = nil,
               size = nil,
               similar_user_id = nil,
               similar_user_ids = nil,
               fields = nil,
               filter = nil,
               except = nil,
               additional_properties = {})
  @type = type
  @types = types
  @item_id = item_id
  @item_ids = item_ids
  @from = from
  @size = size
  @similar_user_id = similar_user_id
  @similar_user_ids = similar_user_ids
  @fields = fields
  @filter = filter
  @except = except

  # 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

#exceptList of String

These user ids that will not be included in the response.

Returns:



49
50
51
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 49

def except
  @except
end

#fieldsList of String

The metadata fields to be included in returned user objects.

Returns:



40
41
42
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 40

def fields
  @fields
end

#filterArray<String, Boolean>

Contraints on the returned users or items. Filter structure is defined in [the filter parameter documentation](www.suggestgrid.com/docs/advanced-features#filters-parameter).

Returns:



45
46
47
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 45

def filter
  @filter
end

#fromInteger

The number of most recommended items to be skipped from the response. Defaults to 0.

Returns:

  • (Integer)


23
24
25
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 23

def from
  @from
end

#item_idString

The item id of the query.

Returns:



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

def item_id
  @item_id
end

#item_idsList of String

The item ids of the query. Exactly one of item id or item ids parameters must be provided.

Returns:



19
20
21
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 19

def item_ids
  @item_ids
end

#similar_user_idString

Similar user that the response should be similar to.

Returns:



31
32
33
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 31

def similar_user_id
  @similar_user_id
end

#similar_user_idsList of String

Similar users that the response should be similar to. At most one of similar user and similar users parameters can be provided.

Returns:



36
37
38
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 36

def similar_user_ids
  @similar_user_ids
end

#sizeInteger

The number of users requested. Defaults to 10. Must be between 1 and 10,000 inclusive.

Returns:

  • (Integer)


27
28
29
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 27

def size
  @size
end

#typeString

The type of the query. Recommendations will be calculated based on actions of this type.

Returns:



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

def type
  @type
end

#typesString

The types of the query. Exactly one of type or types parameters must be provided.

Returns:



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

def types
  @types
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 99

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

    type = hash["type"]
    types = hash["types"]
    item_id = hash["item_id"]
    item_ids = hash["item_ids"]
    from = hash["from"]
    size = hash["size"]
    similar_user_id = hash["similar_user_id"]
    similar_user_ids = hash["similar_user_ids"]
    fields = hash["fields"]
    filter = hash["filter"]
    except = hash["except"]

    # Clean out expected properties from Hash

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

    # Create object from extracted values

    GetRecommendedUsersBody.new(type,
                                types,
                                item_id,
                                item_ids,
                                from,
                                size,
                                similar_user_id,
                                similar_user_ids,
                                fields,
                                filter,
                                except,
                                hash)
  end
end

.namesObject

A mapping from model property names to API property names



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/suggest_grid/models/get_recommended_users_body.rb', line 52

def self.names
  if @hash.nil?
    @hash = {}
    @hash["type"] = "type"
    @hash["types"] = "types"
    @hash["item_id"] = "item_id"
    @hash["item_ids"] = "item_ids"
    @hash["from"] = "from"
    @hash["size"] = "size"
    @hash["similar_user_id"] = "similar_user_id"
    @hash["similar_user_ids"] = "similar_user_ids"
    @hash["fields"] = "fields"
    @hash["filter"] = "filter"
    @hash["except"] = "except"
  end
  @hash
end