Class: ShopifyAPI::DiscountCode

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

Instance Attribute Summary collapse

Attributes inherited from Rest::Base

#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) ⇒ DiscountCode

Returns a new instance of DiscountCode.



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 16

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

  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

Dynamic Method Handling

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

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



44
45
46
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 44

def code
  @code
end

#created_atObject (readonly)

Returns the value of attribute created_at.



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

def created_at
  @created_at
end

#errorsObject (readonly)

Returns the value of attribute errors.



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

def errors
  @errors
end

#idObject (readonly)

Returns the value of attribute id.



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

def id
  @id
end

#price_rule_idObject (readonly)

Returns the value of attribute price_rule_id.



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

def price_rule_id
  @price_rule_id
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



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

def updated_at
  @updated_at
end

#usage_countObject (readonly)

Returns the value of attribute usage_count.



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

def usage_count
  @usage_count
end

Class Method Details

.all(price_rule_id: nil, batch_id: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



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

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )

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

.count(times_used: nil, times_used_min: nil, times_used_max: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 132

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

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



86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 86

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

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



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 66

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

.get_all(price_rule_id: nil, batch_id: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



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

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

.lookup(code: nil, session: ShopifyAPI::Context.active_session, **kwargs) ⇒ Object



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

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

Instance Method Details

#batch(body: nil, **kwargs) ⇒ Object



206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/shopify_api/rest/resources/2022_04/discount_code.rb', line 206

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end