Sha256: 52514a5bff7e7b49cd6b884c771ec8a2d635d6c05c42c28ed4e25bc75961c8ae
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
module Pione module Command # PioneVal command enables you to get evaluation result of PIONE expressions from out of PIONE system. class PioneVal < BasicCommand # # basic informations # command_name "pione-val" command_banner "Get the evaluation result value of the PIONE expression." PioneCommand.add_subcommand("val", self) # # options # use_option :debug define_option(:domain_info) do |item| item.long = '--domain-info=LOCATION' item.desc = 'location of Domain info file' item.default = Location["./domain.dump"] item.value = lambda {|location| Location[location]} end # # command lifecycle: setup phase # setup :expression setup :domain_info # get expression string def setup_expression @str = @argv.first || abort("error: no expressions") end # Read a domain info file. def setup_domain_info if option[:domain_info].exist? @domain_info = System::DomainInfo.read(option[:domain_info]) end end # # command lifecycle: execution phase # execute :evaluate execute :print # Evaluate expression string as PIONE expression. def execute_evaluate @val = Pione.val(@str, @domain_info) rescue Lang::UnboundError => e if option[:domain_info].exist? raise else abort("domain info file '%s' not found" % option[:domain_info].uri.to_s) end end # Print evaluation result. def execute_print $stdout.puts @val end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pione-0.3.2 | lib/pione/command/pione-val.rb |
pione-0.3.1 | lib/pione/command/pione-val.rb |