Class: Nero::Rails::DurationTag
- Defined in:
- lib/nero/rails/duration_tag.rb
Constant Summary collapse
- UNITS =
%w[seconds minutes hours days weeks months years].freeze
Instance Method Summary collapse
Instance Method Details
#resolve(args, context:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/nero/rails/duration_tag.rb', line 8 def resolve(args, context:) amount = args[0] unit = args[1]&.to_s unless amount.is_a?(Numeric) context.add_error("duration requires a numeric amount, got #{amount.inspect}") return nil end unless UNITS.include?(unit) context.add_error("duration unknown unit #{unit.inspect}, expected one of: #{UNITS.join(", ")}") return nil end amount.public_send(unit) end |