Class: Shioconv
- Inherits:
-
Object
- Object
- Shioconv
- Defined in:
- lib/shioconv.rb,
lib/shioconv/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Attribute Summary collapse
-
#condiment ⇒ Object
readonly
Returns the value of attribute condiment.
-
#quantity ⇒ Object
readonly
Returns the value of attribute quantity.
-
#unit ⇒ Object
readonly
Returns the value of attribute unit.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(condiment: condiment, quantity: quantity, unit: unit) ⇒ Shioconv
constructor
A new instance of Shioconv.
- #method_missing(name, *args) ⇒ Object
Constructor Details
#initialize(condiment: condiment, quantity: quantity, unit: unit) ⇒ Shioconv
Returns a new instance of Shioconv.
18 19 20 21 22 |
# File 'lib/shioconv.rb', line 18 def initialize(condiment: condiment, quantity: quantity, unit: unit) @condiment = condiment @quantity = quantity @unit = unit end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/shioconv.rb', line 24 def method_missing(name, *args) return super unless m = /\Ato_(?<dst_unit>\w+)\Z/.match(name) dst_unit = m[:dst_unit].to_sym return super unless Unit.convertable?(dst_unit) @unit.convert(@condiment, @quantity, dst_unit) end |
Instance Attribute Details
#condiment ⇒ Object (readonly)
Returns the value of attribute condiment.
9 10 11 |
# File 'lib/shioconv.rb', line 9 def condiment @condiment end |
#quantity ⇒ Object (readonly)
Returns the value of attribute quantity.
9 10 11 |
# File 'lib/shioconv.rb', line 9 def quantity @quantity end |
#unit ⇒ Object (readonly)
Returns the value of attribute unit.
9 10 11 |
# File 'lib/shioconv.rb', line 9 def unit @unit end |
Class Method Details
.measure(condiment_name, quantity, unit_name) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/shioconv.rb', line 11 def self.measure(condiment_name, quantity, unit_name) condiment = Condiment.find_by(condiment_name) unit = Unit.find_by(unit_name) self.new(condiment: condiment, quantity: quantity, unit: unit) end |