sinatra-asset-pipeline 1.0.2 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
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.