boxgrinder-core 0.3.13 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ v0.3.14
2
+
3
+ * [BGBUILD-373] Remove hashery dependency
4
+
1
5
  v0.3.13
2
6
 
3
7
  * [BGBUILD-364] Validate length of appliance name
data/Manifest CHANGED
@@ -6,6 +6,8 @@ Rakefile
6
6
  lib/boxgrinder-core.rb
7
7
  lib/boxgrinder-core/appliance-parser.rb
8
8
  lib/boxgrinder-core/appliance-validator.rb
9
+ lib/boxgrinder-core/astruct.rb
10
+ lib/boxgrinder-core/astruct_mixin.rb
9
11
  lib/boxgrinder-core/compat/color.rb
10
12
  lib/boxgrinder-core/compat/yaml19.rb
11
13
  lib/boxgrinder-core/errors.rb
data/Rakefile CHANGED
@@ -26,7 +26,7 @@ Echoe.new("boxgrinder-core") do |p|
26
26
  p.summary = "Core library for BoxGrinder"
27
27
  p.url = "http://boxgrinder.org"
28
28
  p.email = "info@boxgrinder.org"
29
- p.runtime_dependencies = ['hashery >=1.3.0', 'kwalify >=0.7.2', 'term-ansicolor >=1.0.0']
29
+ p.runtime_dependencies = ['kwalify >=0.7.2', 'term-ansicolor >=1.0.0']
30
30
  p.runtime_dependencies << 'open4 >=1.0.0' unless RUBY_PLATFORM =~ /java/
31
31
  end
32
32
 
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "boxgrinder-core"
5
- s.version = "0.3.13"
5
+ s.version = "0.3.14"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Marek Goldmann"]
9
- s.date = "2012-08-22"
9
+ s.date = "2012-09-04"
10
10
  s.description = "Core library for BoxGrinder"
11
11
  s.email = "info@boxgrinder.org"
12
- s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/appliance-parser.rb", "lib/boxgrinder-core/appliance-validator.rb", "lib/boxgrinder-core/compat/color.rb", "lib/boxgrinder-core/compat/yaml19.rb", "lib/boxgrinder-core/errors.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-definition-helper.rb", "lib/boxgrinder-core/helpers/appliance-transformation-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.6.yaml"]
13
- s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/appliance-parser.rb", "lib/boxgrinder-core/appliance-validator.rb", "lib/boxgrinder-core/compat/color.rb", "lib/boxgrinder-core/compat/yaml19.rb", "lib/boxgrinder-core/errors.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-definition-helper.rb", "lib/boxgrinder-core/helpers/appliance-transformation-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.6.yaml", "rubygem-boxgrinder-core.spec", "spec/appliance-parser-spec.rb", "spec/appliance-validator-spec.rb", "spec/helpers/appliance-config-helper-spec.rb", "spec/helpers/appliance-definition-helper-spec.rb", "spec/helpers/appliance-transformation-helper-spec.rb", "spec/helpers/exec-helper-spec.rb", "spec/helpers/log-helper-spec.rb", "spec/models/appliance-config-spec.rb", "spec/models/config-spec.rb", "spec/rcov_helper.rb", "spec/rspec/ls/one", "spec/rspec/ls/two", "spec/rspec/src/appliances/0.8.x.appl", "spec/rspec/src/appliances/0.9.x-invalid.appl", "spec/rspec/src/appliances/0.9.x.appl", "spec/rspec/src/appliances/comments.appl", "spec/rspec/src/appliances/ephemeral-repo.appl", "spec/rspec/src/appliances/full.appl", "spec/rspec/src/appliances/invalid-yaml.appl", "spec/rspec/src/appliances/legacy.appl", "spec/rspec/src/appliances/repo.appl", "spec/rspec/src/config/empty", "spec/rspec/src/config/valid", "spec/spec_helper.rb", "boxgrinder-core.gemspec"]
12
+ s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/appliance-parser.rb", "lib/boxgrinder-core/appliance-validator.rb", "lib/boxgrinder-core/astruct.rb", "lib/boxgrinder-core/astruct_mixin.rb", "lib/boxgrinder-core/compat/color.rb", "lib/boxgrinder-core/compat/yaml19.rb", "lib/boxgrinder-core/errors.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-definition-helper.rb", "lib/boxgrinder-core/helpers/appliance-transformation-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.6.yaml"]
13
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/appliance-parser.rb", "lib/boxgrinder-core/appliance-validator.rb", "lib/boxgrinder-core/astruct.rb", "lib/boxgrinder-core/astruct_mixin.rb", "lib/boxgrinder-core/compat/color.rb", "lib/boxgrinder-core/compat/yaml19.rb", "lib/boxgrinder-core/errors.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-definition-helper.rb", "lib/boxgrinder-core/helpers/appliance-transformation-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.6.yaml", "rubygem-boxgrinder-core.spec", "spec/appliance-parser-spec.rb", "spec/appliance-validator-spec.rb", "spec/helpers/appliance-config-helper-spec.rb", "spec/helpers/appliance-definition-helper-spec.rb", "spec/helpers/appliance-transformation-helper-spec.rb", "spec/helpers/exec-helper-spec.rb", "spec/helpers/log-helper-spec.rb", "spec/models/appliance-config-spec.rb", "spec/models/config-spec.rb", "spec/rcov_helper.rb", "spec/rspec/ls/one", "spec/rspec/ls/two", "spec/rspec/src/appliances/0.8.x.appl", "spec/rspec/src/appliances/0.9.x-invalid.appl", "spec/rspec/src/appliances/0.9.x.appl", "spec/rspec/src/appliances/comments.appl", "spec/rspec/src/appliances/ephemeral-repo.appl", "spec/rspec/src/appliances/full.appl", "spec/rspec/src/appliances/invalid-yaml.appl", "spec/rspec/src/appliances/legacy.appl", "spec/rspec/src/appliances/repo.appl", "spec/rspec/src/config/empty", "spec/rspec/src/config/valid", "spec/spec_helper.rb", "boxgrinder-core.gemspec"]
14
14
  s.homepage = "http://boxgrinder.org"
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Boxgrinder-core", "--main", "README"]
16
16
  s.require_paths = ["lib"]
@@ -22,18 +22,15 @@ Gem::Specification.new do |s|
22
22
  s.specification_version = 3
23
23
 
24
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_runtime_dependency(%q<hashery>, [">= 1.3.0"])
26
25
  s.add_runtime_dependency(%q<kwalify>, [">= 0.7.2"])
27
26
  s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.0.0"])
28
27
  s.add_runtime_dependency(%q<open4>, [">= 1.0.0"])
29
28
  else
30
- s.add_dependency(%q<hashery>, [">= 1.3.0"])
31
29
  s.add_dependency(%q<kwalify>, [">= 0.7.2"])
32
30
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.0"])
33
31
  s.add_dependency(%q<open4>, [">= 1.0.0"])
34
32
  end
35
33
  else
36
- s.add_dependency(%q<hashery>, [">= 1.3.0"])
37
34
  s.add_dependency(%q<kwalify>, [">= 0.7.2"])
38
35
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.0"])
39
36
  s.add_dependency(%q<open4>, [">= 1.0.0"])
@@ -0,0 +1,16 @@
1
+ require 'boxgrinder-core/astruct_mixin'
2
+
3
+ module BoxGrinder
4
+
5
+ class AStruct < Hash
6
+
7
+ include AStructMixin
8
+
9
+ def initialize(hash=nil, cascade_for_nils=true)
10
+ cascade_for_nils! if cascade_for_nils
11
+ hash.each { |k,v| self[k]=v } if hash
12
+ end
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,59 @@
1
+ module BoxGrinder
2
+
3
+ module AStructMixin
4
+
5
+ def cascade_for_nils!
6
+ @cascade_for_nils = true
7
+ self
8
+ end
9
+
10
+ def key?(key)
11
+ super( key ) || super( key.to_sym ) || super( key.to_s )
12
+ end
13
+
14
+ def [](key)
15
+ r = [key, key.to_sym, key.to_s].find { |fk| !super(fk).nil? }
16
+ transform_entry( key, super(r) )
17
+ end
18
+
19
+ def method_missing(sym, *args, &blk)
20
+ type = sym.to_s[-1,1]
21
+ name = sym.to_s.gsub(/[=!?]$/, '').to_sym
22
+ case type
23
+ when '='
24
+ self[name] = args.first
25
+ when '!'
26
+ __send__(name, *args, &blk)
27
+ when '?'
28
+ self[name]
29
+ else
30
+ if key?(name)
31
+ self[name]
32
+ elsif @cascade_for_nils
33
+ self[name] = AStruct.new.cascade_for_nils!
34
+ self[name]
35
+ else
36
+ nil
37
+ end
38
+ end
39
+ end
40
+
41
+ def transform_entry(for_key, entry)
42
+ case(entry)
43
+ when AStructMixin
44
+ entry
45
+ when Hash
46
+ entry.extend(AStructMixin)
47
+ when Array
48
+ entry.map!{|i| transform_entry(for_key, i)}
49
+ else
50
+ entry
51
+ end
52
+ end
53
+
54
+ def inspect
55
+ "AStruct<#{super.to_s}>"
56
+ end
57
+ end
58
+
59
+ end
@@ -78,7 +78,7 @@ module BoxGrinder
78
78
  # to get reliable status for processes both on MRI and JRuby
79
79
  #
80
80
  # http://jira.codehaus.org/browse/JRUBY-5673
81
- status = OpenCascade.new(:exitstatus => 0)
81
+ status = AStruct.new(:exitstatus => 0)
82
82
 
83
83
  fakepid, status = Process.waitpid2(pid) if process_alive?(pid)
84
84
 
@@ -17,7 +17,7 @@
17
17
  # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
18
 
19
19
  require 'rubygems'
20
- require 'hashery/opencascade'
20
+ require 'boxgrinder-core/astruct'
21
21
 
22
22
  module BoxGrinder
23
23
  class ApplianceConfig
@@ -28,14 +28,14 @@ module BoxGrinder
28
28
 
29
29
  @default_repos = true
30
30
 
31
- @os = OpenCascade.new
31
+ @os = AStruct.new
32
32
 
33
33
  @os.name = nil
34
34
  @os.version = nil
35
35
  @os.password = nil
36
36
  @os.pae = true
37
37
 
38
- @hardware = OpenCascade.new
38
+ @hardware = AStruct.new
39
39
 
40
40
  @hardware.cpus = 1
41
41
  @hardware.memory = 256
@@ -106,7 +106,7 @@ module BoxGrinder
106
106
  end
107
107
 
108
108
  def initialize_paths
109
- @path = OpenCascade.new
109
+ @path = AStruct.new
110
110
 
111
111
  @path.os = "#{@os.name}/#{@os.version}"
112
112
  @path.version = "#{@version}.#{@release}"
@@ -17,12 +17,12 @@
17
17
  # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
18
 
19
19
  require 'rubygems'
20
- require 'hashery/opencascade'
20
+ require 'boxgrinder-core/astruct'
21
21
  require 'yaml'
22
22
  require 'etc'
23
23
 
24
24
  module BoxGrinder
25
- class Config < OpenCascade
25
+ class Config < AStruct
26
26
  def initialize(values = {})
27
27
  super({})
28
28
 
@@ -90,4 +90,4 @@ module BoxGrinder
90
90
  end
91
91
  end
92
92
  end
93
- end
93
+ end
@@ -15,7 +15,7 @@ mapping:
15
15
  "release":
16
16
  type: int
17
17
  "os":
18
- class: OpenCascade
18
+ class: AStruct
19
19
  type: map
20
20
  mapping:
21
21
  "name":
@@ -28,7 +28,7 @@ mapping:
28
28
  "password":
29
29
  type: str
30
30
  "hardware":
31
- class: OpenCascade
31
+ class: AStruct
32
32
  type: map
33
33
  name: Hardware
34
34
  mapping:
@@ -15,7 +15,7 @@ mapping:
15
15
  "release":
16
16
  type: int
17
17
  "os":
18
- class: OpenCascade
18
+ class: AStruct
19
19
  type: map
20
20
  mapping:
21
21
  "name":
@@ -28,7 +28,7 @@ mapping:
28
28
  "password":
29
29
  type: str
30
30
  "hardware":
31
- class: OpenCascade
31
+ class: AStruct
32
32
  type: map
33
33
  name: Hardware
34
34
  mapping:
@@ -15,7 +15,7 @@ mapping:
15
15
  "release":
16
16
  type: int
17
17
  "os":
18
- class: OpenCascade
18
+ class: AStruct
19
19
  type: map
20
20
  mapping:
21
21
  "name":
@@ -28,7 +28,7 @@ mapping:
28
28
  "password":
29
29
  type: str
30
30
  "hardware":
31
- class: OpenCascade
31
+ class: AStruct
32
32
  type: map
33
33
  name: Hardware
34
34
  mapping:
@@ -11,7 +11,7 @@
11
11
 
12
12
  Summary: Core library for BoxGrinder
13
13
  Name: rubygem-%{gem_name}
14
- Version: 0.3.13
14
+ Version: 0.3.14
15
15
  Release: 1%{?dist}
16
16
  Group: Development/Languages
17
17
  License: LGPLv3+
@@ -20,13 +20,11 @@ Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
20
20
 
21
21
  Requires: ruby(abi) = %{rubyabi}
22
22
  Requires: rubygem(open4)
23
- Requires: rubygem(hashery)
24
23
  Requires: rubygem(kwalify)
25
24
  Requires: rubygem(term-ansicolor)
26
25
 
27
26
  BuildRequires: rubygem(rake)
28
27
  BuildRequires: rubygem(open4)
29
- BuildRequires: rubygem(hashery)
30
28
  BuildRequires: rubygem(echoe)
31
29
  BuildRequires: rubygem(kwalify)
32
30
  BuildRequires: rubygems-devel
@@ -89,6 +87,10 @@ popd
89
87
  %{gem_docdir}
90
88
 
91
89
  %changelog
90
+ * Tue Sep 4 2012 Marc Savy <msavy@redhat.com> - 0.3.14
91
+ - Upstream release: 0.3.14
92
+ - [BGBUILD-373] Remove hashery dependency
93
+
92
94
  * Mon Jun 18 2012 Marc Savy <msavy@redhat.com> - 0.3.13
93
95
  - Upstream release: 0.3.13
94
96
  - [BGBUILD-364] Validate length of appliance name
@@ -17,7 +17,7 @@
17
17
  # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
18
 
19
19
  require 'boxgrinder-core/appliance-validator'
20
- require 'hashery/opencascade'
20
+ require 'boxgrinder-core/astruct'
21
21
 
22
22
  module BoxGrinder
23
23
  describe ApplianceValidator do
@@ -32,21 +32,21 @@ module BoxGrinder
32
32
  context "repository" do
33
33
  it "should generate error when no baseurl or mirrorlist is specified for repository" do
34
34
  a = []
35
- @validator.validate_hook({}, OpenCascade.new(:name => 'Repository'), '/', a)
35
+ @validator.validate_hook({}, AStruct.new(:name => 'Repository'), '/', a)
36
36
  a.size.should == 1
37
37
  a.first.message.should == 'Please specify either a baseurl or a mirrorlist.'
38
38
  end
39
39
 
40
40
  it "should generate error when both baseurl and mirrorlist are specified for repository" do
41
41
  a = []
42
- @validator.validate_hook({'baseurl' => 'abc', 'mirrorlist' => 'def'}, OpenCascade.new(:name => 'Repository'), '/', a)
42
+ @validator.validate_hook({'baseurl' => 'abc', 'mirrorlist' => 'def'}, AStruct.new(:name => 'Repository'), '/', a)
43
43
  a.size.should == 1
44
44
  a.first.message.should == 'Please specify either a baseurl or a mirrorlist.'
45
45
  end
46
46
 
47
47
  it "should pass if baseurl or mirrorlist is specified for repository" do
48
48
  a = []
49
- @validator.validate_hook({'baseurl' => 'abc'}, OpenCascade.new(:name => 'Repository'), '/', a)
49
+ @validator.validate_hook({'baseurl' => 'abc'}, AStruct.new(:name => 'Repository'), '/', a)
50
50
  a.size.should == 0
51
51
  end
52
52
  end
@@ -54,14 +54,14 @@ module BoxGrinder
54
54
  context "hardware" do
55
55
  it "should allow only multiplicity of 64 for memory" do
56
56
  a = []
57
- @validator.validate_hook({'memory' => 235}, OpenCascade.new(:name => 'Hardware'), '/', a)
57
+ @validator.validate_hook({'memory' => 235}, AStruct.new(:name => 'Hardware'), '/', a)
58
58
  a.size.should == 1
59
59
  a.first.message.should == "Specified memory amount: 235 is invalid. The value must be a multiple of 64."
60
60
  end
61
61
 
62
62
  it "should pass if the memory is 256" do
63
63
  a = []
64
- @validator.validate_hook({'memory' => 256}, OpenCascade.new(:name => 'Hardware'), '/', a)
64
+ @validator.validate_hook({'memory' => 256}, AStruct.new(:name => 'Hardware'), '/', a)
65
65
  a.size.should == 0
66
66
  end
67
67
  end
@@ -40,7 +40,7 @@ module BoxGrinder
40
40
  @stdout.should_receive(:each)
41
41
  @stderr.should_receive(:each)
42
42
  Process.should_receive(:getpgid)
43
- Process.should_receive(:waitpid2).with(1234).and_return([1234, OpenCascade.new(:exitstatus => 1)])
43
+ Process.should_receive(:waitpid2).with(1234).and_return([1234, AStruct.new(:exitstatus => 1)])
44
44
 
45
45
  @o4.should_receive(:send).with(:popen4, 'exitstatus').and_return([@pid, @stdin, @stdout, @stderr])
46
46
 
@@ -51,7 +51,7 @@ module BoxGrinder
51
51
  @stdout.should_receive(:each)
52
52
  @stderr.should_receive(:each)
53
53
  Process.should_receive(:getpgid)
54
- Process.should_receive(:waitpid2).with(1234).and_return([1234, OpenCascade.new(:exitstatus => 1)])
54
+ Process.should_receive(:waitpid2).with(1234).and_return([1234, AStruct.new(:exitstatus => 1)])
55
55
 
56
56
  @o4.should_receive(:send).with(:popen4, 'exitstatus').and_return([@pid, @stdin, @stdout, @stderr])
57
57
 
@@ -63,7 +63,7 @@ module BoxGrinder
63
63
  @stdout.should_receive(:each)
64
64
  @stderr.should_receive(:each)
65
65
  Process.should_receive(:getpgid)
66
- Process.should_receive(:waitpid2).with(1234).and_return([1234, OpenCascade.new(:exitstatus => 0)])
66
+ Process.should_receive(:waitpid2).with(1234).and_return([1234, AStruct.new(:exitstatus => 0)])
67
67
 
68
68
  @o4.should_receive(:send).with(:popen4, 'abc').and_return([@pid, @stdin, @stdout, @stderr])
69
69
 
@@ -85,7 +85,7 @@ module BoxGrinder
85
85
  @stdout.should_receive(:each)
86
86
  @stderr.should_receive(:each)
87
87
  Process.should_receive(:getpgid)
88
- Process.should_receive(:waitpid2).with(1234).and_return([1234, OpenCascade.new(:exitstatus => 0)])
88
+ Process.should_receive(:waitpid2).with(1234).and_return([1234, AStruct.new(:exitstatus => 0)])
89
89
 
90
90
  @helper = ExecHelper.new(:log => log)
91
91
  @o4.should_receive(:send).with(:popen4, "ala ma kota i jest fajnie").and_return([@pid, @stdin, @stdout, @stderr])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxgrinder-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.13
4
+ version: 0.3.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-22 00:00:00.000000000 Z
12
+ date: 2012-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: hashery
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.3.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.3.0
30
14
  - !ruby/object:Gem::Dependency
31
15
  name: kwalify
32
16
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +70,8 @@ extra_rdoc_files:
86
70
  - lib/boxgrinder-core.rb
87
71
  - lib/boxgrinder-core/appliance-parser.rb
88
72
  - lib/boxgrinder-core/appliance-validator.rb
73
+ - lib/boxgrinder-core/astruct.rb
74
+ - lib/boxgrinder-core/astruct_mixin.rb
89
75
  - lib/boxgrinder-core/compat/color.rb
90
76
  - lib/boxgrinder-core/compat/yaml19.rb
91
77
  - lib/boxgrinder-core/errors.rb
@@ -109,6 +95,8 @@ files:
109
95
  - lib/boxgrinder-core.rb
110
96
  - lib/boxgrinder-core/appliance-parser.rb
111
97
  - lib/boxgrinder-core/appliance-validator.rb
98
+ - lib/boxgrinder-core/astruct.rb
99
+ - lib/boxgrinder-core/astruct_mixin.rb
112
100
  - lib/boxgrinder-core/compat/color.rb
113
101
  - lib/boxgrinder-core/compat/yaml19.rb
114
102
  - lib/boxgrinder-core/errors.rb