Class: MercadoBitcoin::Console::Commands::Base

Inherits:
CmdParse::Command
  • Object
show all
Defined in:
lib/mercado_bitcoin/console/commands/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(console) ⇒ Base

Returns a new instance of Base.



37
38
39
40
41
42
43
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 37

def initialize(console)
  @console = console
  super(self.class.to_s.split('::').last.downcase, takes_commands: take_commands)
  self.short_desc = self.class.short_desc
  self.long_desc = self.class.long_desc
  after_initialize
end

Instance Attribute Details

#consoleObject

Returns the value of attribute console.



35
36
37
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 35

def console
  @console
end

Class Method Details

.command_classesObject



7
8
9
10
11
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 7

def command_classes
  @command_classes ||= @klasses.select do |klass|
    !(klass.to_s =~ /Base/) && klass.to_s.split('::').count == 4
  end
end

.inherited(klass) ⇒ Object



3
4
5
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 3

def inherited(klass)
  (@klasses ||= []) << klass
end

.long_desc(*args) ⇒ Object



20
21
22
23
24
25
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 20

def long_desc(*args)
  if args.count > 0
    @long_desc = args.first
  end
  @long_desc
end

.short_desc(*args) ⇒ Object



13
14
15
16
17
18
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 13

def short_desc(*args)
  if args.count > 0
    @short_desc = args.first
  end
  @short_desc
end

.take_commands(*args) ⇒ Object



27
28
29
30
31
32
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 27

def take_commands(*args)
  if args.count > 0
    @take_commands = args.first
  end
  @take_commands.nil? ? true : @take_commands
end

Instance Method Details

#after_initializeObject



49
50
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 49

def after_initialize
end

#execute(*args) ⇒ Object



52
53
54
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 52

def execute(*args)
  console.exec short_desc, args
end

#take_commandsObject



45
46
47
# File 'lib/mercado_bitcoin/console/commands/base.rb', line 45

def take_commands
  self.class.take_commands
end