edn 1.0.2 → 1.0.3
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.
- checksums.yaml +7 -0
- data/lib/edn/parser.rb +6 -2
- data/lib/edn/transform.rb +1 -0
- data/lib/edn/version.rb +1 -1
- data/spec/edn/transform_spec.rb +4 -0
- data/spec/edn_spec.rb +15 -0
- metadata +21 -39
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 264ff1a11e92aaba18083680eb6504c5d6b24236
|
4
|
+
data.tar.gz: 9381907dfe329aa6d6048b49eb6288b85b97050f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4a94597575dcca3006dd2bd20d79d69ebc3e1bae05484f459a4620f87e2d76f90562450aec24adc61a2df6a88762e8e5ae571a1ed3683b73d7b583f263ee8517
|
7
|
+
data.tar.gz: 9d6dce5fa89864ad64ce89ee8f9f57ed98328c7a42accfcf7725f29bb545af11dbbdf636c7c5d445c9052dd79f8abc21942bd872a2e602a6283130fcdd2ade40
|
data/lib/edn/parser.rb
CHANGED
@@ -54,7 +54,7 @@ module EDN
|
|
54
54
|
set |
|
55
55
|
map |
|
56
56
|
boolean |
|
57
|
-
|
57
|
+
_nil |
|
58
58
|
keyword |
|
59
59
|
string |
|
60
60
|
character |
|
@@ -131,7 +131,11 @@ module EDN
|
|
131
131
|
}
|
132
132
|
|
133
133
|
rule(:boolean) {
|
134
|
-
str('true').as(:true) | str('false').as(:false)
|
134
|
+
(str('true').as(:true) | str('false').as(:false)) >> valid_chars.absent?
|
135
|
+
}
|
136
|
+
|
137
|
+
rule(:_nil) {
|
138
|
+
str('nil').as(:nil) >> valid_chars.absent?
|
135
139
|
}
|
136
140
|
|
137
141
|
# Parts
|
data/lib/edn/transform.rb
CHANGED
data/lib/edn/version.rb
CHANGED
data/spec/edn/transform_spec.rb
CHANGED
@@ -25,6 +25,10 @@ describe EDN::Transform do
|
|
25
25
|
it "should not evaluate interpolated Ruby code" do
|
26
26
|
subject.apply(:string => 'hello\n#{world}').should == "hello\n\#{world}"
|
27
27
|
end
|
28
|
+
|
29
|
+
it "should emit empty strings as strings" do
|
30
|
+
subject.apply(:string => []).should == ""
|
31
|
+
end
|
28
32
|
end
|
29
33
|
|
30
34
|
context "keyword" do
|
data/spec/edn_spec.rb
CHANGED
@@ -5,6 +5,7 @@ describe EDN do
|
|
5
5
|
|
6
6
|
context "#read" do
|
7
7
|
it "reads single elements" do
|
8
|
+
EDN.read(%q{""}).should == ""
|
8
9
|
EDN.read("1").should == 1
|
9
10
|
EDN.read("3.14").should == 3.14
|
10
11
|
EDN.read("3.14M").should == BigDecimal("3.14")
|
@@ -71,6 +72,20 @@ describe EDN do
|
|
71
72
|
end
|
72
73
|
end
|
73
74
|
end
|
75
|
+
|
76
|
+
context "allows symbols starting with a reserved word" do
|
77
|
+
it "reads true-foo" do
|
78
|
+
EDN.read('true-foo').should == EDN::Type::Symbol.new('true-foo')
|
79
|
+
end
|
80
|
+
|
81
|
+
it "reads falsey" do
|
82
|
+
EDN.read('falsey').should == EDN::Type::Symbol.new('falsey')
|
83
|
+
end
|
84
|
+
|
85
|
+
it "reads nillable" do
|
86
|
+
EDN.read('nillable').should == EDN::Type::Symbol.new('nillable')
|
87
|
+
end
|
88
|
+
end
|
74
89
|
end
|
75
90
|
|
76
91
|
context "#register" do
|
metadata
CHANGED
@@ -1,105 +1,94 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: edn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Clinton N. Dreisbach
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-17 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: parslet
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.4.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.4.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: pry
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 0.9.10
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 0.9.10
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 2.11.0
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 2.11.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rantly
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 0.3.1
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 0.3.1
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rake
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 10.0.3
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 10.0.3
|
94
|
-
description:
|
83
|
+
description: "'edn implements a reader for Extensible Data Notation by Rich Hickey.'"
|
95
84
|
email:
|
96
85
|
- clinton@thinkrelevance.com
|
97
86
|
executables: []
|
98
87
|
extensions: []
|
99
88
|
extra_rdoc_files: []
|
100
89
|
files:
|
101
|
-
- .gitignore
|
102
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".travis.yml"
|
103
92
|
- CHANGELOG.md
|
104
93
|
- Gemfile
|
105
94
|
- LICENSE
|
@@ -128,34 +117,27 @@ files:
|
|
128
117
|
- spec/spec_helper.rb
|
129
118
|
homepage: ''
|
130
119
|
licenses: []
|
120
|
+
metadata: {}
|
131
121
|
post_install_message:
|
132
122
|
rdoc_options: []
|
133
123
|
require_paths:
|
134
124
|
- lib
|
135
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
126
|
requirements:
|
138
|
-
- -
|
127
|
+
- - ">="
|
139
128
|
- !ruby/object:Gem::Version
|
140
129
|
version: '0'
|
141
|
-
segments:
|
142
|
-
- 0
|
143
|
-
hash: -1298335697156083659
|
144
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
131
|
requirements:
|
147
|
-
- -
|
132
|
+
- - ">="
|
148
133
|
- !ruby/object:Gem::Version
|
149
134
|
version: '0'
|
150
|
-
segments:
|
151
|
-
- 0
|
152
|
-
hash: -1298335697156083659
|
153
135
|
requirements: []
|
154
136
|
rubyforge_project:
|
155
|
-
rubygems_version:
|
137
|
+
rubygems_version: 2.2.2
|
156
138
|
signing_key:
|
157
|
-
specification_version:
|
158
|
-
summary:
|
139
|
+
specification_version: 4
|
140
|
+
summary: "'edn implements a reader for Extensible Data Notation by Rich Hickey.'"
|
159
141
|
test_files:
|
160
142
|
- spec/edn/metadata_spec.rb
|
161
143
|
- spec/edn/parser_spec.rb
|