Class: Nydp::Builtin::Date
- Defined in:
- lib/nydp/builtin/date.rb
Instance Method Summary collapse
- #builtin_invoke(vm, args) ⇒ Object
- #builtin_invoke_1(vm) ⇒ Object
-
#builtin_invoke_2(vm, arg) ⇒ Object
it’s a Time object (or any object that responds to #to_date).
- #builtin_invoke_3(vm, a0, a1) ⇒ Object
- #builtin_invoke_4(vm, y, m, d) ⇒ Object
Methods included from Helper
#cons, #list, #literal?, #pair?, #sig, #sym, #sym?
Methods included from Converter
Methods included from Base
#handle_error, #inspect, #invoke, #invoke_1, #invoke_2, #invoke_3, #invoke_4, #name, #nydp_type, #to_s
Instance Method Details
#builtin_invoke(vm, args) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/nydp/builtin/date.rb', line 4 def builtin_invoke vm, args case args.size when 0 ; builtin_invoke_1 vm when 1 ; builtin_invoke_2 vm, args.car when 2 ; builtin_invoke_3 vm, args.car, args.cdr.car when 3 ; builtin_invoke_4 vm, args.car, args.cdr.car, args.cdr.cdr.car end end |
#builtin_invoke_1(vm) ⇒ Object
13 14 15 |
# File 'lib/nydp/builtin/date.rb', line 13 def builtin_invoke_1 vm vm.push_arg(Nydp::Date.new Date.today) end |
#builtin_invoke_2(vm, arg) ⇒ Object
it’s a Time object (or any object that responds to #to_date)
18 19 20 21 22 23 24 25 |
# File 'lib/nydp/builtin/date.rb', line 18 def builtin_invoke_2 vm, arg arg = if arg.respond_to?(:to_date) arg.to_date elsif arg.is_a?(String) ::Date.parse(arg) end vm.push_arg(Nydp::Date.new arg) end |