hanami-assets 1.2.0 → 1.3.0.beta1
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +5 -5
- data/hanami-assets.gemspec +2 -2
- data/lib/hanami/assets/compiler.rb +30 -3
- data/lib/hanami/assets/config/manifest.rb +1 -1
- data/lib/hanami/assets/configuration.rb +11 -1
- data/lib/hanami/assets/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '04581104608ddd3d41551cd5ae26efff9e735a41ddeef42b656f65d839e8b9ef'
|
|
4
|
+
data.tar.gz: 986c4559a71b18de44b17aed0a0958969c73c3b1a3a21eb8cb474f3ebdcd20e3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e285ddacc5fa3755405c16b0872274412622503e2046280f8c87185c810c023df315499606dc7b381c1902c2a0a702c8ef36e08295fee9561cb5907997cd797e
|
|
7
|
+
data.tar.gz: c1ede8b4430fb8133ee91b33a8e2abbf3cfeb1d444a28b5b4f5c1ad3633fd2b8d38f6539dd1350ee98a51cb7c8d24f24d84f6f2973d2e15000fdf7b8140e42c3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# Hanami::Assets
|
|
2
2
|
Assets management for Ruby web applications
|
|
3
3
|
|
|
4
|
+
## v1.3.0.beta1 - 2018-08-08
|
|
5
|
+
### Added
|
|
6
|
+
- [Paweł Świątkowski] Preserve directory structure of assets at the precompile time.
|
|
7
|
+
- [Luca Guidi] Official support for JRuby 9.2.0.0
|
|
8
|
+
|
|
4
9
|
## v1.2.0 - 2018-04-11
|
|
5
10
|
|
|
6
11
|
## v1.2.0.rc2 - 2018-04-06
|
data/README.md
CHANGED
|
@@ -4,11 +4,11 @@ Assets management for Ruby web projects
|
|
|
4
4
|
|
|
5
5
|
## Status
|
|
6
6
|
|
|
7
|
-
[](https://badge.fury.io/rb/hanami-assets)
|
|
8
|
+
[](https://travis-ci.org/hanami/assets)
|
|
9
|
+
[](https://circleci.com/gh/hanami/assets/tree/master)
|
|
10
|
+
[](https://codecov.io/gh/hanami/assets)
|
|
11
|
+
[](https://depfu.com/github/hanami/assets?project=Bundler)
|
|
12
12
|
[](http://inch-ci.org/github/hanami/assets)
|
|
13
13
|
|
|
14
14
|
## Contact
|
data/hanami-assets.gemspec
CHANGED
|
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.require_paths = ['lib']
|
|
21
21
|
spec.required_ruby_version = '>= 2.3.0'
|
|
22
22
|
|
|
23
|
-
spec.add_runtime_dependency 'hanami-utils', '~> 1.
|
|
24
|
-
spec.add_runtime_dependency 'hanami-helpers', '~> 1.
|
|
23
|
+
spec.add_runtime_dependency 'hanami-utils', '~> 1.3.beta'
|
|
24
|
+
spec.add_runtime_dependency 'hanami-helpers', '~> 1.3.beta'
|
|
25
25
|
spec.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.2'
|
|
26
26
|
|
|
27
27
|
spec.add_development_dependency 'bundler'
|
|
@@ -148,13 +148,40 @@ module Hanami
|
|
|
148
148
|
# @since 0.1.0
|
|
149
149
|
# @api private
|
|
150
150
|
def destination
|
|
151
|
-
@destination ||= @configuration.destination_directory.join(
|
|
151
|
+
@destination ||= @configuration.destination_directory.join(destination_name)
|
|
152
152
|
end
|
|
153
153
|
|
|
154
|
-
# @since
|
|
154
|
+
# @since 1.3.0
|
|
155
155
|
# @api private
|
|
156
|
-
def
|
|
156
|
+
def relative_destination_name(name: @name, add_prefix: true)
|
|
157
|
+
result = name.to_s
|
|
158
|
+
base_dir = @configuration.base_directories.detect { |dir| result.start_with?(dir) }
|
|
159
|
+
if base_dir
|
|
160
|
+
prefix = @configuration.prefix
|
|
161
|
+
base_dir = prefix.join(base_dir) if add_prefix
|
|
162
|
+
result = name.relative_path_from(Pathname.new(base_dir))
|
|
163
|
+
end
|
|
164
|
+
result
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# @since 1.3.0
|
|
168
|
+
# @api private
|
|
169
|
+
def absolute_destination_name
|
|
157
170
|
result = ::File.basename(@name)
|
|
171
|
+
@configuration.sources.each do |source|
|
|
172
|
+
if @name.to_s.start_with?(source.to_s)
|
|
173
|
+
result = @name.relative_path_from(source)
|
|
174
|
+
break
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
relative_destination_name(name: Pathname.new(result), add_prefix: false)
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# @since 0.1.0
|
|
181
|
+
# @api private
|
|
182
|
+
def destination_name
|
|
183
|
+
result = @name.relative? ? relative_destination_name : absolute_destination_name
|
|
184
|
+
result = result.to_s
|
|
158
185
|
|
|
159
186
|
if compile?
|
|
160
187
|
result.scan(/\A[[[:alnum:]][\-\_]]*\.[[\w]]*/).first || result
|
|
@@ -61,7 +61,7 @@ module Hanami
|
|
|
61
61
|
#
|
|
62
62
|
# @since 0.1.0
|
|
63
63
|
# @api private
|
|
64
|
-
def method_missing(*) # rubocop:disable Style/
|
|
64
|
+
def method_missing(*) # rubocop:disable Style/MethodMissingSuper
|
|
65
65
|
::Kernel.raise(
|
|
66
66
|
::Hanami::Assets::MissingManifestFileError.new(@configuration.manifest_path)
|
|
67
67
|
)
|
|
@@ -82,7 +82,7 @@ module Hanami
|
|
|
82
82
|
def self.for(base)
|
|
83
83
|
# TODO: this implementation is similar to Hanami::Controller::Configuration consider to extract it into Hanami::Utils
|
|
84
84
|
namespace = Utils::String.namespace(base)
|
|
85
|
-
framework = Utils::Class.
|
|
85
|
+
framework = Utils::Class.load("#{namespace}::Assets") || Utils::Class.load!('Hanami::Assets')
|
|
86
86
|
framework.configuration
|
|
87
87
|
end
|
|
88
88
|
|
|
@@ -384,6 +384,16 @@ module Hanami
|
|
|
384
384
|
pathname.absolute? ? pathname : find(file)
|
|
385
385
|
end
|
|
386
386
|
|
|
387
|
+
# @since 1.3.0
|
|
388
|
+
def base_directories
|
|
389
|
+
@base_directories ||= %w[
|
|
390
|
+
stylesheets
|
|
391
|
+
javascripts
|
|
392
|
+
images
|
|
393
|
+
fonts
|
|
394
|
+
]
|
|
395
|
+
end
|
|
396
|
+
|
|
387
397
|
# Find a file from sources
|
|
388
398
|
#
|
|
389
399
|
# @since 0.1.0
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hanami-assets
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0.beta1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luca Guidi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-08-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: hanami-utils
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 1.3.beta
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 1.3.beta
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: hanami-helpers
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 1.3.beta
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 1.3.beta
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: tilt
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,12 +240,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
240
240
|
version: 2.3.0
|
|
241
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
242
|
requirements:
|
|
243
|
-
- - "
|
|
243
|
+
- - ">"
|
|
244
244
|
- !ruby/object:Gem::Version
|
|
245
|
-
version:
|
|
245
|
+
version: 1.3.1
|
|
246
246
|
requirements: []
|
|
247
247
|
rubyforge_project:
|
|
248
|
-
rubygems_version: 2.7.
|
|
248
|
+
rubygems_version: 2.7.7
|
|
249
249
|
signing_key:
|
|
250
250
|
specification_version: 4
|
|
251
251
|
summary: Assets management
|