Class: ShopifyAPI::ProductListing

Inherits:
Rest::Base show all
Extended by:
T::Sig
Defined in:
lib/shopify_api/rest/resources/2022_04/product_listing.rb,
lib/shopify_api/rest/resources/2022_07/product_listing.rb,
lib/shopify_api/rest/resources/2022_10/product_listing.rb,
lib/shopify_api/rest/resources/2023_01/product_listing.rb,
lib/shopify_api/rest/resources/2023_04/product_listing.rb,
lib/shopify_api/rest/resources/2023_07/product_listing.rb,
lib/shopify_api/rest/resources/2023_10/product_listing.rb,
lib/shopify_api/rest/resources/2024_01/product_listing.rb,
lib/shopify_api/rest/resources/2024_04/product_listing.rb,
lib/shopify_api/rest/resources/2024_07/product_listing.rb,
lib/shopify_api/rest/resources/2024_10/product_listing.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

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

Constructor Details

#initialize(session: ShopifyAPI::Context.active_session, from_hash: nil) ⇒ ProductListing

Returns a new instance of ProductListing.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 19

def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)

  @body_html = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @handle = T.let(nil, T.nilable(String))
  @images = T.let(nil, T.nilable(T::Array[T.untyped]))
  @options = T.let(nil, T.nilable(T::Array[T.untyped]))
  @product_id = T.let(nil, T.nilable(Integer))
  @product_type = T.let(nil, T.nilable(String))
  @published_at = T.let(nil, T.nilable(String))
  @tags = T.let(nil, T.nilable(String))
  @title = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @variants = T.let(nil, T.nilable(T::Array[T.untyped]))
  @vendor = T.let(nil, T.nilable(String))

  super(session: session, from_hash: from_hash)
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.



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

def body_html
  @body_html
end

#created_atObject (readonly)

Returns the value of attribute created_at.



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

def created_at
  @created_at
end

#handleObject (readonly)

Returns the value of attribute handle.



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

def handle
  @handle
end

#imagesObject (readonly)

Returns the value of attribute images.



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

def images
  @images
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

#product_idObject (readonly)

Returns the value of attribute product_id.



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

def product_id
  @product_id
end

#product_typeObject (readonly)

Returns the value of attribute product_type.



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

def product_type
  @product_type
end

#published_atObject (readonly)

Returns the value of attribute published_at.



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

def published_at
  @published_at
end

#tagsObject (readonly)

Returns the value of attribute tags.



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

def tags
  @tags
end

#titleObject (readonly)

Returns the value of attribute title.



71
72
73
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 71

def title
  @title
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



73
74
75
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 73

def updated_at
  @updated_at
end

#variantsObject (readonly)

Returns the value of attribute variants.



75
76
77
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 75

def variants
  @variants
end

#vendorObject (readonly)

Returns the value of attribute vendor.



77
78
79
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 77

def vendor
  @vendor
end

Class Method Details

.all(product_ids: nil, limit: nil, collection_id: nil, updated_at_min: nil, handle: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



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/product_listing.rb', line 135

def all(
  product_ids: nil,
  limit: nil,
  collection_id: nil,
  updated_at_min: nil,
  handle: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {product_ids: product_ids, limit: limit, collection_id: collection_id, updated_at_min: updated_at_min, handle: handle}.merge(kwargs).compact,
  )

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

.count(session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 159

def count(
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

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



111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 111

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

.find(product_id:, session: ShopifyAPI::Context.active_session) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 93

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

.primary_keyObject



83
84
85
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 83

def primary_key()
  "product_id"
end

.product_ids(limit: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/shopify_api/rest/resources/2022_04/product_listing.rb', line 181

def product_ids(
  limit: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :product_ids,
    session: session,
    ids: {},
    params: {limit: limit}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end