Sha256: 134418958df86b66a1e6237c86aef42196be121f9bbc31ffac563e120494e11d
Contents?: true
Size: 767 Bytes
Versions: 2
Compression:
Stored size: 767 Bytes
Contents
module VaultTree class KeywordInterpreter attr_reader :word, :vault def initialize(word,vault) @word = word @vault = vault end def evaluate # start here begin keyword_class_name.new(vault, arg_array).evaluate rescue NameError raise Exceptions::UnsupportedKeyword end end def word_base word.gsub(/(\[.*\])/,'').strip end private def keyword_class_name instance_eval "VaultTree::#{word_base.downcase.camelize}" end def arg_array if has_args? instance_eval arg_array_string else [] end end def arg_array_string word.gsub(word_base,'').strip end def has_args? word.match(/\[/) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vault-tree-0.3.4 | lib/vault-tree/keywords/keyword_interpreter.rb |
vault-tree-0.3.3 | lib/vault-tree/keywords/keyword_interpreter.rb |