Class: ShippingCalculator::Range

Inherits:
Object
  • Object
show all
Defined in:
app/models/piggybak/shipping_calculator/range.rb

Constant Summary collapse

KEYS =
["cost", "upper", "lower"]

Class Method Summary collapse

Class Method Details

.available?(method, object) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
# File 'app/models/piggybak/shipping_calculator/range.rb', line 9

def self.available?(method, object)
  low_end = method..detect { |m| m.key == "lower" }.value
  high_end = method..detect { |m| m.key == "upper" }.value

  object.total >= low_end.to_f && object.total <= high_end.to_f
end

.descriptionObject



5
6
7
# File 'app/models/piggybak/shipping_calculator/range.rb', line 5

def self.description
  "Cost per Range"
end

.rate(method, object) ⇒ Object



16
17
18
# File 'app/models/piggybak/shipping_calculator/range.rb', line 16

def self.rate(method, object)
  method..detect { |m| m.key == "cost" }.value.to_f
end