coffee-rails-source-maps 1.1.0 → 1.2.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/README.md CHANGED
@@ -57,3 +57,8 @@ This gem is based on the following Gist: [https://gist.github.com/naan/5096056](
57
57
  3. Commit your changes (`git commit -am 'Add some feature'`)
58
58
  4. Push to the branch (`git push origin my-new-feature`)
59
59
  5. Create new Pull Request
60
+
61
+ ## Contributers
62
+
63
+ * Mark Bates
64
+ * Thomas Walpole
@@ -18,27 +18,35 @@ if Rails.env.development?
18
18
  end
19
19
 
20
20
  pathname = options[:pathname]
21
- clean_name = pathname.basename.to_s.split(".").first
22
-
23
- # adding source maps option. (source maps option requires filename option.)
24
- options[:sourceMap] = true
25
- options[:filename] = "#{clean_name}.coffee"
26
-
27
- ret = Source.context.call("CoffeeScript.compile", script, options)
28
-
29
- rel_path = pathname.relative_path_from(Rails.root.join("app", "assets", "javascripts")).dirname
30
- map_dir = Rails.root.join("public", "source_maps", rel_path)
31
- map_dir.mkpath
32
-
33
- map_file = map_dir.join("#{clean_name}.map")
34
- coffee_file = map_dir.join("#{clean_name}.coffee")
35
-
36
- coffee_file.open('w') {|f| f.puts script }
37
- map_file.open('w') {|f| f.puts ret["v3SourceMap"]}
38
-
39
- comment = "//@ sourceMappingURL=/#{map_file.relative_path_from(Rails.root.join("public"))}\n"
40
- return comment + ret["js"]
41
-
21
+ if pathname.nil?
22
+ return Source.context.call("CoffeeScript.compile", script, options)
23
+ else
24
+ clean_name = pathname.basename.to_s.split(".").first
25
+ # adding source maps option. (source maps option requires filename option.)
26
+ options[:sourceMap] = true
27
+ options[:filename] = "#{clean_name}.coffee"
28
+
29
+ ret = Source.context.call("CoffeeScript.compile", script, options)
30
+
31
+ rel_path = if pathname.to_s.start_with?(Bundler.bundle_path.to_s)
32
+ Pathname('bundler').join(pathname.relative_path_from(Bundler.bundle_path)).dirname
33
+ else
34
+ pathname.relative_path_from(Rails.root.join("app", "assets", "javascripts")).dirname
35
+ end
36
+
37
+ map_dir = Rails.root.join("public", "source_maps", rel_path)
38
+ map_dir.mkpath
39
+
40
+ map_file = map_dir.join("#{clean_name}.map")
41
+ coffee_file = map_dir.join("#{clean_name}.coffee")
42
+
43
+ coffee_file.open('w') {|f| f.puts script }
44
+ map_file.open('w') {|f| f.puts ret["v3SourceMap"]}
45
+
46
+ comment = "//@ sourceMappingURL=/#{map_file.relative_path_from(Rails.root.join("public"))}\n"
47
+ return comment + ret['js']
48
+ end
49
+
42
50
  end
43
51
 
44
52
  end
@@ -56,16 +64,3 @@ if Rails.env.development?
56
64
  end
57
65
 
58
66
  end
59
-
60
- __END__
61
- 11:06:13 web.1 | options: {:bare=>false, :pathname=>#<Pathname:/Users/markbates/Dropbox/development/vogon-next/app/assets/javascripts/controllers/authors/edit_controller.js.coffee.erb>, :sourceMap=>true, :filename=>"edit_controller.js.coffee.erb"}
62
- 11:06:13 web.1 | basename: #<Pathname:edit_controller.js.coffee.erb>
63
- 11:06:13 web.1 | map_file: #<Pathname:/Users/markbates/Dropbox/development/vogon-next/public/source_maps/edit_controller.js.coffee.erb.map>
64
- 11:06:13 web.1 | coffee_file: #<Pathname:/Users/markbates/Dropbox/development/vogon-next/public/source_maps/edit_controller.js.coffee.erb.coffee>
65
- 11:06:13 web.1 | comment: "//@ sourceMappingURL=/source_maps/edit_controller.js.coffee.erb.map\n"
66
-
67
- 11:06:13 web.1 | options: {:bare=>false, :pathname=>#<Pathname:/Users/markbates/Dropbox/development/vogon-next/app/assets/javascripts/application.js.coffee>, :sourceMap=>true, :filename=>"application.js.coffee"}
68
- 11:06:13 web.1 | basename: #<Pathname:application.js>
69
- 11:06:13 web.1 | map_file: #<Pathname:/Users/markbates/Dropbox/development/vogon-next/public/source_maps/application.js.map>
70
- 11:06:13 web.1 | coffee_file: #<Pathname:/Users/markbates/Dropbox/development/vogon-next/public/source_maps/application.js.coffee>
71
- 11:06:13 web.1 | comment: "//@ sourceMappingURL=/source_maps/application.js.map\n"
@@ -1,3 +1,3 @@
1
1
  module CoffeeRailsSourceMaps
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coffee-rails-source-maps
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-07 00:00:00.000000000 Z
12
+ date: 2013-03-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: coffee-script-source
@@ -74,7 +74,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
74
  version: '0'
75
75
  segments:
76
76
  - 0
77
- hash: -1311622888147507941
77
+ hash: -2983782829991757151
78
78
  required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  none: false
80
80
  requirements:
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  version: '0'
84
84
  segments:
85
85
  - 0
86
- hash: -1311622888147507941
86
+ hash: -2983782829991757151
87
87
  requirements: []
88
88
  rubyforge_project:
89
89
  rubygems_version: 1.8.25