stasis-extensions 0.0.2 → 1.0.0
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.
- data/.gitignore +1 -0
- data/.travis.yml +4 -0
- data/Guardfile +10 -0
- data/README.md +36 -3
- data/Rakefile +1 -1
- data/lib/stasis/extensions/assets.rb +5 -16
- data/lib/stasis/extensions/i18n.rb +3 -3
- data/lib/stasis/extensions/sass.rb +10 -0
- data/lib/stasis/extensions/version.rb +1 -1
- data/lib/stasis/extensions.rb +6 -1
- data/spec/fixtures/project/assets/asset_path.haml +1 -0
- data/spec/fixtures/project/assets/asset_url.haml +1 -0
- data/spec/fixtures/project/config/locales/en.yml +5 -0
- data/spec/fixtures/project/controller.rb +1 -0
- data/spec/fixtures/project/css/.sass-cache/5c363f5deb88bb376880318aed5e301825a18d6e/compiled.css.scssc +0 -0
- data/spec/fixtures/project/css/compiled.css.scss +3 -0
- data/spec/fixtures/project/css/simple.css +1 -0
- data/spec/fixtures/project/i18n/body_class.haml +1 -0
- data/spec/fixtures/project/i18n/root_url.haml +1 -0
- data/spec/fixtures/project/i18n/t.haml +1 -0
- data/spec/fixtures/project/images/stasis.png +0 -0
- data/spec/fixtures/project/js/compiled.js.erb +1 -0
- data/spec/fixtures/project/js/simple.js +1 -0
- data/spec/lib/stasis/extensions/assets_spec.rb +118 -0
- data/spec/lib/stasis/extensions/i18n_spec.rb +86 -0
- data/spec/lib/stasis/extensions/sass_spec.rb +16 -0
- data/spec/lib/stasis/extensions_spec.rb +11 -0
- data/spec/spec_helper.rb +39 -1
- data/stasis-extensions.gemspec +8 -0
- metadata +153 -4
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard :rspec, all_on_start: true, cli: '--color --format doc' do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
8
|
+
watch('spec/spec_helper.rb') { "spec" }
|
9
|
+
end
|
10
|
+
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
#
|
1
|
+
# stasis-extensions [](https://travis-ci.org/mosaicxm/stasis-extensions)
|
2
|
+
|
3
|
+
**stasis-extensions** is a gem that extends the functionality of **stasis** to support i18n and fingerprinting of assets.
|
2
4
|
|
3
|
-
TODO: Write a gem description
|
4
5
|
|
5
6
|
## Installation
|
6
7
|
|
@@ -18,7 +19,39 @@ Or install it yourself as:
|
|
18
19
|
|
19
20
|
## Usage
|
20
21
|
|
21
|
-
|
22
|
+
### i18n helpers
|
23
|
+
|
24
|
+
#### body_class
|
25
|
+
|
26
|
+
Use to generate classes for your body (or other html tag). The current locale and the current view name will be included.
|
27
|
+
|
28
|
+
#### translate(key, options = {})
|
29
|
+
|
30
|
+
Use in your views to localize text. Aliased as `t`. See [ActionView::Helpers::TranslationHelper](http://api.rubyonrails.org/classes/ActionView/Helpers/TranslationHelper.html).
|
31
|
+
|
32
|
+
#### root_url
|
33
|
+
|
34
|
+
Use in your views to generate a "root" url for your site by adding the protocol hostname (looked up as "hostname" in your locale .yml file).
|
35
|
+
|
36
|
+
### asset support
|
37
|
+
|
38
|
+
All files in the css, images and js folders will be fingerprinted with MD5 digests of the source content (allowing simpler use with caching or CDNs).
|
39
|
+
|
40
|
+
### asset helpers
|
41
|
+
|
42
|
+
In addition to compiling the fingerprinted asset files, helper methods have been added for use in views and in sass/scss.
|
43
|
+
|
44
|
+
#### asset_path(file)
|
45
|
+
|
46
|
+
Similar to the Rails asset_path helper, the specified path will be expanded to the fingerprinted version.
|
47
|
+
|
48
|
+
#### asset_url(file)
|
49
|
+
|
50
|
+
Similar to the preceding asset_path helper, the specified path will be expanded to the fingerprinted version and will be prepended with the protocol and hostname (as provided by the root_url helper above).
|
51
|
+
|
52
|
+
#### asset-url(file)
|
53
|
+
|
54
|
+
Similar to the asset_path helper, but the path is rendered for css use (ie. wrapped in `url(...)`).
|
22
55
|
|
23
56
|
## Contributing
|
24
57
|
|
data/Rakefile
CHANGED
@@ -10,6 +10,10 @@ class Stasis
|
|
10
10
|
reset
|
11
11
|
end
|
12
12
|
|
13
|
+
def assets
|
14
|
+
@assets
|
15
|
+
end
|
16
|
+
|
13
17
|
def before_all
|
14
18
|
define_helpers
|
15
19
|
fingerprint_assets
|
@@ -27,10 +31,6 @@ class Stasis
|
|
27
31
|
|
28
32
|
protected
|
29
33
|
|
30
|
-
def assets
|
31
|
-
@assets
|
32
|
-
end
|
33
|
-
|
34
34
|
def define_helpers
|
35
35
|
@stasis.controller.helpers do
|
36
36
|
def asset_path(path)
|
@@ -51,7 +51,7 @@ class Stasis
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def fingerprint_assets
|
54
|
-
Dir[
|
54
|
+
Dir["{css,images,js}/**/*"].each do |source|
|
55
55
|
next unless File.file?(source)
|
56
56
|
fingerprint_asset(source)
|
57
57
|
end
|
@@ -71,14 +71,3 @@ class Stasis
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
74
|
-
|
75
|
-
Stasis.register Stasis::Extensions::Assets
|
76
|
-
|
77
|
-
module Sass::Script::Functions
|
78
|
-
def asset_url(path)
|
79
|
-
assert_type path, :String
|
80
|
-
Sass::Script::String.new("url(#{options[:asset_resolver].resolve_path(path.value, File.dirname(options[:original_filename]))})")
|
81
|
-
end
|
82
|
-
|
83
|
-
declare :asset_url, :args => [:string]
|
84
|
-
end
|
@@ -42,15 +42,15 @@ class Stasis
|
|
42
42
|
relative_path.sub(/\.\w+(\.(?:erb|haml|scss))?$/, '').split('/')
|
43
43
|
end
|
44
44
|
|
45
|
-
def
|
45
|
+
def translate(*args)
|
46
46
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
47
47
|
options[:scope] ||= scope
|
48
48
|
::I18n.translate(*args, options)
|
49
49
|
end
|
50
|
+
|
51
|
+
alias_method :t, :translate
|
50
52
|
end
|
51
53
|
end
|
52
54
|
end
|
53
55
|
end
|
54
56
|
end
|
55
|
-
|
56
|
-
Stasis.register Stasis::Extensions::I18n
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'sass'
|
2
|
+
|
3
|
+
module Sass::Script::Functions
|
4
|
+
def asset_url(path)
|
5
|
+
assert_type path, :String
|
6
|
+
Sass::Script::String.new("url(#{options[:asset_resolver].resolve_path(path.value, File.dirname(options[:original_filename]))})")
|
7
|
+
end
|
8
|
+
|
9
|
+
declare :asset_url, :args => [:string]
|
10
|
+
end
|
data/lib/stasis/extensions.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
require
|
1
|
+
require 'stasis'
|
2
|
+
require 'stasis/extensions/version'
|
2
3
|
|
3
4
|
require 'stasis/extensions/assets'
|
4
5
|
require 'stasis/extensions/i18n'
|
6
|
+
require 'stasis/extensions/sass'
|
7
|
+
|
8
|
+
Stasis.register Stasis::Extensions::Assets
|
9
|
+
Stasis.register Stasis::Extensions::I18n
|
@@ -0,0 +1 @@
|
|
1
|
+
= asset_path('/images/stasis.png')
|
@@ -0,0 +1 @@
|
|
1
|
+
= asset_url('/images/stasis.png')
|
@@ -0,0 +1 @@
|
|
1
|
+
ignore %r"/config"
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
#stasis { color: black; }
|
@@ -0,0 +1 @@
|
|
1
|
+
= body_class
|
@@ -0,0 +1 @@
|
|
1
|
+
= root_url
|
@@ -0,0 +1 @@
|
|
1
|
+
= t('.hello')
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
var image_path = '<%= asset_path("/images/stasis.png") %>'
|
@@ -0,0 +1 @@
|
|
1
|
+
var simple = 'simple';
|
@@ -0,0 +1,118 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Stasis::Extensions::Assets do
|
4
|
+
|
5
|
+
let(:project_folder) { File.expand_path('../../../../fixtures/project', __FILE__) }
|
6
|
+
let(:stasis) { Stasis.new(project_folder) }
|
7
|
+
|
8
|
+
describe "an instance of the plugin" do
|
9
|
+
before do
|
10
|
+
@plugin = Stasis::Extensions::Assets.new(stasis)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have an empty assets Hash" do
|
14
|
+
expect(@plugin.assets).to eq({})
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#reset" do
|
18
|
+
it "should empty the assets Hash" do
|
19
|
+
@plugin.assets['test'] = 'test'
|
20
|
+
@plugin.reset
|
21
|
+
expect(@plugin.assets).to eq({})
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#before_all" do
|
26
|
+
before do
|
27
|
+
@plugin.before_all
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should fingerprint css" do
|
31
|
+
expect(@plugin.assets).to include('css/simple.css')
|
32
|
+
expect(@plugin.assets['css/simple.css']).to eq("css/simple-#{digest_for('css/simple.css')}.css")
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should fingerprint scss" do
|
36
|
+
expect(@plugin.assets).to include('css/compiled.css')
|
37
|
+
expect(@plugin.assets['css/compiled.css']).to eq("css/compiled-#{digest_for('css/compiled.css.scss')}.css")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should fingerprint images" do
|
41
|
+
expect(@plugin.assets).to include('images/stasis.png')
|
42
|
+
expect(@plugin.assets['images/stasis.png']).to eq("images/stasis-#{digest_for('images/stasis.png')}.png")
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should fingerprint js" do
|
46
|
+
expect(@plugin.assets).to include('js/simple.js')
|
47
|
+
expect(@plugin.assets['js/simple.js']).to eq("js/simple-#{digest_for('js/simple.js')}.js")
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should fingerprint erb" do
|
51
|
+
expect(@plugin.assets).to include('js/compiled.js')
|
52
|
+
expect(@plugin.assets['js/compiled.js']).to eq("js/compiled-#{digest_for('js/compiled.js.erb')}.js")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "when rendered" do
|
58
|
+
describe "the rendered assets" do
|
59
|
+
before do
|
60
|
+
stasis_render
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should include css" do
|
64
|
+
expect(file_for("public/css/simple.css")).to exist
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should include scss" do
|
68
|
+
expect(file_for("public/css/compiled.css")).to exist
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should include images" do
|
72
|
+
expect(file_for("public/images/stasis.png")).to exist
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should include js" do
|
76
|
+
expect(file_for("public/js/simple.js")).to exist
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should include erb" do
|
80
|
+
expect(file_for("public/js/compiled.js")).to exist
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should include fingerprinted css" do
|
84
|
+
expect(file_for("public/css/simple-#{digest_for('css/simple.css')}.css")).to exist
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should include fingerprinted scss" do
|
88
|
+
expect(file_for("public/css/compiled-#{digest_for('css/compiled.css.scss')}.css")).to exist
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should include fingerprinted images" do
|
92
|
+
expect(file_for("public/images/stasis-#{digest_for('images/stasis.png')}.png")).to exist
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should include fingerprinted js" do
|
96
|
+
expect(file_for("public/js/simple-#{digest_for('js/simple.js')}.js")).to exist
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should include fingerprinted erb" do
|
100
|
+
expect(file_for("public/js/compiled-#{digest_for('js/compiled.js.erb')}.js")).to exist
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "#asset_path" do
|
105
|
+
it "should render the asset path" do
|
106
|
+
stasis_render 'assets/asset_path.haml'
|
107
|
+
expect(contents_of('public/assets/asset_path')).to eq("/images/stasis-#{digest_for('images/stasis.png')}.png")
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
describe "#asset_url" do
|
112
|
+
it "should render the asset url" do
|
113
|
+
stasis_render 'assets/asset_url.haml'
|
114
|
+
expect(contents_of('public/assets/asset_url')).to eq("http://example.com/images/stasis-#{digest_for('images/stasis.png')}.png")
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Stasis::Extensions::I18n do
|
4
|
+
|
5
|
+
let(:project_folder) { File.expand_path('../../../../fixtures/project', __FILE__) }
|
6
|
+
let(:stasis) { Stasis.new(project_folder) }
|
7
|
+
|
8
|
+
describe "an instance of the plugin" do
|
9
|
+
before do
|
10
|
+
@plugin = Stasis::Extensions::I18n.new(stasis)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should set the I18n load_path" do
|
14
|
+
expect(::I18n.load_path).to include(project_path('config/locales/en.yml'))
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should set the default locale" do
|
18
|
+
expect(::I18n.default_locale).to eq(:en)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should load the translations" do
|
22
|
+
expect(::I18n.translate('i18n.t.hello')).to eq('Hello')
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#reset" do
|
26
|
+
it "should set the I18n load_path" do
|
27
|
+
::I18n.load_path = []
|
28
|
+
expect(::I18n.load_path).to_not include(project_path('config/locales/en.yml'))
|
29
|
+
@plugin.reset
|
30
|
+
expect(::I18n.load_path).to include(project_path('config/locales/en.yml'))
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should set the default locale" do
|
34
|
+
::I18n.default_locale = :fr
|
35
|
+
expect(::I18n.default_locale).to eq(:fr)
|
36
|
+
@plugin.reset
|
37
|
+
expect(::I18n.default_locale).to eq(:en)
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should reload the translations" do
|
41
|
+
expect(::I18n.translate('i18n.t.hello')).to eq('Hello')
|
42
|
+
::I18n.backend.store_translations('en', 'i18n' => {'t' => {'hello' => 'Hi'}})
|
43
|
+
expect(::I18n.translate('i18n.t.hello')).to eq('Hi')
|
44
|
+
@plugin.reset
|
45
|
+
expect(::I18n.translate('i18n.t.hello')).to eq('Hello')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#before_all" do
|
50
|
+
it "should use the default locale" do
|
51
|
+
::I18n.default_locale = :de
|
52
|
+
@plugin.before_all
|
53
|
+
expect(::I18n.locale).to eq(:de)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should use the locale in the LOCALE environment variable" do
|
57
|
+
ENV.stub(:[]).with('LOCALE').and_return('es')
|
58
|
+
@plugin.before_all
|
59
|
+
expect(::I18n.locale).to eq(:es)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "when rendered" do
|
65
|
+
describe "#body_class" do
|
66
|
+
it "should render the locale and the view name" do
|
67
|
+
stasis_render 'i18n/body_class.haml'
|
68
|
+
expect(contents_of('public/i18n/body_class')).to eq([:en, "body_class"].inspect)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "#root_url" do
|
73
|
+
it "should render the url" do
|
74
|
+
stasis_render 'i18n/root_url.haml'
|
75
|
+
expect(contents_of('public/i18n/root_url')).to eq('http://example.com')
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "#t" do
|
80
|
+
it "should render the value" do
|
81
|
+
stasis_render 'i18n/t.haml'
|
82
|
+
expect(contents_of('public/i18n/t')).to eq('Hello')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sass::Script::Functions do
|
4
|
+
|
5
|
+
let(:project_folder) { File.expand_path('../../../../fixtures/project', __FILE__) }
|
6
|
+
let(:stasis) { Stasis.new(project_folder) }
|
7
|
+
|
8
|
+
describe "when scss is rendered" do
|
9
|
+
describe "#asset-path" do
|
10
|
+
it "should render the asset path" do
|
11
|
+
stasis_render 'css/compiled.css.scss'
|
12
|
+
expect(contents_of('public/css/compiled.css')).to include("url(/images/stasis-#{digest_for('images/stasis.png')}.png)")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Stasis::Extensions do
|
4
|
+
it "should register the Assets plugin" do
|
5
|
+
expect(Stasis::Plugin.plugins).to include(Stasis::Extensions::Assets)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should register the I18n plugin" do
|
9
|
+
expect(Stasis::Plugin.plugins).to include(Stasis::Extensions::I18n)
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,46 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
|
3
|
+
SimpleCov.start do
|
4
|
+
add_filter '/test/'
|
5
|
+
add_filter '/features/'
|
6
|
+
add_filter '/spec/'
|
7
|
+
add_filter '/autotest/'
|
8
|
+
|
9
|
+
add_group 'Binaries', '/bin/'
|
10
|
+
add_group 'Libraries', '/lib/'
|
11
|
+
add_group 'Extensions', '/ext/'
|
12
|
+
add_group 'Vendor Libraries', '/vendor/'
|
13
|
+
end
|
14
|
+
|
1
15
|
require 'rubygems'
|
2
16
|
require 'bundler/setup'
|
3
17
|
|
18
|
+
require 'stasis'
|
19
|
+
require 'stasis/extensions'
|
20
|
+
|
4
21
|
Bundler.require(:default)
|
5
22
|
|
6
23
|
SPEC_DIR = File.dirname(__FILE__)
|
7
24
|
|
8
|
-
|
25
|
+
def contents_of(asset)
|
26
|
+
File.read(project_path(asset)).chomp
|
27
|
+
end
|
28
|
+
|
29
|
+
def digest_for(asset)
|
30
|
+
Digest::MD5.file project_path(asset)
|
31
|
+
end
|
32
|
+
|
33
|
+
def file_for(asset)
|
34
|
+
Pathname.new(project_path(asset))
|
35
|
+
end
|
36
|
+
|
37
|
+
def project_path(file)
|
38
|
+
File.expand_path(file, project_folder)
|
39
|
+
end
|
40
|
+
|
41
|
+
def stasis_render(*only)
|
42
|
+
wd = Dir.getwd
|
43
|
+
stasis.render *only
|
44
|
+
ensure
|
45
|
+
Dir.chdir(wd)
|
46
|
+
end
|
data/stasis-extensions.gemspec
CHANGED
@@ -18,7 +18,15 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_dependency "i18n"
|
22
|
+
spec.add_dependency "sass"
|
23
|
+
spec.add_dependency "stasis"
|
24
|
+
|
21
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
26
|
+
spec.add_development_dependency "guard"
|
27
|
+
spec.add_development_dependency "guard-rspec"
|
28
|
+
spec.add_development_dependency "haml"
|
22
29
|
spec.add_development_dependency "rake"
|
23
30
|
spec.add_development_dependency "rspec"
|
31
|
+
spec.add_development_dependency "simplecov"
|
24
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stasis-extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,56 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: i18n
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: sass
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: stasis
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
14
62
|
- !ruby/object:Gem::Dependency
|
15
63
|
name: bundler
|
16
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -27,6 +75,54 @@ dependencies:
|
|
27
75
|
- - ~>
|
28
76
|
- !ruby/object:Gem::Version
|
29
77
|
version: '1.3'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: guard
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: guard-rspec
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: haml
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
30
126
|
- !ruby/object:Gem::Dependency
|
31
127
|
name: rake
|
32
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +155,22 @@ dependencies:
|
|
59
155
|
- - ! '>='
|
60
156
|
- !ruby/object:Gem::Version
|
61
157
|
version: '0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: simplecov
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
62
174
|
description: plugin(s) for stasis providing i18n support and asset fingerprinting
|
63
175
|
email:
|
64
176
|
- brent.faulkner@mosaic.com
|
@@ -67,14 +179,34 @@ extensions: []
|
|
67
179
|
extra_rdoc_files: []
|
68
180
|
files:
|
69
181
|
- .gitignore
|
182
|
+
- .travis.yml
|
70
183
|
- Gemfile
|
184
|
+
- Guardfile
|
71
185
|
- LICENSE.txt
|
72
186
|
- README.md
|
73
187
|
- Rakefile
|
74
188
|
- lib/stasis/extensions.rb
|
75
189
|
- lib/stasis/extensions/assets.rb
|
76
190
|
- lib/stasis/extensions/i18n.rb
|
191
|
+
- lib/stasis/extensions/sass.rb
|
77
192
|
- lib/stasis/extensions/version.rb
|
193
|
+
- spec/fixtures/project/assets/asset_path.haml
|
194
|
+
- spec/fixtures/project/assets/asset_url.haml
|
195
|
+
- spec/fixtures/project/config/locales/en.yml
|
196
|
+
- spec/fixtures/project/controller.rb
|
197
|
+
- spec/fixtures/project/css/.sass-cache/5c363f5deb88bb376880318aed5e301825a18d6e/compiled.css.scssc
|
198
|
+
- spec/fixtures/project/css/compiled.css.scss
|
199
|
+
- spec/fixtures/project/css/simple.css
|
200
|
+
- spec/fixtures/project/i18n/body_class.haml
|
201
|
+
- spec/fixtures/project/i18n/root_url.haml
|
202
|
+
- spec/fixtures/project/i18n/t.haml
|
203
|
+
- spec/fixtures/project/images/stasis.png
|
204
|
+
- spec/fixtures/project/js/compiled.js.erb
|
205
|
+
- spec/fixtures/project/js/simple.js
|
206
|
+
- spec/lib/stasis/extensions/assets_spec.rb
|
207
|
+
- spec/lib/stasis/extensions/i18n_spec.rb
|
208
|
+
- spec/lib/stasis/extensions/sass_spec.rb
|
209
|
+
- spec/lib/stasis/extensions_spec.rb
|
78
210
|
- spec/spec_helper.rb
|
79
211
|
- stasis-extensions.gemspec
|
80
212
|
homepage: http://github.com/mosaicxm/stasis-extensions
|
@@ -92,7 +224,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
92
224
|
version: '0'
|
93
225
|
segments:
|
94
226
|
- 0
|
95
|
-
hash: -
|
227
|
+
hash: -798725933815868513
|
96
228
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
229
|
none: false
|
98
230
|
requirements:
|
@@ -101,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
233
|
version: '0'
|
102
234
|
segments:
|
103
235
|
- 0
|
104
|
-
hash: -
|
236
|
+
hash: -798725933815868513
|
105
237
|
requirements: []
|
106
238
|
rubyforge_project:
|
107
239
|
rubygems_version: 1.8.23
|
@@ -109,4 +241,21 @@ signing_key:
|
|
109
241
|
specification_version: 3
|
110
242
|
summary: plugin(s) for stasis providing i18n support and asset fingerprinting
|
111
243
|
test_files:
|
244
|
+
- spec/fixtures/project/assets/asset_path.haml
|
245
|
+
- spec/fixtures/project/assets/asset_url.haml
|
246
|
+
- spec/fixtures/project/config/locales/en.yml
|
247
|
+
- spec/fixtures/project/controller.rb
|
248
|
+
- spec/fixtures/project/css/.sass-cache/5c363f5deb88bb376880318aed5e301825a18d6e/compiled.css.scssc
|
249
|
+
- spec/fixtures/project/css/compiled.css.scss
|
250
|
+
- spec/fixtures/project/css/simple.css
|
251
|
+
- spec/fixtures/project/i18n/body_class.haml
|
252
|
+
- spec/fixtures/project/i18n/root_url.haml
|
253
|
+
- spec/fixtures/project/i18n/t.haml
|
254
|
+
- spec/fixtures/project/images/stasis.png
|
255
|
+
- spec/fixtures/project/js/compiled.js.erb
|
256
|
+
- spec/fixtures/project/js/simple.js
|
257
|
+
- spec/lib/stasis/extensions/assets_spec.rb
|
258
|
+
- spec/lib/stasis/extensions/i18n_spec.rb
|
259
|
+
- spec/lib/stasis/extensions/sass_spec.rb
|
260
|
+
- spec/lib/stasis/extensions_spec.rb
|
112
261
|
- spec/spec_helper.rb
|