mochiscript 0.4.5 → 0.4.6.pre1

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.
@@ -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
+