opal-sprockets 0.2.0 → 0.2.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f599646138983764d471f03e02ca55d2d9d7b8ee
4
+ data.tar.gz: 3683e235bd9da2c28ae8e72256fa38f0a56c86fe
5
+ SHA512:
6
+ metadata.gz: 668349a8e33e7db6615ad32b32d8061bd4c4136e0a4cc3858ac0c5a290300bb7782c99480107a80d6a4f2146f7f5040fb467899e5476383b61469af2db9502d1
7
+ data.tar.gz: 5a9cef7b65581cc8ff6a9ee3246bfe00f5445b6608ac0aaef936aa418c94d5c98b6e3b87de3833f00f5c4879d5734ec414bcc43a286023be7eae48d08187cde4
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format doc
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.8.7
5
+ - 1.9.3
6
+ - 2.0.0
7
+
8
+ notifications:
9
+ irc: "irc.freenode.org#opal"
@@ -72,13 +72,12 @@ module Opal
72
72
  parser = Opal::RequireParser.new
73
73
  result = parser.parse data, options
74
74
 
75
-
76
75
  parser.requires.each do |r|
77
76
  path = find_opal_require context.environment, r
78
77
  context.require_asset path
79
78
  end
80
79
 
81
- if self.class.source_map_enabled
80
+ if options[:source_map_enabled]
82
81
  $OPAL_SOURCE_MAPS[context.pathname] = Opal::SourceMap.new(parser.fragments, "file://#{context.pathname.to_s}").to_s
83
82
  "#{result}\n//@ sourceMappingURL=/__opal_source_maps__/#{context.logical_path}.js.map\n"
84
83
  else
@@ -1,8 +1,9 @@
1
+ require 'rack/file'
2
+ require 'rack/urlmap'
1
3
  require 'rack/builder'
2
4
  require 'rack/directory'
3
5
  require 'rack/showexceptions'
4
6
  require 'opal/source_map'
5
- require 'opal/sprockets/source_map_header'
6
7
  require 'opal/sprockets/environment'
7
8
  require 'erb'
8
9
 
@@ -38,15 +39,27 @@ module Opal
38
39
 
39
40
  attr_accessor :debug, :index_path, :main, :public_dir, :sprockets
40
41
 
41
- def initialize debug = true
42
+ def initialize debug_or_options = {}
43
+ unless Hash === debug_or_options
44
+ warn "passing a boolean to control debug is deprecated.\n"+
45
+ "Please pass an Hash instead: Server.new(debug: true)"
46
+ options = {:debug => debug_or_options}
47
+ else
48
+ options = debug_or_options
49
+ end
50
+
42
51
  @public_dir = '.'
43
52
  @sprockets = Environment.new
44
- @debug = debug
53
+ @debug = options.fetch(:debug, true)
45
54
 
46
55
  yield self if block_given?
47
56
  create_app
48
57
  end
49
58
 
59
+ def source_map_enabled
60
+ Opal::Processor.source_map_enabled
61
+ end
62
+
50
63
  def append_path path
51
64
  @sprockets.append_path path
52
65
  end
@@ -61,7 +74,7 @@ module Opal
61
74
  @app = Rack::Builder.app do
62
75
  use Rack::ShowExceptions
63
76
  map('/assets') { run sprockets }
64
- map(server.source_maps.prefix) { run server.source_maps }
77
+ map(server.source_maps.prefix) { run server.source_maps } if @source_map_enabled
65
78
  use Index, server
66
79
  run Rack::Directory.new(server.public_dir)
67
80
  end
@@ -1,5 +1,5 @@
1
1
  module Opal
2
2
  module Sprockets
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
5
5
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Opal::Server do
4
+ it 'serves source maps only if they are enbled on the Processor' do
5
+ original_value = Opal::Processor.source_map_enabled
6
+ begin
7
+ [true, false].each do |bool|
8
+ Opal::Processor.source_map_enabled = bool
9
+ expect(subject.source_map_enabled).to eq(bool)
10
+ end
11
+ ensure
12
+ Opal::Processor.source_map_enabled = original_value
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-sprockets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
5
- prerelease:
4
+ version: 0.2.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Adam Beynon
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-13 00:00:00.000000000 Z
11
+ date: 2013-10-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sprockets
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: opal
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,33 +41,29 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  description: Sprockets suppoer for opal.
@@ -82,6 +73,8 @@ extensions: []
82
73
  extra_rdoc_files: []
83
74
  files:
84
75
  - .gitignore
76
+ - .rspec
77
+ - .travis.yml
85
78
  - Gemfile
86
79
  - README.md
87
80
  - Rakefile
@@ -96,39 +89,39 @@ files:
96
89
  - lib/opal/sprockets/erb.rb
97
90
  - lib/opal/sprockets/processor.rb
98
91
  - lib/opal/sprockets/server.rb
99
- - lib/opal/sprockets/source_map_header.rb
100
92
  - lib/opal/sprockets/version.rb
101
93
  - opal-sprockets.gemspec
102
94
  - spec/fixtures/app/foo.rb
103
95
  - spec/fixtures/app2/bar.js
96
+ - spec/opal/sprockets/server_spec.rb
104
97
  - spec/processor_spec.rb
105
98
  - spec/spec_helper.rb
106
99
  homepage: http://opalrb.org
107
100
  licenses: []
101
+ metadata: {}
108
102
  post_install_message:
109
103
  rdoc_options: []
110
104
  require_paths:
111
105
  - lib
112
106
  required_ruby_version: !ruby/object:Gem::Requirement
113
- none: false
114
107
  requirements:
115
- - - ! '>='
108
+ - - '>='
116
109
  - !ruby/object:Gem::Version
117
110
  version: '0'
118
111
  required_rubygems_version: !ruby/object:Gem::Requirement
119
- none: false
120
112
  requirements:
121
- - - ! '>='
113
+ - - '>='
122
114
  - !ruby/object:Gem::Version
123
115
  version: '0'
124
116
  requirements: []
125
117
  rubyforge_project:
126
- rubygems_version: 1.8.23
118
+ rubygems_version: 2.1.9
127
119
  signing_key:
128
- specification_version: 3
120
+ specification_version: 4
129
121
  summary: Sprockets support for opal
130
122
  test_files:
131
123
  - spec/fixtures/app/foo.rb
132
124
  - spec/fixtures/app2/bar.js
125
+ - spec/opal/sprockets/server_spec.rb
133
126
  - spec/processor_spec.rb
134
127
  - spec/spec_helper.rb
@@ -1,22 +0,0 @@
1
- require 'sprockets/server'
2
-
3
- module Sprockets
4
- module Server
5
-
6
- # Adds the source map header to all sprocket responses for assets
7
- # with a .rb or .opal extension in the extension chain.
8
- def headers_with_opal_source_maps(env, asset, length)
9
- headers_without_opal_source_maps(env, asset, length).tap do |headers|
10
- if asset.pathname.to_s =~ /\.(rb|opal)\b/
11
- headers['X-SourceMap'] = '/__opal_source_maps__/'+asset.logical_path + '.map'
12
- end
13
- end
14
- end
15
-
16
- # Poor man's alias_method_chain :)
17
- alias headers_without_opal_source_maps headers
18
- alias headers headers_with_opal_source_maps
19
-
20
- end
21
- end
22
-