spritely 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/spritely/sprockets/manifest.rb +10 -7
- data/lib/spritely/version.rb +1 -1
- data/lib/spritely.rb +12 -2
- data/spec/spritely_spec.rb +17 -1
- data/spec/support/rails_app_helpers.rb +1 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1aeabc56574aebd3b05f381fe8ae100158ab1fa7
|
4
|
+
data.tar.gz: 6248f29cfd68142d27dc5037669ad7720d043996
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99d976b70aea6b8d0d16bc8e08d0e0184dbc0d7581efe79825894d1b4490fc56b68c4a42fd08c80eccf0fb07bff30c095a6b919edda7246e0f4d1b2fb948db7a
|
7
|
+
data.tar.gz: c3019d1f01e9b4ff07a3780b211d6cbbd5fdaddcc63d2c36b6daa33a7bb6b952c12e31fb888e135f9eaa37c8d732786913802611ed401fbe667ab1df22f5aa79
|
@@ -1,17 +1,20 @@
|
|
1
1
|
require 'sprockets/manifest'
|
2
|
-
require 'active_support/core_ext/module/aliasing'
|
3
2
|
|
4
|
-
module
|
3
|
+
module Spritely
|
5
4
|
# In order to hook into Sprockets' asset compilation appropriately, we must
|
6
5
|
# chain our own implementation of `compile`. Our extension calls up to the
|
7
6
|
# original, and then performs the same action on the generated sprite images,
|
8
7
|
# forcing the sprites to be part of the compiled asset manifest.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
module Sprockets
|
9
|
+
module Manifest
|
10
|
+
def compile(*args)
|
11
|
+
super
|
12
|
+
super(*Dir.glob(Spritely.directory.join('*.png')))
|
13
|
+
end
|
13
14
|
end
|
14
15
|
|
15
|
-
|
16
|
+
# TODO: Once we drop support for Ruby 2.0, stop using `send`.
|
17
|
+
# `Module#prepend` was made public in Ruby 2.1.
|
18
|
+
::Sprockets::Manifest.send(:prepend, Manifest)
|
16
19
|
end
|
17
20
|
end
|
data/lib/spritely/version.rb
CHANGED
data/lib/spritely.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'sass'
|
2
|
+
require 'sprockets/rails/version'
|
3
|
+
require 'sprockets/railtie'
|
2
4
|
require 'sprockets/version'
|
3
5
|
require 'spritely/sass_functions'
|
4
6
|
require 'spritely/sprockets/manifest'
|
@@ -7,7 +9,11 @@ require 'spritely/adapters/sprockets_3'
|
|
7
9
|
|
8
10
|
module Spritely
|
9
11
|
def self.environment
|
10
|
-
|
12
|
+
if sprockets_rails_version == 3
|
13
|
+
::Rails.application.assets || ::Sprockets::Railtie.build_environment(::Rails.application)
|
14
|
+
else
|
15
|
+
::Rails.application.assets
|
16
|
+
end
|
11
17
|
end
|
12
18
|
|
13
19
|
def self.directory
|
@@ -19,7 +25,11 @@ module Spritely
|
|
19
25
|
end
|
20
26
|
|
21
27
|
def self.sprockets_version
|
22
|
-
Gem::Version.new(Sprockets::VERSION).segments.first
|
28
|
+
Gem::Version.new(::Sprockets::VERSION).segments.first
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.sprockets_rails_version
|
32
|
+
Gem::Version.new(::Sprockets::Rails::VERSION).segments.first
|
23
33
|
end
|
24
34
|
|
25
35
|
def self.sprockets_adapter
|
data/spec/spritely_spec.rb
CHANGED
@@ -2,9 +2,25 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Spritely do
|
4
4
|
describe '.environment' do
|
5
|
-
|
5
|
+
let(:application) { double(assets: 'assets environment') }
|
6
|
+
|
7
|
+
before { stub_const('::Rails', double(application: application)) }
|
6
8
|
|
7
9
|
its(:environment) { should eq('assets environment') }
|
10
|
+
|
11
|
+
context 'sprockets-rails version 3' do
|
12
|
+
before { stub_const('Sprockets::Rails::VERSION', '3.0.0') }
|
13
|
+
|
14
|
+
its(:environment) { should eq('assets environment') }
|
15
|
+
|
16
|
+
context 'the Rails application assets environment is nil' do
|
17
|
+
let(:application) { double(assets: nil) }
|
18
|
+
|
19
|
+
before { allow(::Sprockets::Railtie).to receive(:build_environment).with(application).and_return('new assets environment') }
|
20
|
+
|
21
|
+
its(:environment) { should eq('new assets environment') }
|
22
|
+
end
|
23
|
+
end
|
8
24
|
end
|
9
25
|
|
10
26
|
describe '.directory' do
|
@@ -17,6 +17,7 @@ module RailsAppHelpers
|
|
17
17
|
Bundler.with_clean_env do
|
18
18
|
File.open('Gemfile', 'a') do |f|
|
19
19
|
f.write("gem 'spritely', path: '#{__dir__}/../../'\n")
|
20
|
+
f.write("gem 'sprockets-rails', '#{Sprockets::Rails::VERSION}'\n")
|
20
21
|
f.write("gem 'sprockets', '#{Sprockets::VERSION}'")
|
21
22
|
end
|
22
23
|
%x(bundle install)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spritely
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Robbin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chunky_png
|
@@ -219,7 +219,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
219
|
requirements:
|
220
220
|
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
222
|
+
version: 2.0.0
|
223
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
224
|
requirements:
|
225
225
|
- - ">="
|
@@ -227,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
227
|
version: '0'
|
228
228
|
requirements: []
|
229
229
|
rubyforge_project:
|
230
|
-
rubygems_version: 2.
|
230
|
+
rubygems_version: 2.5.1
|
231
231
|
signing_key:
|
232
232
|
specification_version: 4
|
233
233
|
summary: Hooks into the Rails asset pipeline to allow you to easily generate sprite
|