Class: Batali::Struct

Inherits:
AttributeStruct
  • Object
show all
Defined in:
lib/batali/b_file.rb

Overview

Custom struct class for file processing

Instance Method Summary collapse

Instance Method Details

#_dump(*_) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/batali/b_file.rb', line 50

def _dump(*_)
  _keys.each do |k|
    if(_data[k].nil? && _data[k].is_a?(::AttributeStruct))
      _data[k] = true
    end
  end
  super
end

#chef_server(*args) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/batali/b_file.rb', line 28

def chef_server(*args)
  unless(self[:chef_server])
    set!(:chef_server, ::AttributeStruct::CollapseArray.new.push(args))
  else
    self[:chef_server].push(args)
  end
  self
end

#cookbook(*args) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/batali/b_file.rb', line 10

def cookbook(*args)
  unless(self[:cookbook])
    set!(:cookbook, ::AttributeStruct::CollapseArray.new.push(args))
  else
    self[:cookbook].push(args)
  end
  self
end

#metadata(*args) ⇒ Object



46
47
48
# File 'lib/batali/b_file.rb', line 46

def (*args)
  set!(:metadata, *(args.empty? ? [true] : args))
end

#require(*args) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/batali/b_file.rb', line 64

def require(*args)
  result = ::Kernel.require(*args)
  instance_exec do
    class << self
      ::Object.constants.each do |const_name|
        next if const_name == :Config
        const_set(const_name, ::Object.const_get(const_name))
      end
    end
  end
  result
end

#restrict(*args) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/batali/b_file.rb', line 37

def restrict(*args)
  unless(self[:restrict])
    set!(:restrict, ::AttributeStruct::CollapseArray.new.push(args))
  else
    self[:restrict].push(args)
  end
  self
end

#source(*args) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/batali/b_file.rb', line 19

def source(*args)
  unless(self[:source])
    set!(:source, ::AttributeStruct::CollapseArray.new.push(args))
  else
    self[:source].push(args)
  end
  self
end