batali 0.1.6 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
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: