vitrine 0.0.24 → 0.0.25

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
2
  SHA1:
3
- metadata.gz: decd2f863fee2ee85665a655ba3bf0b9e119f89d
4
- data.tar.gz: 5d01078ac0d84a7b7c9e3c882a4cb5572ad66186
3
+ metadata.gz: 91384529ab3b17a8f37ab9c2e78cecc2182cc091
4
+ data.tar.gz: 4031c3404bd57c1d9cf13e45193b60df945ac79e
5
5
  SHA512:
6
- metadata.gz: d3bc122058c0142438dd3019209eb33a5fb2f286599312d95f29c438010393a17d9dacb9d5b5975767fad44ba37d28445de2b1af43e7534ed1d393f209637303
7
- data.tar.gz: fbd77d2b1d504c4d7b933adc71a48fd3982234e00fa12512c5b96a5651c898e66e3e50365628c06971bf899c3b7bbefaa70d6a562e9f0d437a9f0f922eb7061f
6
+ metadata.gz: 894d0915eab432b3bfd615792c924ab200ca7f3f9cfd6b74ff7ca3d4990e1353d37392f61a12636b2fa781d6fc4b21f8cdfdfd7b9c5a5df1b4ba5f0e48da05f4
7
+ data.tar.gz: 55f4a1a7a8d009fbe6ec9cee1bcadaa705e884362bbc3270bc667e71c668ec410df9e9b1a2dbf4295a86857a60e8f1c2fc1660560a3945701bed925d09355f7f
data/Gemfile CHANGED
@@ -21,7 +21,7 @@ https://github.com/nex3/sass/pull/982
21
21
  Better still, SASS authors should remove filesystem watching or implement
22
22
  it in a portable/vendored manner.
23
23
  =end
24
- gem 'sass', git: 'https://github.com/nex3/sass.git', branch: 'master'
24
+ gem 'sass', '3.3.0.rc.3'
25
25
  gem 'rack-contrib'
26
26
  gem 'rack-livereload'
27
27
 
@@ -42,14 +42,15 @@ class Vitrine::AssetCompiler < Sinatra::Base
42
42
  rescue Errno::ENOENT # Missing SCSS
43
43
  forward_or_halt "No such CSS or SCSS file found"
44
44
  rescue Exception => e # CSS syntax error or something alike
45
- # Add a generated DOM element before <body/> to inject
46
- # a visible error message
47
- error_tpl = 'body:before {
48
- background: white; padding: 3px; font-family: monospaced; color: red;
49
- font-size: 14px; content: %s }'
50
- css_message = error_tpl % [e.class, "\n", "--> ", e.message].join.inspect
51
- # If we halt with 500 this will not be shown as CSS
52
- halt 200, css_message
45
+ cache_bust!
46
+ # Add a generated DOM element before <body/> to inject
47
+ # a visible error message
48
+ error_tpl = 'body:before {
49
+ background: white; padding: 3px; font-family: monospaced; color: red;
50
+ font-size: 14px; content: %s }'
51
+ css_message = error_tpl % [e.class, "\n", "--> ", e.message].join.inspect
52
+ # If we halt with 500 this will not be shown as CSS
53
+ halt 200, css_message
53
54
  end
54
55
  end
55
56
 
@@ -96,9 +97,7 @@ class Vitrine::AssetCompiler < Sinatra::Base
96
97
  rescue Exception => e # CS syntax error or something alike
97
98
 
98
99
  # Ensure the response with the exception gets reloaded on next request
99
- response.headers['Cache-Control'] = 'private'
100
- response.headers['Pragma'] = 'no-cache'
101
- response.headers.delete('ETag')
100
+ cache_bust!
102
101
 
103
102
  # Inject the syntax error into the browser console
104
103
  console_message = 'console.error(%s)' % [e.class, "\n", "--> ", e.message].join.inspect
@@ -107,6 +106,12 @@ class Vitrine::AssetCompiler < Sinatra::Base
107
106
  end
108
107
  end
109
108
 
109
+ def cache_bust!
110
+ response.headers['Cache-Control'] = 'private'
111
+ response.headers['Pragma'] = 'no-cache'
112
+ response.headers.delete('ETag')
113
+ end
114
+
110
115
  def mtime_cache(path)
111
116
  # Mix in the request URL into the cache key so that we can hash
112
117
  # .map sourcemaps and .js compiles based off of the same file path
data/lib/sourcemaps.rb CHANGED
@@ -6,7 +6,7 @@ module Vitrine
6
6
  # We need to override the Sass importer
7
7
  # so that it gives us URLs relative to the server root for sourcemaps
8
8
  class SassImporter < Sass::Importers::Filesystem
9
- def public_url(of_filesystem_path)
9
+ def public_url(of_filesystem_path, unknown_arg) # TODO: figure out what the second one does
10
10
  # Importer defines a basic attribute called "root" which we set when initializing
11
11
  # We have to return the server-relative URL of the path from here
12
12
  '/' + Pathname.new(of_filesystem_path).relative_path_from(Pathname.new(root)).to_s
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vitrine
2
- VERSION = '0.0.24'
2
+ VERSION = '0.0.25'
3
3
  end
@@ -50,13 +50,13 @@ class TestVitrineAssetCompiler < Test::Unit::TestCase
50
50
 
51
51
  get '/faulty.js'
52
52
 
53
- assert_equal 200, last_response.status
54
- assert_equal 'text/javascript;charset=utf-8', last_response.content_type, "Should set JS content type"
55
-
56
53
  assert_equal 'private', last_response.headers['Cache-Control'], "Should be cache busting"
57
54
  assert_equal 'no-cache', last_response.headers['Pragma'], "Should be cache busting with Pragma: no-cache"
58
55
  assert_nil last_response.headers['ETag'], 'Should send no etag across'
59
56
 
57
+ assert_equal 200, last_response.status
58
+ assert_equal 'text/javascript;charset=utf-8', last_response.content_type, "Should set JS content type"
59
+
60
60
  err = 'console.error("ExecJS::RuntimeError\n--> SyntaxError: :1:1: reserved word \"function\"")'
61
61
  assert_equal err, last_response.body
62
62
  end
@@ -110,6 +110,11 @@ class TestVitrineAssetCompiler < Test::Unit::TestCase
110
110
  get '/faulty.css'
111
111
 
112
112
  assert_equal 200, last_response.status
113
+
114
+ assert_equal 'private', last_response.headers['Cache-Control'], "Should be cache busting"
115
+ assert_equal 'no-cache', last_response.headers['Pragma'], "Should be cache busting with Pragma: no-cache"
116
+ assert_nil last_response.headers['ETag'], 'Should send no etag across'
117
+
113
118
  assert last_response.body.include?('body:before {'), 'Should include the generated element selector'
114
119
  assert last_response.body.include?('Sass::SyntaxError'), 'Should include the syntax error class'
115
120
  end
data/vitrine.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "vitrine"
8
- s.version = "0.0.24"
8
+ s.version = "0.0.25"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Julik Tarkhanov"]
@@ -49,7 +49,7 @@ Gem::Specification.new do |s|
49
49
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
50
  s.add_runtime_dependency(%q<sinatra>, ["~> 1.4"])
51
51
  s.add_runtime_dependency(%q<coffee-script>, ["~> 2.2"])
52
- s.add_runtime_dependency(%q<sass>, [">= 0"])
52
+ s.add_runtime_dependency(%q<sass>, ["= 3.3.0.rc.3"])
53
53
  s.add_runtime_dependency(%q<rack-contrib>, [">= 0"])
54
54
  s.add_runtime_dependency(%q<rack-livereload>, [">= 0"])
55
55
  s.add_development_dependency(%q<guard>, ["~> 2.2"])
@@ -63,7 +63,7 @@ Gem::Specification.new do |s|
63
63
  else
64
64
  s.add_dependency(%q<sinatra>, ["~> 1.4"])
65
65
  s.add_dependency(%q<coffee-script>, ["~> 2.2"])
66
- s.add_dependency(%q<sass>, [">= 0"])
66
+ s.add_dependency(%q<sass>, ["= 3.3.0.rc.3"])
67
67
  s.add_dependency(%q<rack-contrib>, [">= 0"])
68
68
  s.add_dependency(%q<rack-livereload>, [">= 0"])
69
69
  s.add_dependency(%q<guard>, ["~> 2.2"])
@@ -78,7 +78,7 @@ Gem::Specification.new do |s|
78
78
  else
79
79
  s.add_dependency(%q<sinatra>, ["~> 1.4"])
80
80
  s.add_dependency(%q<coffee-script>, ["~> 2.2"])
81
- s.add_dependency(%q<sass>, [">= 0"])
81
+ s.add_dependency(%q<sass>, ["= 3.3.0.rc.3"])
82
82
  s.add_dependency(%q<rack-contrib>, [">= 0"])
83
83
  s.add_dependency(%q<rack-livereload>, [">= 0"])
84
84
  s.add_dependency(%q<guard>, ["~> 2.2"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vitrine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: sass
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.3.0.rc.3
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: '0'
54
+ version: 3.3.0.rc.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rack-contrib
57
57
  requirement: !ruby/object:Gem::Requirement