zassets 0.2.7 → 0.2.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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +390 -39
  3. data/lib/zassets/config.rb +18 -5
  4. data/lib/zassets/version.rb +1 -1
  5. metadata +62 -136
  6. data/.gitignore +0 -3
  7. data/Gemfile +0 -5
  8. data/Guardfile +0 -12
  9. data/LICENSE +0 -23
  10. data/Rakefile +0 -7
  11. data/features/builder/build.feature +0 -14
  12. data/features/builder/manifest.feature +0 -13
  13. data/features/cli/default_action.feature +0 -5
  14. data/features/cli/usage.feature +0 -8
  15. data/features/cli/version.feature +0 -5
  16. data/features/config/file.feature +0 -10
  17. data/features/config/paths.feature +0 -11
  18. data/features/engines/coffee.feature +0 -16
  19. data/features/engines/sass.feature +0 -28
  20. data/features/server/handler.feature +0 -13
  21. data/features/server/interrupt.feature +0 -6
  22. data/features/server/logging.feature +0 -7
  23. data/features/server/public_file.feature +0 -18
  24. data/features/server/static_files.feature +0 -15
  25. data/features/step_definitions/builder_steps.rb +0 -41
  26. data/features/step_definitions/config_steps.rb +0 -8
  27. data/features/step_definitions/manifest_steps.rb +0 -7
  28. data/features/step_definitions/server_steps.rb +0 -49
  29. data/features/support/env.rb +0 -3
  30. data/features/support/env_aruba.rb +0 -16
  31. data/features/support/env_cucumber-doc_string.rb +0 -23
  32. data/features/support/env_server.rb +0 -91
  33. data/spec/fixtures/assets/app.js +0 -1
  34. data/spec/fixtures/config/zassets.yaml +0 -1
  35. data/spec/fixtures/public/hello.txt +0 -1
  36. data/spec/fixtures/public/index.html +0 -1
  37. data/spec/spec_helper.rb +0 -3
  38. data/spec/support/fixtures_helpers.rb +0 -13
  39. data/spec/zassets-plugins-dummy.rb +0 -17
  40. data/spec/zassets/builder_spec.rb +0 -52
  41. data/spec/zassets/cli_spec.rb +0 -158
  42. data/spec/zassets/config_spec.rb +0 -139
  43. data/spec/zassets/memory_file_spec.rb +0 -46
  44. data/spec/zassets/server_spec.rb +0 -116
  45. data/spec/zassets/sprockets_env_spec.rb +0 -44
  46. data/zassets.gemspec +0 -30
@@ -33,10 +33,7 @@ module ZAssets
33
33
 
34
34
  def load_options(filepath = DEFAULT_CONFIG_PATH)
35
35
  return {} unless options = YAML.load_file(filepath)
36
- options.keys.each do |key|
37
- options[(key.to_sym rescue key) || key] = options.delete(key)
38
- end
39
- options
36
+ symbolize_keys options
40
37
  end
41
38
 
42
39
  def default_config_file?
@@ -63,9 +60,25 @@ module ZAssets
63
60
 
64
61
  private
65
62
 
63
+ def symbolize_keys(hash)
64
+ case hash
65
+ when Hash
66
+ Hash[hash.map do |k, v|
67
+ [k.respond_to?(:to_sym) ? k.to_sym : k, symbolize_keys(v)]
68
+ end]
69
+ when Enumerable
70
+ hash.map { |v| symbolize_keys v }
71
+ else
72
+ hash
73
+ end
74
+ end
75
+
66
76
  def load_plugins!
67
77
  @options[:plugins].each do |plugin|
68
- require "zassets-plugins-#{plugin}"
78
+ require 'zassets-plugins-%s' % case plugin
79
+ when Hash then plugin[:name]
80
+ when Symbol, String then plugin
81
+ end
69
82
  end
70
83
 
71
84
  ::ZAssets.const_defined? :Plugins
@@ -1,3 +1,3 @@
1
1
  module ZAssets
2
- VERSION = '0.2.7'
2
+ VERSION = '0.2.8'
3
3
  end
metadata CHANGED
@@ -1,212 +1,165 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zassets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
5
- prerelease:
4
+ version: 0.2.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Thibault Jouan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-04 00:00:00.000000000 Z
11
+ date: 2015-05-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: sprockets
14
+ name: coffee-script
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 2.10.0
19
+ version: '2.2'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 2.10.0
26
+ version: '2.2'
30
27
  - !ruby/object:Gem::Dependency
31
- name: puma
28
+ name: execjs
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 2.6.0
33
+ version: '2.0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: 2.6.0
40
+ version: '2.0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: sass
42
+ name: puma
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 3.2.10
47
+ version: '2.6'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
- version: 3.2.10
54
+ version: '2.6'
62
55
  - !ruby/object:Gem::Dependency
63
- name: execjs
56
+ name: sass
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: 2.0.2
61
+ version: '3.2'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
- version: 2.0.2
68
+ version: '3.2'
78
69
  - !ruby/object:Gem::Dependency
79
- name: coffee-script
70
+ name: sprockets
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - "~>"
84
74
  - !ruby/object:Gem::Version
85
- version: 2.2.0
75
+ version: '2.10'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - "~>"
92
81
  - !ruby/object:Gem::Version
93
- version: 2.2.0
82
+ version: '2.10'
94
83
  - !ruby/object:Gem::Dependency
95
- name: rspec
84
+ name: aruba
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ~>
87
+ - - "~>"
100
88
  - !ruby/object:Gem::Version
101
- version: 3.0.0.beta1
89
+ version: '0.5'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ~>
94
+ - - "~>"
108
95
  - !ruby/object:Gem::Version
109
- version: 3.0.0.beta1
96
+ version: '0.5'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: cucumber
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ~>
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: 1.3.10
103
+ version: '2.0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ~>
108
+ - - "~>"
124
109
  - !ruby/object:Gem::Version
125
- version: 1.3.10
110
+ version: '2.0'
126
111
  - !ruby/object:Gem::Dependency
127
- name: aruba
112
+ name: httparty
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ~>
115
+ - - "~>"
132
116
  - !ruby/object:Gem::Version
133
- version: 0.5.3
117
+ version: '0.12'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ~>
122
+ - - "~>"
140
123
  - !ruby/object:Gem::Version
141
- version: 0.5.3
124
+ version: '0.12'
142
125
  - !ruby/object:Gem::Dependency
143
- name: httparty
126
+ name: rake
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ~>
129
+ - - ">="
148
130
  - !ruby/object:Gem::Version
149
- version: 0.12.0
131
+ version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ~>
136
+ - - ">="
156
137
  - !ruby/object:Gem::Version
157
- version: 0.12.0
138
+ version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
- name: rake
140
+ name: rspec
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - "~>"
164
144
  - !ruby/object:Gem::Version
165
- version: '0'
145
+ version: '3.2'
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - "~>"
172
151
  - !ruby/object:Gem::Version
173
- version: '0'
152
+ version: '3.2'
174
153
  description: Assets server and builder
175
154
  email: tj@a13.fr
176
155
  executables:
177
156
  - zassets
178
157
  extensions: []
179
- extra_rdoc_files: []
158
+ extra_rdoc_files:
159
+ - README.md
180
160
  files:
181
- - .gitignore
182
- - Gemfile
183
- - Guardfile
184
- - LICENSE
185
161
  - README.md
186
- - Rakefile
187
162
  - bin/zassets
188
- - features/builder/build.feature
189
- - features/builder/manifest.feature
190
- - features/cli/default_action.feature
191
- - features/cli/usage.feature
192
- - features/cli/version.feature
193
- - features/config/file.feature
194
- - features/config/paths.feature
195
- - features/engines/coffee.feature
196
- - features/engines/sass.feature
197
- - features/server/handler.feature
198
- - features/server/interrupt.feature
199
- - features/server/logging.feature
200
- - features/server/public_file.feature
201
- - features/server/static_files.feature
202
- - features/step_definitions/builder_steps.rb
203
- - features/step_definitions/config_steps.rb
204
- - features/step_definitions/manifest_steps.rb
205
- - features/step_definitions/server_steps.rb
206
- - features/support/env.rb
207
- - features/support/env_aruba.rb
208
- - features/support/env_cucumber-doc_string.rb
209
- - features/support/env_server.rb
210
163
  - lib/zassets.rb
211
164
  - lib/zassets/builder.rb
212
165
  - lib/zassets/cli.rb
@@ -216,55 +169,28 @@ files:
216
169
  - lib/zassets/server.rb
217
170
  - lib/zassets/sprockets_env.rb
218
171
  - lib/zassets/version.rb
219
- - spec/fixtures/assets/app.js
220
- - spec/fixtures/config/zassets.yaml
221
- - spec/fixtures/public/hello.txt
222
- - spec/fixtures/public/index.html
223
- - spec/spec_helper.rb
224
- - spec/support/fixtures_helpers.rb
225
- - spec/zassets-plugins-dummy.rb
226
- - spec/zassets/builder_spec.rb
227
- - spec/zassets/cli_spec.rb
228
- - spec/zassets/config_spec.rb
229
- - spec/zassets/memory_file_spec.rb
230
- - spec/zassets/server_spec.rb
231
- - spec/zassets/sprockets_env_spec.rb
232
- - zassets.gemspec
233
172
  homepage: https://rubygems.org/gems/zassets
234
- licenses: []
173
+ licenses:
174
+ - BSD-3-Clause
175
+ metadata: {}
235
176
  post_install_message:
236
177
  rdoc_options: []
237
178
  require_paths:
238
179
  - lib
239
180
  required_ruby_version: !ruby/object:Gem::Requirement
240
- none: false
241
181
  requirements:
242
- - - ! '>='
182
+ - - ">="
243
183
  - !ruby/object:Gem::Version
244
184
  version: '0'
245
185
  required_rubygems_version: !ruby/object:Gem::Requirement
246
- none: false
247
186
  requirements:
248
- - - ! '>='
187
+ - - ">="
249
188
  - !ruby/object:Gem::Version
250
189
  version: '0'
251
190
  requirements: []
252
191
  rubyforge_project:
253
- rubygems_version: 1.8.23
192
+ rubygems_version: 2.4.5
254
193
  signing_key:
255
- specification_version: 3
256
- summary: zassets-0.2.7
257
- test_files:
258
- - spec/fixtures/assets/app.js
259
- - spec/fixtures/config/zassets.yaml
260
- - spec/fixtures/public/hello.txt
261
- - spec/fixtures/public/index.html
262
- - spec/spec_helper.rb
263
- - spec/support/fixtures_helpers.rb
264
- - spec/zassets-plugins-dummy.rb
265
- - spec/zassets/builder_spec.rb
266
- - spec/zassets/cli_spec.rb
267
- - spec/zassets/config_spec.rb
268
- - spec/zassets/memory_file_spec.rb
269
- - spec/zassets/server_spec.rb
270
- - spec/zassets/sprockets_env_spec.rb
194
+ specification_version: 4
195
+ summary: Assets server and builder
196
+ test_files: []
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- /Gemfile-custom.rb
2
- /Gemfile.lock
3
- /tmp/
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- eval File.read('Gemfile-custom.rb') if File.exist?('Gemfile-custom.rb')
data/Guardfile DELETED
@@ -1,12 +0,0 @@
1
- guard :cucumber, cli: '--format pretty --quiet' do
2
- watch(%r{\Afeatures/.+\.feature\z})
3
- watch(%r{\Afeatures/support/.+\.rb\z}) { 'features' }
4
- watch(%r{\Afeatures/step_definitions/.+_steps\.rb\z}) { 'features' }
5
- end
6
-
7
- guard :rspec do
8
- watch(%r{\Aspec/.+_spec\.rb\z})
9
- watch(%r{\Alib/(.+)\.rb\z}) { |m| "spec/#{m[1]}_spec.rb" }
10
-
11
- watch(%r{\Aspec/support/.+\.rb\z}) { 'spec' }
12
- end
data/LICENSE DELETED
@@ -1,23 +0,0 @@
1
- Copyright 2012 Thibault Jouan. All rights reserved.
2
-
3
- Redistribution and use in source and binary forms, with or without
4
- modification, are permitted provided that the following conditions are met:
5
- * Redistributions of source code must retain the above copyright notice, this
6
- list of conditions and the following disclaimer.
7
- * Redistributions in binary form must reproduce the above copyright notice,
8
- this list of conditions and the following disclaimer in the documentation
9
- and/or other materials provided with the distribution.
10
- * Neither the name of the software nor the names of its contributors may be
11
- used to endorse or promote products derived from this software without
12
- specific prior written permission.
13
-
14
- THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
15
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
- DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
18
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Rakefile DELETED
@@ -1,7 +0,0 @@
1
- require 'rspec/core/rake_task'
2
-
3
- desc 'Run all specs'
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
-
7
- task default: [:spec]
@@ -1,14 +0,0 @@
1
- Feature: Builder
2
-
3
- Scenario: builds assets
4
- Given this config file:
5
- """
6
- paths:
7
- - app
8
- build:
9
- - app.js
10
- """
11
- And a file named "app/app.js" with "some_content"
12
- When I build
13
- Then the built file "public/assets/app-*.js" must exist
14
- And the built file "public/assets/app-*.js" must contain "some_content"
@@ -1,13 +0,0 @@
1
- Feature: Manifest
2
-
3
- Scenario: builds a manifests of built assets
4
- Given this config file:
5
- """
6
- paths:
7
- - app
8
- build:
9
- - app.js
10
- """
11
- And an empty file named "app/app.js"
12
- When I build
13
- Then the manifest should include build path for "app.js"