batali 0.1.6 → 0.1.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d366f8505f42d3de37db98957d97c9375aed1e92
4
- data.tar.gz: 4fc9d0f05e4cbe6b96f0e39814c75d34820ec5ee
3
+ metadata.gz: e518ea6ec9a6d6bb6374bb42532cdece1b016cab
4
+ data.tar.gz: 3b8640ca8b7450a2d177eba35225ca23c1fa083e
5
5
  SHA512:
6
- metadata.gz: ec2b50fe38838317715d79ed0de57b467c853397f54ceb0da9c49b9d7f51d2c3b6e4cbd04e89a926d82425c8dc0000ed41ac8e7fbc42a0d20290c6fbd71527f6
7
- data.tar.gz: dda1337c5320c000f5689f25c27b2b4389b50f1c1b0e908c0206f668e8368674b6a8b204f2b336d1dd11579b471ee7179113de849ac16ef1a041f127909cf0a7
6
+ metadata.gz: eb6553c1ec9cf13319939da5f558559ba2d16c63a84895199c5982d652a958c537e320c7724e0fb67995ebb2a0c323662e1d494d347ab2afae58a8253128ee6d
7
+ data.tar.gz: 21c1665c35095d1f802fe95ee4c2e59bcd5a25ff8f18b7303c16b99f820e67318c2e68465131118f638161066557435ac9068e8c3eb58309bd28d3de329fe155
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # v0.1.8
2
+ * Provide helpful exception message when source is not found
3
+ * Allow using default classes when building items
4
+ * Removing constant swapping in grimoire
5
+
1
6
  # v0.1.6
2
7
  * Bug fix for proper Batali file loading when single cookbook defined
3
8
  * Bug fix for cookbook install when using path source (git as well)
@@ -6,7 +6,7 @@ module Batali
6
6
 
7
7
  include Bogo::Memoization
8
8
 
9
- attribute :cookbook, Unit, :multiple => true, :coerce => lambda{|v| Unit.new(v)}, :default => []
9
+ attribute :cookbook, Batali::Unit, :multiple => true, :coerce => lambda{|v| Batali::Unit.new(v)}, :default => []
10
10
 
11
11
  # Build manifest from given path. If no file exists, empty
12
12
  # manifest will be provided.
data/lib/batali/monkey.rb CHANGED
@@ -16,11 +16,3 @@ module Batali
16
16
  end
17
17
  end
18
18
  end
19
-
20
- Grimoire.send(:remove_const, :VERSION_CLASS)
21
- Grimoire.send(:remove_const, :DEPENDENCY_CLASS)
22
- Grimoire.send(:remove_const, :REQUIREMENT_CLASS)
23
-
24
- Grimoire.const_set(:VERSION_CLASS, Batali::UnitVersion)
25
- Grimoire.const_set(:DEPENDENCY_CLASS, Batali::UnitDependency)
26
- Grimoire.const_set(:REQUIREMENT_CLASS, Batali::UnitRequirement)
@@ -0,0 +1,8 @@
1
+ require 'batali'
2
+
3
+ module Batali
4
+ # Customized Unit
5
+ class RequirementList < Grimoire::RequirementList
6
+ attribute :requirements, [Batali::UnitDependency, Grimoire::DEPENDENCY_CLASS], :multiple => true, :default => [], :coerce => lambda{|v| Batali::UnitDependency.new(val.first, *val.last)}
7
+ end
8
+ end
data/lib/batali/source.rb CHANGED
@@ -52,7 +52,12 @@ module Batali
52
52
  unless(type.to_s.include?('::'))
53
53
  type = [self.name, Bogo::Utility.camel(type)].join('::')
54
54
  end
55
- Bogo::Utility.constantize(type).new(args.merge(:type => type))
55
+ klass = Bogo::Utility.constantize(type)
56
+ unless(klass)
57
+ raise TypeError.new "Unknown source type provided `#{type}`!"
58
+ else
59
+ klass.new(args.merge(:type => type))
60
+ end
56
61
  end
57
62
 
58
63
  end
data/lib/batali/unit.rb CHANGED
@@ -4,5 +4,7 @@ module Batali
4
4
  # Customized Unit
5
5
  class Unit < Grimoire::Unit
6
6
  attribute :source, Source, :required => true, :coerce => lambda{|v| Batali::Source.build(v)}
7
+ attribute :dependencies, [Batali::UnitDependency, Grimoire::DEPENDENCY_CLASS], :multiple => true, :default => [], :coerce => lambda{|val| Batali::UnitDependency.new(val.first, *val.last)}
8
+ attribute :version, [Batali::UnitVersion, Grimoire::VERSION_CLASS], :required => true, :coerce => lambda{|val| Batali::UnitVersion.new(val)}
7
9
  end
8
10
  end
@@ -1,4 +1,4 @@
1
1
  module Batali
2
2
  # Current version
3
- VERSION = Gem::Version.new('0.1.6')
3
+ VERSION = Gem::Version.new('0.1.8')
4
4
  end
data/lib/batali.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'bogo-cli'
2
2
  require 'grimoire'
3
+ require 'batali/monkey'
3
4
 
4
5
  module Batali
5
6
 
@@ -8,6 +9,7 @@ module Batali
8
9
  autoload :Git, 'batali/git'
9
10
  autoload :Manifest, 'batali/manifest'
10
11
  autoload :Origin, 'batali/origin'
12
+ autoload :RequirementList, 'batali/requirement_list'
11
13
  autoload :ScoreKeeper, 'batali/score_keeper'
12
14
  autoload :Source, 'batali/source'
13
15
  autoload :Unit, 'batali/unit'
@@ -17,5 +19,4 @@ module Batali
17
19
  end
18
20
 
19
21
  require 'batali/b_file'
20
- require 'batali/monkey'
21
22
  require 'batali/version'
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: batali
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2015-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: attribute_struct
15
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.2.14
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
20
+ requirement: !ruby/object:Gem::Requirement
23
21
  requirements:
24
- - - ">="
22
+ - - '>='
25
23
  - !ruby/object:Gem::Version
26
24
  version: 0.2.14
25
+ prerelease: false
26
+ type: :runtime
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: grimoire
29
- requirement: !ruby/object:Gem::Requirement
29
+ version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.1.4
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
34
+ requirement: !ruby/object:Gem::Requirement
37
35
  requirements:
38
- - - ">="
36
+ - - '>='
39
37
  - !ruby/object:Gem::Version
40
38
  version: 0.1.4
39
+ prerelease: false
40
+ type: :runtime
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bogo
43
- requirement: !ruby/object:Gem::Requirement
43
+ version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.1.12
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
51
49
  requirements:
52
- - - ">="
50
+ - - '>='
53
51
  - !ruby/object:Gem::Version
54
52
  version: 0.1.12
53
+ prerelease: false
54
+ type: :runtime
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bogo-cli
57
- requirement: !ruby/object:Gem::Requirement
57
+ version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.1.8
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
62
+ requirement: !ruby/object:Gem::Requirement
65
63
  requirements:
66
- - - ">="
64
+ - - '>='
67
65
  - !ruby/object:Gem::Version
68
66
  version: 0.1.8
67
+ prerelease: false
68
+ type: :runtime
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bogo-config
71
- requirement: !ruby/object:Gem::Requirement
71
+ version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.1.10
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
76
+ requirement: !ruby/object:Gem::Requirement
79
77
  requirements:
80
- - - ">="
78
+ - - '>='
81
79
  - !ruby/object:Gem::Version
82
80
  version: 0.1.10
81
+ prerelease: false
82
+ type: :runtime
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: git
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
85
90
  requirement: !ruby/object:Gem::Requirement
86
91
  requirements:
87
- - - ">="
92
+ - - '>='
88
93
  - !ruby/object:Gem::Version
89
94
  version: '0'
90
- type: :runtime
91
95
  prerelease: false
96
+ type: :runtime
97
+ - !ruby/object:Gem::Dependency
98
+ name: http
92
99
  version_requirements: !ruby/object:Gem::Requirement
93
100
  requirements:
94
- - - ">="
101
+ - - '>='
95
102
  - !ruby/object:Gem::Version
96
103
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: http
99
104
  requirement: !ruby/object:Gem::Requirement
100
105
  requirements:
101
- - - ">="
106
+ - - '>='
102
107
  - !ruby/object:Gem::Version
103
108
  version: '0'
104
- type: :runtime
105
109
  prerelease: false
110
+ type: :runtime
111
+ - !ruby/object:Gem::Dependency
112
+ name: minitest
106
113
  version_requirements: !ruby/object:Gem::Requirement
107
114
  requirements:
108
- - - ">="
115
+ - - '>='
109
116
  - !ruby/object:Gem::Version
110
117
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: minitest
113
118
  requirement: !ruby/object:Gem::Requirement
114
119
  requirements:
115
- - - ">="
120
+ - - '>='
116
121
  - !ruby/object:Gem::Version
117
122
  version: '0'
118
- type: :development
119
123
  prerelease: false
124
+ type: :development
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
120
127
  version_requirements: !ruby/object:Gem::Requirement
121
128
  requirements:
122
- - - ">="
129
+ - - '>='
123
130
  - !ruby/object:Gem::Version
124
131
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: pry
127
132
  requirement: !ruby/object:Gem::Requirement
128
133
  requirements:
129
- - - ">="
134
+ - - '>='
130
135
  - !ruby/object:Gem::Version
131
136
  version: '0'
132
- type: :development
133
137
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
138
+ type: :development
139
139
  description: Magic
140
140
  email: code@chrisroberts.org
141
141
  executables:
@@ -143,59 +143,59 @@ executables:
143
143
  extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
- - CHANGELOG.md
147
- - CONTRIBUTING.md
148
- - LICENSE
149
- - README.md
150
- - batali.gemspec
151
- - bin/batali
152
146
  - lib/batali.rb
153
- - lib/batali/b_file.rb
154
- - lib/batali/command.rb
155
- - lib/batali/command/configure.rb
156
- - lib/batali/command/install.rb
157
- - lib/batali/command/resolve.rb
158
- - lib/batali/command/update.rb
159
- - lib/batali/config.rb
160
- - lib/batali/git.rb
161
- - lib/batali/manifest.rb
162
- - lib/batali/monkey.rb
163
147
  - lib/batali/origin.rb
164
- - lib/batali/origin/git.rb
165
- - lib/batali/origin/path.rb
166
- - lib/batali/origin/remote_site.rb
148
+ - lib/batali/manifest.rb
167
149
  - lib/batali/score_keeper.rb
150
+ - lib/batali/utility.rb
168
151
  - lib/batali/source.rb
152
+ - lib/batali/command.rb
153
+ - lib/batali/version.rb
154
+ - lib/batali/monkey.rb
155
+ - lib/batali/requirement_list.rb
156
+ - lib/batali/unit.rb
157
+ - lib/batali/config.rb
158
+ - lib/batali/git.rb
159
+ - lib/batali/b_file.rb
160
+ - lib/batali/unit_loader.rb
169
161
  - lib/batali/source/git.rb
170
162
  - lib/batali/source/path.rb
171
163
  - lib/batali/source/site.rb
172
- - lib/batali/unit.rb
173
- - lib/batali/unit_loader.rb
174
- - lib/batali/utility.rb
175
- - lib/batali/version.rb
164
+ - lib/batali/command/configure.rb
165
+ - lib/batali/command/install.rb
166
+ - lib/batali/command/update.rb
167
+ - lib/batali/command/resolve.rb
168
+ - lib/batali/origin/remote_site.rb
169
+ - lib/batali/origin/git.rb
170
+ - lib/batali/origin/path.rb
171
+ - bin/batali
172
+ - batali.gemspec
173
+ - README.md
174
+ - CHANGELOG.md
175
+ - CONTRIBUTING.md
176
+ - LICENSE
176
177
  homepage: https://github.com/hw-labs/batali
177
178
  licenses:
178
179
  - Apache 2.0
179
180
  metadata: {}
180
- post_install_message:
181
+ post_install_message:
181
182
  rdoc_options: []
182
183
  require_paths:
183
184
  - lib
184
185
  required_ruby_version: !ruby/object:Gem::Requirement
185
186
  requirements:
186
- - - ">="
187
+ - - '>='
187
188
  - !ruby/object:Gem::Version
188
189
  version: '0'
189
190
  required_rubygems_version: !ruby/object:Gem::Requirement
190
191
  requirements:
191
- - - ">="
192
+ - - '>='
192
193
  - !ruby/object:Gem::Version
193
194
  version: '0'
194
195
  requirements: []
195
- rubyforge_project:
196
- rubygems_version: 2.2.2
197
- signing_key:
196
+ rubyforge_project:
197
+ rubygems_version: 2.1.9
198
+ signing_key:
198
199
  specification_version: 4
199
200
  summary: Magic
200
201
  test_files: []
201
- has_rdoc: