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.
- data/lib/mochiscript/core.rb +30 -0
- data/lib/mochiscript/version.rb +1 -1
- metadata +46 -40
data/lib/mochiscript/core.rb
CHANGED
@@ -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*");
|
data/lib/mochiscript/version.rb
CHANGED
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
|
-
|
5
|
-
|
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
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2012-01-23 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: therubyracer
|
16
|
-
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
19
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version:
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
22
24
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
26
27
|
name: json
|
27
|
-
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
30
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version:
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
33
35
|
type: :runtime
|
34
|
-
|
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
|
-
|
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
|
-
|
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:
|
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:
|
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.
|
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
|
-
|
87
|
+
|