mochiscript 0.4.5 → 0.4.6.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -484,6 +484,7 @@ var TOKENS = [
484
484
  [ "EXTENDS", "extends\\b" ],
485
485
  [ "FOREACH", "foreach\\b", 'ForeachParser' ],
486
486
 
487
+ [ "SHORTHAND_MAPPER", "#[\\w\\$]+\\s*(?:{|\\()", 'ShorthandMapperParser' ],
487
488
  [ "SHORTHAND_FUNCTION", "#(?:{|\\()", 'ShorthandFunctionParser' ],
488
489
  [ "ISTRING_START", "%{", 'IStringParser' ],
489
490
  [ "HEREDOC", "<<[A-Z][0-9A-Z]*", 'HereDocParser' ],
@@ -1007,6 +1008,35 @@ RootParser.extend("MethodParser", function(KLASS, OO){
1007
1008
  });
1008
1009
  });
1009
1010
 
1011
+ RootParser.extend("ShorthandMapperParser", function(KLASS, OO){
1012
+
1013
+ var ARGS_REGEX = Tokens.regex("<ARGS>\\s*");
1014
+
1015
+
1016
+ OO.addMember("parse", function(tokens){
1017
+ tokens.consume(1);
1018
+ var nameMatch = tokens.match(/^([\w\$]+)\s*/);
1019
+ tokens.consume(nameMatch[0].length);
1020
+
1021
+ var method = nameMatch[1];
1022
+
1023
+ var argsMatch = tokens.match(ARGS_REGEX);
1024
+ var args = null;
1025
+
1026
+ if (argsMatch) {
1027
+ args = argsMatch[0];
1028
+ tokens.consume(argsMatch[0].length);
1029
+ } else {
1030
+ args = "($1,$2,$3)";
1031
+ }
1032
+
1033
+ var body = new $c.CurlyParser();
1034
+ body.parse(tokens);
1035
+
1036
+ this.out = [ '.', method, '(function', args, body, ')' ];
1037
+ });
1038
+ });
1039
+
1010
1040
  RootParser.extend("ShorthandFunctionParser", function(KLASS, OO){
1011
1041
 
1012
1042
  var ARGS_REGEX = Tokens.regex("<ARGS>\\s*");
@@ -1,3 +1,3 @@
1
1
  module Mochiscript
2
- VERSION = "0.4.5"
2
+ VERSION = "0.4.6.pre1"
3
3
  end
metadata CHANGED
@@ -1,47 +1,50 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mochiscript
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.5
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: 6
5
+ version: 0.4.6.pre1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Jeff Su
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-01 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-01-23 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: therubyracer
16
- requirement: &70322743445540 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70322743445540
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: json
27
- requirement: &70322743445000 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
33
35
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70322743445000
36
+ version_requirements: *id002
36
37
  description: Javascript Dessert
37
- email:
38
+ email:
38
39
  - me@jeffsu.com
39
- executables:
40
+ executables:
40
41
  - ms-parse
41
42
  - ms-run
42
43
  extensions: []
44
+
43
45
  extra_rdoc_files: []
44
- files:
46
+
47
+ files:
45
48
  - .gitignore
46
49
  - Gemfile
47
50
  - Rakefile
@@ -53,29 +56,32 @@ files:
53
56
  - lib/mochiscript/version.rb
54
57
  - mochiscript.gemspec
55
58
  - vendor/assets/javascripts/mochiscript.js
56
- homepage: ''
59
+ homepage: ""
57
60
  licenses: []
61
+
58
62
  post_install_message:
59
63
  rdoc_options: []
60
- require_paths:
64
+
65
+ require_paths:
61
66
  - lib
62
- required_ruby_version: !ruby/object:Gem::Requirement
67
+ required_ruby_version: !ruby/object:Gem::Requirement
63
68
  none: false
64
- requirements:
65
- - - ! '>='
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: "0"
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
74
  none: false
70
- requirements:
71
- - - ! '>='
72
- - !ruby/object:Gem::Version
73
- version: '0'
75
+ requirements:
76
+ - - ">"
77
+ - !ruby/object:Gem::Version
78
+ version: 1.3.1
74
79
  requirements: []
80
+
75
81
  rubyforge_project: mochiscript
76
- rubygems_version: 1.8.10
82
+ rubygems_version: 1.8.9
77
83
  signing_key:
78
84
  specification_version: 3
79
85
  summary: Javascript Dessert
80
86
  test_files: []
81
- has_rdoc:
87
+