coffee-script 2.2.0 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
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
-