hanko 0.2.0 → 0.2.3
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 +5 -5
- data/.circleci/config.yml +36 -0
- data/Appraisals +10 -6
- data/README.md +1 -1
- data/gemfiles/{rails42.gemfile → rails52.gemfile} +1 -1
- data/gemfiles/{rails50.gemfile → rails60.gemfile} +1 -1
- data/gemfiles/{rails51.gemfile → rails61.gemfile} +1 -1
- data/gemfiles/rails70.gemfile +7 -0
- data/hanko.gemspec +3 -3
- data/lib/hanko/asset_url_helper.rb +3 -30
- data/lib/hanko/init.rb +3 -24
- data/lib/hanko/version.rb +1 -1
- metadata +19 -26
- data/.travis.yml +0 -17
- data/lib/hanko/asset_paths.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b7c881bf0e6cb59fe55c9d45e797cfa42d54aff3da61b6bd7b03f128505c8e15
|
4
|
+
data.tar.gz: 25416810932430b74d64167484d86d6d84d7c3ce1a39bf2191a3b1e41bb3f6bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d4563c4583cbf47de75482e55086e735acdf0350528120ae5244f5d84ea72038f6b34be5d7a0aecbe5dd398d41df65911b9ee4861b917b28c3d504a04a49bad
|
7
|
+
data.tar.gz: 7524d5f09e64238933f5fc1fc6bd829bc1cf4cff946de0d7ab3fd6bb8034811b232296377ae665bb90db9326da16a319061107576780006654a63d63c9f52958
|
@@ -0,0 +1,36 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
docker:
|
6
|
+
- image: cimg/ruby:3.1.0
|
7
|
+
environment:
|
8
|
+
- BUNDLE_PATH: /home/circleci/bundle
|
9
|
+
steps:
|
10
|
+
- checkout
|
11
|
+
- run:
|
12
|
+
name: build checksum target
|
13
|
+
command: |
|
14
|
+
cat hanko.gemspec gemfiles/* > /tmp/gem_target
|
15
|
+
- restore_cache:
|
16
|
+
keys:
|
17
|
+
- gem-202203151500-{{ checksum "/tmp/gem_target" }}-{{ .Branch }}
|
18
|
+
- gem-202203151500-{{ checksum "/tmp/gem_target" }}-
|
19
|
+
- gem-202203151500-
|
20
|
+
- run:
|
21
|
+
name: bundle install
|
22
|
+
command: |
|
23
|
+
bundle install
|
24
|
+
bundle exec appraisal install
|
25
|
+
- save_cache:
|
26
|
+
key: gem-202203151500-{{ checksum "/tmp/gem_target" }}-{{ .Branch }}
|
27
|
+
paths: /home/circleci/bundle
|
28
|
+
- run:
|
29
|
+
name: test
|
30
|
+
command: bundle exec appraisal rake test
|
31
|
+
|
32
|
+
|
33
|
+
workflows:
|
34
|
+
ci:
|
35
|
+
jobs:
|
36
|
+
- test
|
data/Appraisals
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
-
appraise "
|
2
|
-
gem "rails", "~>
|
1
|
+
appraise "rails52" do
|
2
|
+
gem "rails", "~> 5.2.0"
|
3
3
|
end
|
4
4
|
|
5
|
-
appraise "
|
6
|
-
gem "rails", "~>
|
5
|
+
appraise "rails60" do
|
6
|
+
gem "rails", "~> 6.0.0"
|
7
7
|
end
|
8
8
|
|
9
|
-
appraise "
|
10
|
-
gem "rails", "~>
|
9
|
+
appraise "rails61" do
|
10
|
+
gem "rails", "~> 6.1.0"
|
11
|
+
end
|
12
|
+
|
13
|
+
appraise "rails70" do
|
14
|
+
gem "rails", "~> 7.0.0"
|
11
15
|
end
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Hanko
|
2
2
|
|
3
|
-
[](http://badge.fury.io/rb/hanko) [](http://badge.fury.io/rb/hanko) [](https://codeclimate.com/github/tsukasaoishi/hanko)
|
4
4
|
|
5
5
|
Hanko add a asset fingerprint in query string of Rails asset url(image, javascript, stylesheet, etc).
|
6
6
|
Like this, ```/images/kaeruspoon.jpg?1af6d6f2f682f76f80e606aeaaee1680```
|
data/hanko.gemspec
CHANGED
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency "rails", ">=
|
22
|
+
spec.add_dependency "rails", ">= 5.2", "< 7.1"
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler"
|
25
|
-
spec.add_development_dependency "rake"
|
24
|
+
spec.add_development_dependency "bundler"
|
25
|
+
spec.add_development_dependency "rake"
|
26
26
|
spec.add_development_dependency "minitest"
|
27
27
|
spec.add_development_dependency "minitest-reporters"
|
28
28
|
spec.add_development_dependency 'appraisal'
|
@@ -3,41 +3,14 @@ module Hanko
|
|
3
3
|
URI_REGEXP = %r{^(?:[-a-z]+://|cid:|data:|//)}i
|
4
4
|
|
5
5
|
def asset_path(source, options = {})
|
6
|
-
|
7
|
-
|
8
|
-
return source if URI_REGEXP === source
|
9
|
-
|
10
|
-
if index = source.index(/[?#]/)
|
11
|
-
source, tail = source[0, index], source[index..-1]
|
12
|
-
end
|
13
|
-
|
14
|
-
if extname = compute_asset_extname(source, options)
|
15
|
-
source = "#{source}#{extname}"
|
16
|
-
end
|
17
|
-
|
18
|
-
if source[0] != ?/
|
19
|
-
options[:fingerprint] = !tail
|
20
|
-
source = compute_asset_path(source, options)
|
21
|
-
end
|
22
|
-
|
23
|
-
relative_url_root = defined?(config.relative_url_root) && config.relative_url_root
|
24
|
-
if relative_url_root
|
25
|
-
source = File.join(relative_url_root, source) unless source.starts_with?("#{relative_url_root}/")
|
26
|
-
end
|
27
|
-
|
28
|
-
if host = compute_asset_host(source, options)
|
29
|
-
source = File.join(host, source)
|
30
|
-
end
|
31
|
-
|
32
|
-
"#{source}#{tail}"
|
6
|
+
@_hanko_has_tail = source.match?(/[\?#]/)
|
7
|
+
super
|
33
8
|
end
|
34
9
|
alias_method :path_to_asset, :asset_path
|
35
10
|
|
36
11
|
def compute_asset_path(source, options = {})
|
37
|
-
fingerprint = options.delete(:fingerprint)
|
38
|
-
|
39
12
|
source = super
|
40
|
-
return source
|
13
|
+
return source if @_hanko_has_tail
|
41
14
|
|
42
15
|
asset_id = Hanko::Fingerprint.pon(config.assets_dir, source)
|
43
16
|
if asset_id.empty?
|
data/lib/hanko/init.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require "hanko/asset_url_helper"
|
2
|
+
|
1
3
|
module Hanko
|
2
4
|
class Init
|
3
5
|
def initialize(digest_class = nil)
|
@@ -6,30 +8,7 @@ module Hanko
|
|
6
8
|
|
7
9
|
def ready
|
8
10
|
Hanko::Fingerprint.digest_class = @digest_class if @digest_class
|
9
|
-
|
10
|
-
if exist_asset_paths?
|
11
|
-
prepend_asset_paths
|
12
|
-
else
|
13
|
-
prepend_asset_url_helper
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def prepend_asset_url_helper
|
18
|
-
require "hanko/asset_url_helper"
|
19
|
-
ActionView::Base.__send__(
|
20
|
-
:prepend, Hanko::AssetUrlHelper
|
21
|
-
)
|
22
|
-
end
|
23
|
-
|
24
|
-
def prepend_asset_paths
|
25
|
-
require "hanko/asset_paths"
|
26
|
-
ActionView::Helpers::AssetTagHelper::AssetPaths.__send__(
|
27
|
-
:prepend, Hanko::AssetPaths
|
28
|
-
)
|
29
|
-
end
|
30
|
-
|
31
|
-
def exist_asset_paths?
|
32
|
-
defined?(ActionView::Helpers::AssetTagHelper::AssetPaths)
|
11
|
+
ActionView::Base.prepend Hanko::AssetUrlHelper
|
33
12
|
end
|
34
13
|
end
|
35
14
|
end
|
data/lib/hanko/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tsukasaoishi
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,54 +16,48 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '7.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
29
|
+
version: '5.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '7.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
40
|
-
- - "<"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '2.0'
|
39
|
+
version: '0'
|
43
40
|
type: :development
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
44
|
- - ">="
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
50
|
-
- - "<"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '2.0'
|
46
|
+
version: '0'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: rake
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
56
50
|
requirements:
|
57
51
|
- - ">="
|
58
52
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0
|
53
|
+
version: '0'
|
60
54
|
type: :development
|
61
55
|
prerelease: false
|
62
56
|
version_requirements: !ruby/object:Gem::Requirement
|
63
57
|
requirements:
|
64
58
|
- - ">="
|
65
59
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0
|
60
|
+
version: '0'
|
67
61
|
- !ruby/object:Gem::Dependency
|
68
62
|
name: minitest
|
69
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,10 +108,10 @@ executables: []
|
|
114
108
|
extensions: []
|
115
109
|
extra_rdoc_files: []
|
116
110
|
files:
|
111
|
+
- ".circleci/config.yml"
|
117
112
|
- ".codeclimate.yml"
|
118
113
|
- ".gitignore"
|
119
114
|
- ".rubocop.yml"
|
120
|
-
- ".travis.yml"
|
121
115
|
- Appraisals
|
122
116
|
- CODE_OF_CONDUCT.md
|
123
117
|
- Gemfile
|
@@ -127,12 +121,12 @@ files:
|
|
127
121
|
- bin/console
|
128
122
|
- bin/setup
|
129
123
|
- bin/test
|
130
|
-
- gemfiles/
|
131
|
-
- gemfiles/
|
132
|
-
- gemfiles/
|
124
|
+
- gemfiles/rails52.gemfile
|
125
|
+
- gemfiles/rails60.gemfile
|
126
|
+
- gemfiles/rails61.gemfile
|
127
|
+
- gemfiles/rails70.gemfile
|
133
128
|
- hanko.gemspec
|
134
129
|
- lib/hanko.rb
|
135
|
-
- lib/hanko/asset_paths.rb
|
136
130
|
- lib/hanko/asset_url_helper.rb
|
137
131
|
- lib/hanko/digest.rb
|
138
132
|
- lib/hanko/fingerprint.rb
|
@@ -143,7 +137,7 @@ homepage: https://github.com/tsukasaoishi/hanko
|
|
143
137
|
licenses:
|
144
138
|
- MIT
|
145
139
|
metadata: {}
|
146
|
-
post_install_message:
|
140
|
+
post_install_message:
|
147
141
|
rdoc_options: []
|
148
142
|
require_paths:
|
149
143
|
- lib
|
@@ -158,9 +152,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
152
|
- !ruby/object:Gem::Version
|
159
153
|
version: '0'
|
160
154
|
requirements: []
|
161
|
-
|
162
|
-
|
163
|
-
signing_key:
|
155
|
+
rubygems_version: 3.2.15
|
156
|
+
signing_key:
|
164
157
|
specification_version: 4
|
165
158
|
summary: Add digest fingerprint (SHA256, MD5 and so on) in query string of Rails asset
|
166
159
|
url.
|
data/.travis.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
before_install:
|
3
|
-
- gem install bundler
|
4
|
-
before_script:
|
5
|
-
- bundle update
|
6
|
-
cache: bundler
|
7
|
-
rvm:
|
8
|
-
- 2.2.7
|
9
|
-
- 2.3.4
|
10
|
-
- 2.4.1
|
11
|
-
gemfile:
|
12
|
-
- gemfiles/rails42.gemfile
|
13
|
-
- gemfiles/rails50.gemfile
|
14
|
-
- gemfiles/rails51.gemfile
|
15
|
-
matrix:
|
16
|
-
fast_finish: true
|
17
|
-
bundler_args: --jobs 3 --retry 3
|