Class: Retailer::CostcoApi::Result

Inherits:
Data
  • Object
show all
Defined in:
app/services/retailer/costco_api.rb

Overview

Outcome of a probe.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil) ⇒ Result

Returns a new instance of Result.



51
52
53
# File 'app/services/retailer/costco_api.rb', line 51

def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
  super
end

Instance Attribute Details

#available ⇒ Boolean? (readonly)

Returns in-stock flag; nil when inventory is unknown.

Returns:

  • (Boolean, nil) —

    in-stock flag; nil when inventory is unknown



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

#currency ⇒ String? (readonly)

Returns ISO currency code.

Returns:

  • (String, nil) —

    ISO currency code



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

#error ⇒ String? (readonly)

Returns failure description.

Returns:

  • (String, nil) —

    failure description



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

#price ⇒ Float? (readonly)

Returns current online price.

Returns:

  • (Float, nil) —

    current online price



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

#regular_price ⇒ Float? (readonly)

Returns pre-discount list price, when higher than price.

Returns:

  • (Float, nil) —

    pre-discount list price, when higher than price



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

#success ⇒ Boolean (readonly)

Returns whether a price was retrieved.

Returns:

  • (Boolean) —

    whether a price was retrieved



50
51
52
53
54
55
56
# File 'app/services/retailer/costco_api.rb', line 50

Result = Data.define(:success, :price, :currency, :regular_price, :available, :error) do
  def initialize(success:, price: nil, currency: nil, regular_price: nil, available: nil, error: nil)
    super
  end

  def success? = success
end

Instance Method Details

#success? ⇒ Boolean

Returns:

  • (Boolean)


55
# File 'app/services/retailer/costco_api.rb', line 55

def success? = success