stasis-extensions 0.0.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/mosaicxm/stasis-extensions.png?branch=master)](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
|