Class: Interpreter

Inherits:
Object show all
Defined in:
ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb

Constant Summary collapse

Dispatcher =
{
  "a" => instance_method(:do_a),
  "d" => instance_method(:do_d),
  "e" => instance_method(:do_e),
  "v" => instance_method(:do_v)
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#retObject

Returns the value of attribute ret.



10
11
12
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 10

def ret
  @ret
end

Instance Method Details

#do_aObject



12
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 12

def do_a() @ret += "there, "; end

#do_dObject



13
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 13

def do_d() @ret += "Hello ";  end

#do_eObject



14
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 14

def do_e() @ret += "!\n";     end

#do_vObject



15
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 15

def do_v() @ret += "Dave";    end

#interpret(string) ⇒ Object



22
23
24
25
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb', line 22

def interpret(string)
  @ret = ""
  string.split("").each {|b| Dispatcher[b].bind(self).call }
end