Module: Redstruct::Utils::Scriptable::ClassMethods

Defined in:
lib/redstruct/utils/scriptable.rb

Instance Method Summary collapse

Instance Method Details

#defscript(id, source) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/redstruct/utils/scriptable.rb', line 9

def defscript(id, source)
  constant = "SCRIPT_SOURCE_#{id.upcase}"
  class_eval "  \#{constant} = { id: '\#{id}'.freeze, source: %(\#{source}).freeze }.freeze\n    def \#{id}(keys: [], argv: [])\n      return @factory.script(\#{constant}[:id], \#{constant}[:source]).eval(keys: keys, argv: argv)\n    end\n  METHOD\nend\n", __FILE__, __LINE__ + 1