Class: RecordOnChain::Commands::AbstractCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/record_on_chain/commands/abstract_command.rb

Overview

base of command class

Direct Known Subclasses

Help, Init, Record, Secret

Instance Method Summary collapse

Constructor Details

#initialize(command_name, cli = Cli.new) ⇒ AbstractCommand

Returns a new instance of AbstractCommand.



9
10
11
12
# File 'lib/record_on_chain/commands/abstract_command.rb', line 9

def initialize( command_name , cli= Cli.new )
  @command_name = command_name
  @cli = cli
end

Instance Method Details

#squeeze_args_from_argv(val_context = {}, flag_context = {}, argv = ARGV) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/record_on_chain/commands/abstract_command.rb', line 18

def squeeze_args_from_argv( val_context= {} , flag_context= {} , argv= ARGV )
  opts = OptionParser.new
  args = {}
  # set to args according to hash_context.
  val_context.each { |key,val| opts.on("#{key} VAL"){|v| args[val] = v} }
  # set to args according to flag_context
  flag_context.each{ |key,val| opts.on("#{key}"){|v| args[val] = true} }
  # raise erro if user set unknown option
  # except first because @argv.first is command name
  opts.parse( argv )
  return args
end

#startObject

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/record_on_chain/commands/abstract_command.rb', line 14

def start
  raise NotImplementedError.new
end