Class: DatabasePatcher::Command

Inherits:
Object
  • Object
show all
Defined in:
lib/database_patcher/command.rb

Direct Known Subclasses

CreatePatch, Down, Help, Init, RollBack, Up

Defined Under Namespace

Classes: CreatePatch, Down, Help, Init, RollBack, Up

Class Method Summary collapse

Class Method Details

.desc(message = nil) ⇒ Object



26
27
28
29
# File 'lib/database_patcher/command.rb', line 26

def desc(message = nil)
  @desc = message unless message.nil?
  @desc
end

.inherited(subclass) ⇒ Object



5
6
7
# File 'lib/database_patcher/command.rb', line 5

def inherited(subclass)
  subclasses << subclass
end

.names(*new_names) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/database_patcher/command.rb', line 18

def names(*new_names)
  unless new_names.empty?
    @names = new_names
    optparse.banner = OptionParser.new.banner + " #{new_names.first}"
  end
  @names
end

.on(*args, &block) ⇒ Object



37
38
39
# File 'lib/database_patcher/command.rb', line 37

def on(*args,&block)
  optparse.on(*args,&block)
end

.on_call(&block) ⇒ Object



13
14
15
16
# File 'lib/database_patcher/command.rb', line 13

def on_call(&block)
  @on_call ||= block unless block.nil?
  @on_call || -> {}
end

.options(hash = nil) ⇒ Object



31
32
33
34
35
# File 'lib/database_patcher/command.rb', line 31

def options(hash = nil)
  @options ||= {}
  @options.merge!(hash) if hash.is_a?(Hash)
  @options
end

.optparseObject



41
42
43
# File 'lib/database_patcher/command.rb', line 41

def optparse
  @optparse ||= OptionParser.new
end

.subclassesObject



9
10
11
# File 'lib/database_patcher/command.rb', line 9

def subclasses
  @subclasses ||= []
end