sinatra-asset-pipeline 1.0.2 → 2.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ea9cdc31eda9cd009ae416d90d103d58ed64b35b
4
- data.tar.gz: a9357ca9790df0fc9f444ad427d2ab03687038dc
2
+ SHA256:
3
+ metadata.gz: 9cec3df6f0289bef1c0db199f1b654a1e825ef7f96ba741bc2f0090ff8e41897
4
+ data.tar.gz: 8da93e08c26c9b7a0a53a3e18056da3b7b75ed855879e0ffdf966c4499b11ecf
5
5
  SHA512:
6
- metadata.gz: 22cfc6dc399c67a93a484809cbda70107796904c0e01e94c94ab0ec779eb56690694fa6b3b84a0d97a9b8600ed60d068d51c71376d983f50502893734feeaae6
7
- data.tar.gz: 4bae9254229fe60d210e652d63d0394f97501ecf84970f98b0fb46e422a1ed07e9f5a4c42bfffb36bbb2f0d96779798d5cd2a475c7136b326160c7f00af18933
6
+ metadata.gz: 9d4fb537058f9190bf41010a44b1308cb23016cd288f87a7f1f3292a84b0e8be73791fe0de8e4d34599eb56f46a20d49fa2396098d2a4e75d5b637844ffd2aff
7
+ data.tar.gz: c31675a15e9cace2d3dc89c881b62522286c8892701c4d0ed71f3a4acf1783616938159f2a453a33ecaac71861d7fb41efb306e73a4fdc14a4aecd0250f9c7cd
data/README.md CHANGED
@@ -14,7 +14,7 @@ gem install sinatra-asset-pipeline
14
14
  Or, include it in your project's `Gemfile`:
15
15
 
16
16
  ```ruby
17
- gem 'sinatra-asset-pipeline', '~> 1.0'
17
+ gem 'sinatra-asset-pipeline', '~> 2.2.0'
18
18
  ```
19
19
 
20
20
  # Usage
@@ -91,6 +91,9 @@ class App < Sinatra::Base
91
91
 
92
92
  # Register the AssetPipeline extension, make sure this goes after all customization
93
93
  register Sinatra::AssetPipeline
94
+
95
+ # If you need more environments
96
+ set :precompiled_environments, %i(staging uat production)
94
97
 
95
98
  get '/' do
96
99
  'hi'
@@ -15,13 +15,14 @@ module Sinatra
15
15
  app.set_default :assets_prefix, '/assets'
16
16
  app.set_default :assets_digest, true
17
17
  app.set_default :assets_debug, false
18
+ app.set_default :precompiled_environments, %i(staging production)
18
19
 
19
20
  app.set :static, :true
20
21
  app.set :static_cache_control, [:public, :max_age => 60 * 60 * 24 * 365]
21
22
 
22
23
  app.configure do
23
24
  app.assets_paths.each do |path|
24
- app.sprockets.append_path File.join(app.root, path)
25
+ app.sprockets.append_path(Pathname.new(path).absolute? ? path : File.join(app.root, path))
25
26
  end
26
27
 
27
28
  ::Sprockets::Helpers.configure do |config|
@@ -32,14 +33,14 @@ module Sinatra
32
33
  end
33
34
  end
34
35
 
35
- app.configure :staging, :production do
36
+ app.configure(*app.precompiled_environments) do
36
37
  ::Sprockets::Helpers.configure do |config|
37
38
  config.manifest = ::Sprockets::Manifest.new(app.sprockets, app.assets_public_path)
38
39
  config.prefix = app.assets_prefix unless app.assets_prefix.nil?
39
40
  end
40
41
  end
41
42
 
42
- app.configure :staging, :production do
43
+ app.configure(*app.precompiled_environments) do
43
44
  app.sprockets.css_compressor = app.assets_css_compressor unless app.assets_css_compressor.nil?
44
45
  app.sprockets.js_compressor = app.assets_js_compressor unless app.assets_js_compressor.nil?
45
46
 
@@ -1,28 +1,58 @@
1
1
  require 'rake'
2
- require 'rake/tasklib'
3
2
  require 'rake/sprocketstask'
3
+ require 'sprockets'
4
4
 
5
5
  module Sinatra
6
6
  module AssetPipeline
7
- class Task < Rake::TaskLib
8
- def initialize(app_klass)
7
+ class Task < Rake::SprocketsTask
8
+ attr_accessor :app
9
+
10
+ def initialize(app = nil)
11
+ self.app = app
12
+ super()
13
+ end
14
+
15
+ def environment
16
+ app ? app.sprockets : super
17
+ end
18
+
19
+ def assets
20
+ app ? app.assets_precompile : super
21
+ end
22
+
23
+ def manifest
24
+ app ? ::Sprockets::Manifest.new(environment.index, app.assets_public_path) : super
25
+ end
26
+
27
+ def define
9
28
  namespace :assets do
10
- desc "Precompile assets"
29
+ %w( precompile clean clobber ).each { |task| Rake::Task[task].clear if Rake::Task.task_defined?(task) }
30
+
31
+ desc "Compile all assets"
11
32
  task :precompile do
12
- environment = app_klass.sprockets
13
- manifest = ::Sprockets::Manifest.new(environment.index, app_klass.assets_public_path)
14
- manifest.compile(app_klass.assets_precompile)
33
+ with_logger do
34
+ manifest.compile(assets)
35
+ end
36
+ end
37
+
38
+ desc "Remove old compiled assets"
39
+ task :clean, [:keep] do |t, args|
40
+ with_logger do
41
+ manifest.clean(Integer(args.keep || self.keep))
42
+ end
15
43
  end
16
44
 
17
- desc "Clean assets"
18
- task :clean do
19
- FileUtils.rm_rf(app_klass.assets_public_path)
45
+ desc "Remove compiled assets"
46
+ task :clobber do
47
+ with_logger do
48
+ manifest.clobber
49
+ end
20
50
  end
21
51
  end
22
52
  end
23
53
 
24
- def self.define!(app_klass)
25
- self.new app_klass
54
+ def self.define!(app)
55
+ self.new(app)
26
56
  end
27
57
  end
28
58
  end
@@ -1,5 +1,5 @@
1
1
  module Sinatra
2
2
  module AssetPipeline
3
- VERSION = '1.0.2'
3
+ VERSION = '2.2.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-asset-pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joakim Ekberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-17 00:00:00.000000000 Z
11
+ date: 2020-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '11.2'
19
+ version: '12.3'
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: '11.2'
26
+ version: '12.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sinatra
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.4'
33
+ version: '2.0'
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: '1.4'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sass
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.4'
47
+ version: '3.5'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.4'
54
+ version: '3.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: coffee-script
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.6'
75
+ version: '3.7'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.6'
82
+ version: '3.7'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: sprockets-helpers
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.1'
89
+ version: '1.2'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.1'
96
+ version: '1.2'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '3.5'
103
+ version: '3.7'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '3.5'
110
+ version: '3.7'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rack-test
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.6'
117
+ version: '0.8'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.6'
124
+ version: '0.8'
125
125
  description: An asset pipeline implementation for Sinatra based on Sprockets with
126
126
  support for SASS, CoffeeScript and ERB.
127
127
  email:
@@ -153,8 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.6.2
156
+ rubygems_version: 3.0.3
158
157
  signing_key:
159
158
  specification_version: 4
160
159
  summary: An asset pipeline implementation for Sinatra.