Class: Runa::Product

Inherits:
Response show all
Defined in:
lib/runa/models/product.rb

Constant Summary collapse

PATH =
'/product'

Constants inherited from Response

Response::STATUS

Instance Attribute Summary collapse

Attributes inherited from Response

#error_code, #error_details, #error_string, #payload, #status

Instance Method Summary collapse

Methods inherited from Response

#is_successful?

Constructor Details

#initialize(params = {}) ⇒ Product

Returns a new instance of Product.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/runa/models/product.rb', line 31

def initialize(params = {})
  super

  unless gift_card.nil?
    denominations = gift_card['denominations']
    @denomination_type = denominations['type']
    @available_denominations = denominations['available_list']
    @minimum_value = denominations['minimum_value']
    @maximum_value = denominations['maximum_value']
    @card_image_url = gift_card['assets']['card_image_url']
    @e_code_usage_type = gift_card['e_code_usage_type']

    @content_resources = gift_card['content_resources']
    @description_url = @content_resources['description_markdown_url']
    @redeem_instructions_url = @content_resources['redemption_instructions_markdown_url']
    @terms_and_conditions_url = @content_resources['terms_consumer_markdown_url']
  end

  self
end

Instance Attribute Details

#availabilityObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def availability
  @availability
end

#available_denominationsObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def available_denominations
  @available_denominations
end

#card_image_urlObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def card_image_url
  @card_image_url
end

#categoriesObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def categories
  @categories
end

#codeObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def code
  @code
end

#content_resourcesObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def content_resources
  @content_resources
end

#countries_redeemable_inObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def countries_redeemable_in
  @countries_redeemable_in
end

#currencyObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def currency
  @currency
end

#denomination_typeObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def denomination_type
  @denomination_type
end

#description_urlObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def description_url
  @description_url
end

#e_code_usage_typeObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def e_code_usage_type
  @e_code_usage_type
end

#gift_cardObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def gift_card
  @gift_card
end

#maximum_valueObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def maximum_value
  @maximum_value
end

#minimum_valueObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def minimum_value
  @minimum_value
end

#nameObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def name
  @name
end

#nonsenseObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def nonsense
  @nonsense
end

#payout_typeObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def payout_type
  @payout_type
end

#product_codeObject

request/payload



7
8
9
# File 'lib/runa/models/product.rb', line 7

def product_code
  @product_code
end

#redeem_instructions_urlObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def redeem_instructions_url
  @redeem_instructions_url
end

#stateObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def state
  @state
end

#terms_and_conditions_urlObject

response/success



10
11
12
# File 'lib/runa/models/product.rb', line 10

def terms_and_conditions_url
  @terms_and_conditions_url
end

Instance Method Details

#get(ctx) ⇒ Object

Product Details List GET /v2/product/ID



58
59
60
61
# File 'lib/runa/models/product.rb', line 58

def get(ctx)
  response = ctx.request(:get, path, {}, '')
  parse(response)
end

#parse(response) ⇒ Object



63
64
65
66
67
# File 'lib/runa/models/product.rb', line 63

def parse(response)
  super(response)

  Runa::Product.new(@payload)
end

#pathObject



52
53
54
# File 'lib/runa/models/product.rb', line 52

def path
  [PATH, @product_code.to_s].join('/')
end