Module: Cult

Defined in:
lib/cult/paramap.rb,
lib/cult.rb,
lib/cult/node.rb,
lib/cult/role.rb,
lib/cult/skel.rb,
lib/cult/task.rb,
lib/cult/bundle.rb,
lib/cult/driver.rb,
lib/cult/project.rb,
lib/cult/version.rb,
lib/cult/artifact.rb,
lib/cult/cli/load.rb,
lib/cult/provider.rb,
lib/cult/template.rb,
lib/cult/commander.rb,
lib/cult/cli/common.rb,
lib/cult/definition.rb,
lib/cult/named_array.rb,
lib/cult/transaction.rb,
lib/cult/cli/init_cmd.rb,
lib/cult/cli/node_cmd.rb,
lib/cult/cli/role_cmd.rb,
lib/cult/cli/task_cmd.rb,
lib/cult/drivers/load.rb,
lib/cult/transferable.rb,
lib/cult/commander_sync.rb,
lib/cult/drivers/common.rb,
lib/cult/cli/console_cmd.rb,
lib/cult/project_context.rb,
lib/cult/cli/provider_cmd.rb,
lib/cult/user_refinements.rb,
lib/cult/cli/cri_extensions.rb,
lib/cult/singleton_instances.rb,
lib/cult/cli/table_extensions.rb,
lib/cult/drivers/vultr_driver.rb,
lib/cult/drivers/linode_driver.rb,
lib/cult/drivers/linode_driver.rb,
lib/cult/drivers/virtual_box_driver.rb,
lib/cult/drivers/digital_ocean_driver.rb

Overview

This extends Terminal::Table to do plain tab-separated columns if Rainbow is disabled, which roughly translates to isatty?

Defined Under Namespace

Modules: CLI, Drivers, LinodeMonkeyPatch, SingletonInstances, TableExtensions, Transaction, Transferable, UserRefinements Classes: Artifact, BuildTask, Bundle, Commander, CommanderSync, Definition, Driver, EventTask, NamedArray, Node, Project, ProjectContext, Provider, Role, Skel, Task, Template

Constant Summary collapse

VERSION =
'0.2.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.projectObject

Returns the value of attribute project.



24
25
26
# File 'lib/cult.rb', line 24

def project
  @project
end

.singletons=(value) ⇒ Object (writeonly)

Sets the attribute singletons

Parameters:

  • value

    the value to set the attribute singletons to.



26
27
28
# File 'lib/cult.rb', line 26

def singletons=(value)
  @singletons = value
end

Class Method Details

.concurrencyObject



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

def concurrency
  defined?(@concurrency) ? @concurrency : :max
end

.concurrency=(v) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/cult.rb', line 32

def concurrency=(v)
  unless v == :max || (v.is_a?(Integer) && v >= 0)
    fail CLI::CLIError, "concurrency must be a positive integer or :max"
  end
  v = 1 if v == 0
  @concurrency = v
end

.env_flag(s, default = false) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/cult.rb', line 46

def env_flag(s, default = false)
  case (v = ENV[s])
    when /^0|false|no|n$/i
      false
    when /^1|true|yes|y$/i
      true
    when nil
      default
    else
      fail CLI::CLIError, "Invalid value for boolean #{s}: #{v}"
  end
end

.paramap(enum, quiet: false, concurrent: nil, exception: :raise, &block) ⇒ Object



223
224
225
226
227
228
229
# File 'lib/cult/paramap.rb', line 223

def paramap(enum, quiet: false, concurrent: nil, exception: :raise, &block)
  rebind = quiet ? { stdout: nil, stderr: nil } : {}
  Paramap.new(enum,
              rebind: rebind,
              concurrent: concurrent,
              exception_strategy: exception, &block).run
end

.singletons?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/cult.rb', line 27

def singletons?
  defined?(@singletons) ? @singletons : env_flag('CULT_SINGLETONS', true)
end