Class: Bixby::Provision::Manifest

Inherits:
Object
  • Object
show all
Includes:
Log
Defined in:
lib/bixby/provision/manifest.rb,
lib/bixby/provision/manifest/dsl_proxy.rb

Defined Under Namespace

Classes: DSLProxy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Manifest

Returns a new instance of Manifest.



13
14
15
16
17
18
# File 'lib/bixby/provision/manifest.rb', line 13

def initialize(filename)
  test_sudo_access()
  @filename = filename
  @digest = Digest::SHA2.new(256).file(filename).hexdigest()
  load_manifest(filename)
end

Instance Attribute Details

#digestObject (readonly)

Returns the value of attribute digest.



11
12
13
# File 'lib/bixby/provision/manifest.rb', line 11

def digest
  @digest
end

#filenameObject (readonly)

Returns the value of attribute filename.



11
12
13
# File 'lib/bixby/provision/manifest.rb', line 11

def filename
  @filename
end

Instance Method Details

#load_manifest(filename) ⇒ Object



20
21
22
23
24
25
# File 'lib/bixby/provision/manifest.rb', line 20

def load_manifest(filename)
  dsl = DSLProxy.new(self)
  str = File.read(filename)
  logger.debug { sprintf("read %s line(s)", str.split(/\n/).size) }
  dsl.instance_eval(str, filename, 1)
end