Class: ShopifyAPI::SmartCollection

Inherits:
Rest::Base show all
Extended by:
T::Sig
Defined in:
lib/shopify_api/rest/resources/2022_04/smart_collection.rb,
lib/shopify_api/rest/resources/2022_07/smart_collection.rb,
lib/shopify_api/rest/resources/2022_10/smart_collection.rb,
lib/shopify_api/rest/resources/2023_01/smart_collection.rb,
lib/shopify_api/rest/resources/2023_04/smart_collection.rb,
lib/shopify_api/rest/resources/2023_07/smart_collection.rb

Instance Attribute Summary collapse

Attributes inherited from Rest::Base

#errors, #original_state

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Rest::Base

base_find, class_name, create_instance, create_instances_from_response, #delete, get_path, has_many?, has_one?, json_body_name, json_response_body_names, #method_missing, next_page?, next_page_info, prev_page?, prev_page_info, primary_key, read_only_attributes, request, #respond_to_missing?, #save, #save!, #to_hash

Constructor Details

#initialize(session: ShopifyAPI::Context.active_session) ⇒ SmartCollection

Returns a new instance of SmartCollection.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 16

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)

  @rules = T.let(nil, T.nilable(T.any(T::Hash[T.untyped, T.untyped], T::Array[T.untyped])))
  @title = T.let(nil, T.nilable(String))
  @body_html = T.let(nil, T.nilable(String))
  @disjunctive = T.let(nil, T.nilable(T::Boolean))
  @handle = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @image = T.let(nil, T.nilable(T.any(String, T::Hash[T.untyped, T.untyped])))
  @published_at = T.let(nil, T.nilable(String))
  @published_scope = T.let(nil, T.nilable(String))
  @sort_order = T.let(nil, T.nilable(String))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ShopifyAPI::Rest::Base

Instance Attribute Details

#body_htmlObject (readonly)

Returns the value of attribute body_html.



50
51
52
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 50

def body_html
  @body_html
end

#disjunctiveObject (readonly)

Returns the value of attribute disjunctive.



52
53
54
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 52

def disjunctive
  @disjunctive
end

#handleObject (readonly)

Returns the value of attribute handle.



54
55
56
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 54

def handle
  @handle
end

#idObject (readonly)

Returns the value of attribute id.



56
57
58
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 56

def id
  @id
end

#imageObject (readonly)

Returns the value of attribute image.



58
59
60
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 58

def image
  @image
end

#published_atObject (readonly)

Returns the value of attribute published_at.



60
61
62
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 60

def published_at
  @published_at
end

#published_scopeObject (readonly)

Returns the value of attribute published_scope.



62
63
64
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 62

def published_scope
  @published_scope
end

#rulesObject (readonly)

Returns the value of attribute rules.



46
47
48
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 46

def rules
  @rules
end

#sort_orderObject (readonly)

Returns the value of attribute sort_order.



64
65
66
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 64

def sort_order
  @sort_order
end

#template_suffixObject (readonly)

Returns the value of attribute template_suffix.



66
67
68
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 66

def template_suffix
  @template_suffix
end

#titleObject (readonly)

Returns the value of attribute title.



48
49
50
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 48

def title
  @title
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



68
69
70
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 68

def updated_at
  @updated_at
end

Class Method Details

.all(limit: nil, ids: nil, since_id: nil, title: nil, product_id: nil, handle: nil, updated_at_min: nil, updated_at_max: nil, published_at_min: nil, published_at_max: nil, published_status: nil, fields: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 128

def all(
  limit: nil,
  ids: nil,
  since_id: nil,
  title: nil,
  product_id: nil,
  handle: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  published_at_min: nil,
  published_at_max: nil,
  published_status: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {limit: limit, ids: ids, since_id: since_id, title: title, product_id: product_id, handle: handle, updated_at_min: updated_at_min, updated_at_max: updated_at_max, published_at_min: published_at_min, published_at_max: published_at_max, published_status: published_status, fields: fields}.merge(kwargs).compact,
  )

  T.cast(response, T::Array[SmartCollection])
end

.count(title: nil, product_id: nil, updated_at_min: nil, updated_at_max: nil, published_at_min: nil, published_at_max: nil, published_status: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 166

def count(
  title: nil,
  product_id: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  published_at_min: nil,
  published_at_max: nil,
  published_status: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {title: title, product_id: product_id, updated_at_min: updated_at_min, updated_at_max: updated_at_max, published_at_min: published_at_min, published_at_max: published_at_max, published_status: published_status}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

.delete(id:, session: ShopifyAPI::Context.active_session) ⇒ Object



97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 97

def delete(
  id:,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id},
    params: {},
  )
end

.find(id:, fields: nil, session: ShopifyAPI::Context.active_session) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 78

def find(
  id:,
  fields: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id},
    params: {fields: fields},
  )
  T.cast(result[0], T.nilable(SmartCollection))
end

Instance Method Details

#order(products: nil, sort_order: nil, body: nil, **kwargs) ⇒ Object



198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'lib/shopify_api/rest/resources/2022_04/smart_collection.rb', line 198

def order(
  products: nil,
  sort_order: nil,
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :put,
    operation: :order,
    session: @session,
    ids: {id: @id},
    params: {products: products, sort_order: sort_order}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end