Module: Runbook

Defined in:
lib/runbook.rb,
lib/runbook/cli.rb,
lib/runbook/dsl.rb,
lib/runbook/run.rb,
lib/runbook/node.rb,
lib/runbook/view.rb,
lib/runbook/hooks.rb,
lib/runbook/entity.rb,
lib/runbook/errors.rb,
lib/runbook/runner.rb,
lib/runbook/viewer.rb,
lib/runbook/toolbox.rb,
lib/runbook/version.rb,
lib/runbook/generator.rb,
lib/runbook/statement.rb,
lib/runbook/initializer.rb,
lib/runbook/util/runbook.rb,
lib/runbook/configuration.rb

Defined Under Namespace

Modules: CLIBase, DSL, Entities, Extensions, Generators, Helpers, Hooks, Run, Runs, Statements, Util, View, Views Classes: CLI, Configuration, Entity, Generator, Initializer, Node, Runner, Statement, Toolbox, Viewer

Constant Summary collapse

StandardError =
Class.new(::StandardError)
VERSION =
"0.15.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



3
4
5
# File 'lib/runbook/configuration.rb', line 3

def configuration
  @configuration
end

Class Method Details

._child_classes(mod) ⇒ Object



28
29
30
31
32
# File 'lib/runbook/util/runbook.rb', line 28

def self._child_classes(mod)
  mod.constants.map { |const|
    "#{mod.to_s}::#{const}".constantize
  }.select { |const| const.is_a?(Class) }
end

._child_modules(mod) ⇒ Object



34
35
36
37
38
# File 'lib/runbook/util/runbook.rb', line 34

def self._child_modules(mod)
  mod.constants.map { |const|
    "#{mod.to_s}::#{const}".constantize
  }.select { |const| const.is_a?(Module) }
end

.book(title, &block) ⇒ Object



89
90
91
92
93
94
95
# File 'lib/runbook.rb', line 89

def self.book(title, &block)
  Configuration.load_config
  Entities::Book.new(title).tap do |book|
    book.dsl.instance_eval(&block)
    register(book)
  end
end

.booksObject



115
116
117
# File 'lib/runbook.rb', line 115

def self.books
  @books ||= []
end

.configObject



5
6
7
# File 'lib/runbook/configuration.rb', line 5

def config
  @configuration
end

.configure {|configuration| ... } ⇒ Object

Yields:



10
11
12
13
14
# File 'lib/runbook/configuration.rb', line 10

def self.configure
  Configuration.load_config
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
end

.deprecatorObject



18
19
20
21
22
23
24
25
26
# File 'lib/runbook/util/runbook.rb', line 18

def self.deprecator
  return @deprecator if @deprecator
  major_version = Gem::Version.new(Runbook::VERSION).segments[0]
  next_major_version = major_version + 1
  @deprecator = ActiveSupport::Deprecation.new(
    "#{next_major_version}.0",
    "Runbook"
  )
end

.entitiesObject



2
3
4
# File 'lib/runbook/util/runbook.rb', line 2

def self.entities
  _child_classes(Runbook::Entities)
end

.generatorsObject



14
15
16
# File 'lib/runbook/util/runbook.rb', line 14

def self.generators
  _child_classes(Runbook::Generators)
end

.register(book) ⇒ Object



111
112
113
# File 'lib/runbook.rb', line 111

def self.register(book)
  books << book
end

.reset_configurationObject



16
17
18
19
# File 'lib/runbook/configuration.rb', line 16

def self.reset_configuration
  self.configuration = Configuration.new
  Configuration.loaded = false
end

.runsObject



10
11
12
# File 'lib/runbook/util/runbook.rb', line 10

def self.runs
  _child_modules(Runbook::Runs)
end

.section(title, &block) ⇒ Object



97
98
99
100
101
102
# File 'lib/runbook.rb', line 97

def self.section(title, &block)
  Configuration.load_config
  Entities::Section.new(title).tap do |section|
    section.dsl.instance_eval(&block)
  end
end

.statementsObject



6
7
8
# File 'lib/runbook/util/runbook.rb', line 6

def self.statements
  _child_classes(Runbook::Statements)
end

.step(title = nil, &block) ⇒ Object



104
105
106
107
108
109
# File 'lib/runbook.rb', line 104

def self.step(title=nil, &block)
  Configuration.load_config
  Entities::Step.new(title).tap do |step|
    step.dsl.instance_eval(&block) if block
  end
end