lotus-assets 0.0.0 → 0.1.0

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.
@@ -0,0 +1,67 @@
1
+ require 'lotus/assets/compiler'
2
+
3
+ module Lotus
4
+ module Assets
5
+ # Precompile all the assets, coming from all the applications and third
6
+ # party gems into the public directory of the project.
7
+ #
8
+ # @since 0.1.0
9
+ # @api private
10
+ class Precompiler
11
+ # Return a new instance
12
+ #
13
+ # @param configuration [Lotus::Assets::Configuration] the MAIN
14
+ # configuration of Lotus::Assets
15
+ #
16
+ # @param duplicates [Array<Lotus::Assets>] the duplicated frameworks
17
+ # (one for each application)
18
+ #
19
+ # @return [Lotus::Assets::Precompiler] a new instance
20
+ #
21
+ # @since 0.1.0
22
+ # @api private
23
+ def initialize(configuration, duplicates)
24
+ @configuration = configuration
25
+ @duplicates = duplicates
26
+ end
27
+
28
+ # Start the process
29
+ #
30
+ # @since 0.1.0
31
+ # @api private
32
+ def run
33
+ clear_public_directory
34
+ precompile
35
+ end
36
+
37
+ private
38
+
39
+ # @since 0.1.0
40
+ # @api private
41
+ def clear_public_directory
42
+ public_directory = Lotus::Assets.configuration.public_directory
43
+ public_directory.rmtree if public_directory.exist?
44
+ end
45
+
46
+ # @since 0.1.0
47
+ # @api private
48
+ def precompile
49
+ applications.each do |duplicate|
50
+ config = duplicate.configuration
51
+ config.compile true
52
+
53
+ config.files.each do |file|
54
+ Compiler.compile(config, file)
55
+ end
56
+ end
57
+ end
58
+
59
+ # @since 0.1.0
60
+ # @api private
61
+ def applications
62
+ @duplicates.empty? ?
63
+ [Lotus::Assets] : @duplicates
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,5 +1,8 @@
1
1
  module Lotus
2
2
  module Assets
3
- VERSION = "0.0.0"
3
+ # Defines the version
4
+ #
5
+ # @since 0.1.0
6
+ VERSION = '0.1.0'.freeze
4
7
  end
5
8
  end
@@ -4,20 +4,34 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'lotus/assets/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "lotus-assets"
7
+ spec.name = 'lotus-assets'
8
8
  spec.version = Lotus::Assets::VERSION
9
- spec.authors = ["Luca Guidi"]
10
- spec.email = ["me@lucaguidi.com"]
11
- spec.summary = %q{Lotus assets}
12
- spec.description = %q{Assets management for Lotus}
13
- spec.homepage = "http://lotusrb.org"
14
- spec.license = "MIT"
9
+ spec.authors = ['Luca Guidi', 'Trung Lê', 'Alfonso Uceda']
10
+ spec.email = ['me@lucaguidi.com', 'trung.le@ruby-journal.com', 'uceda73@gmail.com']
11
+ spec.summary = %q{Assets management}
12
+ spec.description = %q{Assets management for Ruby web applications}
13
+ spec.homepage = 'http://lotusrb.org'
14
+ spec.license = 'MIT'
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0")
16
+ spec.files = `git ls-files -- lib/* bin/* CHANGELOG.md LICENSE.md README.md lotus-assets.gemspec`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
+ spec.required_ruby_version = '>= 2.0.0'
20
21
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake"
22
+ spec.add_runtime_dependency 'lotus-utils', '~> 0.6'
23
+ spec.add_runtime_dependency 'lotus-helpers', '~> 0.2', '>= 0.2.5'
24
+ spec.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.2'
25
+
26
+ spec.add_development_dependency 'bundler', '~> 1.6'
27
+ spec.add_development_dependency 'rake', '~> 10'
28
+ spec.add_development_dependency 'minitest', '~> 5'
29
+
30
+ spec.add_development_dependency 'yui-compressor', '~> 0.12'
31
+ spec.add_development_dependency 'uglifier', '~> 2.7'
32
+ spec.add_development_dependency 'closure-compiler', '~> 1.1'
33
+ spec.add_development_dependency 'sass', '~> 3.4'
34
+
35
+ spec.add_development_dependency 'coffee-script', '~> 2.3'
36
+ spec.add_development_dependency 'babel-transpiler', '~> 0.7'
23
37
  end
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lotus-assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
+ - Trung Lê
9
+ - Alfonso Uceda
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2014-05-13 00:00:00.000000000 Z
13
+ date: 2016-01-12 00:00:00.000000000 Z
12
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: lotus-utils
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.6'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '0.6'
29
+ - !ruby/object:Gem::Dependency
30
+ name: lotus-helpers
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '0.2'
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: 0.2.5
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '0.2'
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 0.2.5
49
+ - !ruby/object:Gem::Dependency
50
+ name: tilt
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '2.0'
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: 2.0.2
59
+ type: :runtime
60
+ prerelease: false
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - "~>"
64
+ - !ruby/object:Gem::Version
65
+ version: '2.0'
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.2
13
69
  - !ruby/object:Gem::Dependency
14
70
  name: bundler
15
71
  requirement: !ruby/object:Gem::Requirement
@@ -28,29 +84,150 @@ dependencies:
28
84
  name: rake
29
85
  requirement: !ruby/object:Gem::Requirement
30
86
  requirements:
31
- - - ">="
87
+ - - "~>"
32
88
  - !ruby/object:Gem::Version
33
- version: '0'
89
+ version: '10'
34
90
  type: :development
35
91
  prerelease: false
36
92
  version_requirements: !ruby/object:Gem::Requirement
37
93
  requirements:
38
- - - ">="
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '5'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '5'
111
+ - !ruby/object:Gem::Dependency
112
+ name: yui-compressor
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.12'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.12'
125
+ - !ruby/object:Gem::Dependency
126
+ name: uglifier
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.7'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.7'
139
+ - !ruby/object:Gem::Dependency
140
+ name: closure-compiler
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.1'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: sass
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.4'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.4'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coffee-script
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.3'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2.3'
181
+ - !ruby/object:Gem::Dependency
182
+ name: babel-transpiler
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
39
186
  - !ruby/object:Gem::Version
40
- version: '0'
41
- description: Assets management for Lotus
187
+ version: '0.7'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.7'
195
+ description: Assets management for Ruby web applications
42
196
  email:
43
197
  - me@lucaguidi.com
44
- executables: []
198
+ - trung.le@ruby-journal.com
199
+ - uceda73@gmail.com
200
+ executables:
201
+ - lotus-assets
45
202
  extensions: []
46
203
  extra_rdoc_files: []
47
204
  files:
48
- - ".gitignore"
49
- - Gemfile
50
- - LICENSE.txt
205
+ - CHANGELOG.md
206
+ - LICENSE.md
51
207
  - README.md
52
- - Rakefile
208
+ - bin/lotus-assets
53
209
  - lib/lotus/assets.rb
210
+ - lib/lotus/assets/bundler.rb
211
+ - lib/lotus/assets/cache.rb
212
+ - lib/lotus/assets/compiler.rb
213
+ - lib/lotus/assets/compressors/abstract.rb
214
+ - lib/lotus/assets/compressors/builtin_javascript.rb
215
+ - lib/lotus/assets/compressors/builtin_stylesheet.rb
216
+ - lib/lotus/assets/compressors/closure_javascript.rb
217
+ - lib/lotus/assets/compressors/javascript.rb
218
+ - lib/lotus/assets/compressors/jsmin.rb
219
+ - lib/lotus/assets/compressors/null_compressor.rb
220
+ - lib/lotus/assets/compressors/sass_stylesheet.rb
221
+ - lib/lotus/assets/compressors/stylesheet.rb
222
+ - lib/lotus/assets/compressors/uglifier_javascript.rb
223
+ - lib/lotus/assets/compressors/yui_javascript.rb
224
+ - lib/lotus/assets/compressors/yui_stylesheet.rb
225
+ - lib/lotus/assets/config/global_sources.rb
226
+ - lib/lotus/assets/config/manifest.rb
227
+ - lib/lotus/assets/config/sources.rb
228
+ - lib/lotus/assets/configuration.rb
229
+ - lib/lotus/assets/helpers.rb
230
+ - lib/lotus/assets/precompiler.rb
54
231
  - lib/lotus/assets/version.rb
55
232
  - lotus-assets.gemspec
56
233
  homepage: http://lotusrb.org
@@ -65,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
65
242
  requirements:
66
243
  - - ">="
67
244
  - !ruby/object:Gem::Version
68
- version: '0'
245
+ version: 2.0.0
69
246
  required_rubygems_version: !ruby/object:Gem::Requirement
70
247
  requirements:
71
248
  - - ">="
@@ -73,9 +250,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
250
  version: '0'
74
251
  requirements: []
75
252
  rubyforge_project:
76
- rubygems_version: 2.2.2
253
+ rubygems_version: 2.5.1
77
254
  signing_key:
78
255
  specification_version: 4
79
- summary: Lotus assets
256
+ summary: Assets management
80
257
  test_files: []
81
258
  has_rdoc:
data/.gitignore DELETED
@@ -1,22 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.bundle
19
- *.so
20
- *.o
21
- *.a
22
- mkmf.log
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in lotus-assets.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,2 +0,0 @@
1
- require "bundler/gem_tasks"
2
-