coffee-script 2.2.0 → 2.4.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/coffee_script.rb +23 -2
  3. metadata +75 -68
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 16502652a25512d85f46bdcbf80718ce84a3fa0c
4
+ data.tar.gz: b3060cfcc9375b6b8b8c69577ed9385ecf0c0a0b
5
+ SHA512:
6
+ metadata.gz: da5efd7bf4d3e0f539e62186f8db990f7f1db2a842a231f86d7fa6f9330f40eac8269203b5d2dc66bf9bde1290763152dccd42baccefff9c01a89e54845c7845
7
+ data.tar.gz: 4e720d412f99867e436d1698b535c8980ced9d318f9d2121c011f14a6e68c314208b63317c73a63d59f35c10dd4160c645ddb1c8acb8e2910d34480fbe8e2ebb
data/lib/coffee_script.rb CHANGED
@@ -2,6 +2,7 @@ require 'execjs'
2
2
  require 'coffee_script/source'
3
3
 
4
4
  module CoffeeScript
5
+ Error = ExecJS::Error
5
6
  EngineError = ExecJS::RuntimeError
6
7
  CompilationError = ExecJS::ProgramError
7
8
 
@@ -15,8 +16,26 @@ module CoffeeScript
15
16
  @path = path
16
17
  end
17
18
 
19
+ COMPILE_FUNCTION_SOURCE = <<-JS
20
+ ;function compile(script, options) {
21
+ try {
22
+ return CoffeeScript.compile(script, options);
23
+ } catch (err) {
24
+ if (err instanceof SyntaxError && err.location) {
25
+ throw new SyntaxError([
26
+ err.filename || "[stdin]",
27
+ err.location.first_line + 1,
28
+ err.location.first_column + 1
29
+ ].join(":") + ": " + err.message)
30
+ } else {
31
+ throw err;
32
+ }
33
+ }
34
+ }
35
+ JS
36
+
18
37
  def self.contents
19
- @contents ||= File.read(path)
38
+ @contents ||= File.read(path) + COMPILE_FUNCTION_SOURCE
20
39
  end
21
40
 
22
41
  def self.version
@@ -54,7 +73,9 @@ module CoffeeScript
54
73
  options[:bare] = false
55
74
  end
56
75
 
57
- Source.context.call("CoffeeScript.compile", script, options)
76
+ # Stringify keys
77
+ options = options.inject({}) { |h, (k, v)| h[k.to_s] = v; h }
78
+ Source.context.call("compile", script, options)
58
79
  end
59
80
  end
60
81
  end
metadata CHANGED
@@ -1,99 +1,106 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: coffee-script
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease:
6
- segments:
7
- - 2
8
- - 2
9
- - 0
10
- version: 2.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.4.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Jeremy Ashkenas
14
8
  - Joshua Peek
15
9
  - Sam Stephenson
16
10
  autorequire:
17
11
  bindir: bin
18
12
  cert_chain: []
19
-
20
- date: 2010-03-11 00:00:00 -06:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
13
+ date: 2015-04-06 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
24
16
  name: coffee-script-source
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
29
19
  - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: execjs
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: execjs
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
43
33
  - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
49
36
  type: :runtime
50
- version_requirements: *id002
51
- description: " Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.\n"
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: json
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rake
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ description: |2
72
+ Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.
52
73
  email: josh@joshpeek.com
53
74
  executables: []
54
-
55
75
  extensions: []
56
-
57
76
  extra_rdoc_files: []
58
-
59
- files:
60
- - lib/coffee-script.rb
61
- - lib/coffee_script.rb
77
+ files:
62
78
  - LICENSE
63
79
  - README.md
64
- has_rdoc: true
80
+ - lib/coffee-script.rb
81
+ - lib/coffee_script.rb
65
82
  homepage: http://github.com/josh/ruby-coffee-script
66
- licenses: []
67
-
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
68
86
  post_install_message:
69
87
  rdoc_options: []
70
-
71
- require_paths:
88
+ require_paths:
72
89
  - lib
73
- required_ruby_version: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
76
92
  - - ">="
77
- - !ruby/object:Gem::Version
78
- hash: 3
79
- segments:
80
- - 0
81
- version: "0"
82
- required_rubygems_version: !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
85
97
  - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
91
100
  requirements: []
92
-
93
101
  rubyforge_project:
94
- rubygems_version: 1.5.3
102
+ rubygems_version: 2.2.2
95
103
  signing_key:
96
- specification_version: 3
104
+ specification_version: 4
97
105
  summary: Ruby CoffeeScript Compiler
98
106
  test_files: []
99
-