Module: Dry

Defined in:
lib/dry-stack/stack.rb,
lib/version.rb,
lib/dry-stack/command_line.rb

Overview

class TrueClass

def encode_with(coder) = coder.represent_scalar('tag:yaml.org,2002:str', 'true')

end

class FalseClass

def encode_with(coder)= coder.represent_scalar('tag:yaml.org,2002:str', 'false')

end

Defined Under Namespace

Modules: CommandLine Classes: ConfigurationFunction, ServiceFunction, Stack

Constant Summary collapse

EMPTY_HASH =
:empty_hash
DEFAULT_INIT_SERVICE =

add “init: true” option

true

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cmd_paramsObject

Returns the value of attribute cmd_params.



58
59
60
# File 'lib/dry-stack/stack.rb', line 58

def cmd_params
  @cmd_params
end

Instance Method Details

#each_recursive(parent, each_ = -> { _1.respond_to?(:each) ? _1.each : [] }, path = [], &blk) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/dry-stack/stack.rb', line 37

def each_recursive(parent, each_ = -> { _1.respond_to?(:each) ? _1.each : [] }, path = [], &blk)
  each2_ = each_.is_a?(Array) ? ->(p) { (m = each_.find { p.respond_to? _1 }) ? p.send(m) : [] } : each_
  (each2_[parent] || []).each do |(k,v)|
    blk.call [path + [parent], k, v, path]
    each_recursive(v || k, each_, path + [parent], &blk)
  end
end

#expand_hash(hash) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/dry-stack/stack.rb', line 45

def expand_hash(hash)
  hash.select { _1.to_s =~ /\./ }.each do |k, v|
    name = k.to_s.scan(/([^\.]*)\.(.*)/).flatten
    hash.delete k
    hash[name[0]] ||= {}
    hash[name[0]][name[1]] ||= {}
    hash[name[0]][name[1]].merge! v if v.is_a?(Hash)
    hash[name[0]][name[1]] = v unless v.is_a?(Hash)
  end
  hash.each { expand_hash(_2) if _2.is_a?(Hash) }
  hash
end

#Stack(name = nil, configuration = nil) ⇒ Object



61
62
63
64
65
66
67
68
69
# File 'lib/dry-stack/stack.rb', line 61

def Stack(name = nil, configuration = nil, &)
  Stack.last_stack = Stack.new name
  Stack.last_stack.instance_exec(&) if block_given?
  Stack.last_stack.instance_exec do
    @services_blocks&.each { instance_exec &_1 }
    @after_blocks&.each { instance_exec &_1 }
  end
  Stack.last_stack.apply_configuration configuration if configuration
end