parslet-export 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hash.rb +4 -4
  3. data/lib/parslet-export.rb +2 -3
  4. data/lib/{parslet → parslet-export}/atoms.rb +0 -0
  5. data/lib/{parslet → parslet-export}/atoms/entity.rb +0 -0
  6. data/lib/{parslet → parslet-export}/atoms/named.rb +0 -0
  7. data/lib/{parslet → parslet-export}/atoms/re.rb +0 -0
  8. data/lib/{parslet → parslet-export}/atoms/repetition.rb +0 -0
  9. data/lib/{parslet → parslet-export}/atoms/sequence.rb +0 -0
  10. data/lib/{parslet → parslet-export}/atoms/str.rb +0 -0
  11. data/lib/{parslet → parslet-export}/parser.rb +3 -0
  12. data/lib/parslet-export/version.rb +3 -0
  13. data/spec/lib/parslet-export/atoms/entity_spec.rb +19 -0
  14. data/spec/lib/parslet-export/atoms/named_spec.rb +15 -0
  15. data/spec/lib/parslet-export/atoms/re_spec.rb +12 -0
  16. data/spec/lib/parslet-export/atoms/repetition_spec.rb +19 -0
  17. data/spec/lib/parslet-export/atoms/sequence_spec.rb +13 -0
  18. data/spec/lib/parslet-export/atoms/str_spec.rb +11 -0
  19. data/spec/lib/{parslet → parslet-export}/parser_spec.rb +0 -0
  20. data/spec/lib/parslet-export/version_spec.rb +7 -0
  21. metadata +27 -32
  22. data/lib/parslet/export.rb +0 -7
  23. data/lib/parslet/export/version.rb +0 -5
  24. data/spec/lib/parslet/atoms/entity_spec.rb +0 -24
  25. data/spec/lib/parslet/atoms/named_spec.rb +0 -20
  26. data/spec/lib/parslet/atoms/re_spec.rb +0 -14
  27. data/spec/lib/parslet/atoms/repetition_spec.rb +0 -24
  28. data/spec/lib/parslet/atoms/sequence_spec.rb +0 -18
  29. data/spec/lib/parslet/atoms/str_spec.rb +0 -10
  30. data/spec/lib/parslet/atoms_spec.rb +0 -5
  31. data/spec/lib/parslet/export/version_spec.rb +0 -7
  32. data/spec/lib/parslet/export_spec.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0337e11572c426a238892a5581608d134cfb97e0
4
- data.tar.gz: 5687f26d38a1469792f71d6d3073b9a981facfb5
3
+ metadata.gz: b0a65d3d5ae292c22a40545df2ce9ce818fa68de
4
+ data.tar.gz: 12fbc3570986216550e4e95a2468f4f0ad3480e1
5
5
  SHA512:
6
- metadata.gz: 53375a3cdceddeb9b5c275b671f387b5259d4b4692d4145355ae0b54e49542dc75652917e7cb24049e78230b2fe110724adb3a2bc06e695368ca6f71e9a2c881
7
- data.tar.gz: 5f1d0d2fbc95bd79cdc09523248e2463254f1552a922ccbe1600fae79bb633f130703425563720d23fbf8a7e96c5763840259e6a04bed98df6c0a94dc36f0fe6
6
+ metadata.gz: c4700cb3794b08d7e4fe23e89bcb170338adf7f29d1456be40f16f668f294a7cb3dd38554081409de27fc7f4a181201df1151da0014fda2383622afcdaf61c7e
7
+ data.tar.gz: a2524992db48919d067c43ebf50d6decc192c137fe722ecb16224ac1461b616a66ea06b3bf618780652af9b88fb0d3f38d74981613ae0d497bfc2ba1d8caf3dd
@@ -2,8 +2,8 @@ class Hash
2
2
  def to_parslet
3
3
  case fetch("atom")
4
4
  when "entity"
5
- Parslet::Atoms::Entity.new(fetch("name")).tap do |entity|
6
- entity.instance_variable_set("@parslet", fetch("parslet").to_parslet)
5
+ Parslet::Atoms::Entity.new(fetch("name")).tap do |atom|
6
+ atom.instance_variable_set("@parslet", fetch("parslet").to_parslet)
7
7
  end
8
8
  when "named"
9
9
  Parslet::Atoms::Named.new(fetch("parslet").to_parslet, fetch("name"))
@@ -12,8 +12,8 @@ class Hash
12
12
  when "sequence"
13
13
  Parslet::Atoms::Sequence.new(*fetch("parslets").map(&:to_parslet))
14
14
  when "re"
15
- Parslet::Atoms::Re.new(fetch("match")).tap do |re|
16
- re.instance_variable_set("@re", fetch("re"))
15
+ Parslet::Atoms::Re.new(fetch("match")).tap do |atom|
16
+ atom.instance_variable_set("@re", fetch("re"))
17
17
  end
18
18
  when "str"
19
19
  Parslet::Atoms::Str.new(fetch("str"))
@@ -1,6 +1,5 @@
1
1
  require "parslet"
2
2
 
3
3
  require_relative "hash"
4
- require_relative "parslet/export"
5
- require_relative "parslet/parser"
6
- require_relative "parslet/atoms"
4
+ require_relative "parslet-export/parser"
5
+ require_relative "parslet-export/atoms"
File without changes
@@ -1,5 +1,6 @@
1
1
  module Parslet
2
2
  class Parser
3
+ # This turns a Parslet::Parser into a Hash
3
4
  def to_hash
4
5
  {
5
6
  "atom" => "root",
@@ -7,8 +8,10 @@ module Parslet
7
8
  }
8
9
  end
9
10
 
11
+ # This turns a Hash into a Parslet::Parser
10
12
  def self.from_hash(hash)
11
13
  new.tap do |parser|
14
+ # Parsers have to have a #root method
12
15
  parser.define_singleton_method(hash["atom"]) do
13
16
  hash["parslet"].to_parslet
14
17
  end
@@ -0,0 +1,3 @@
1
+ module ParsletExport
2
+ VERSION = "2.0.0"
3
+ end
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Entity do
4
+ describe "#to_hash" do
5
+ let(:dump) do
6
+ described_class.new("foo").tap do |entity|
7
+ entity.instance_variable_set("@parslet", Parslet::Atoms::Str.new("foo"))
8
+ end.to_hash
9
+ end
10
+
11
+ it "contains the name" do
12
+ expect(dump["name"]).to eq("foo")
13
+ end
14
+
15
+ it "contains the dumped parslet" do
16
+ expect(dump["parslet"]["atom"]).to eq("str")
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Named do
4
+ describe "#to_hash" do
5
+ let(:dump) { described_class.new(Parslet::Atoms::Str.new("foo"), "foo").to_hash }
6
+
7
+ it "contains the name" do
8
+ expect(dump["name"]).to eq("foo")
9
+ end
10
+
11
+ it "contains the dumped parslet" do
12
+ expect(dump["parslet"]["atom"]).to eq("str")
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Re do
4
+ describe "#to_hash" do
5
+ let(:dump) { described_class.new(/foo/).to_hash }
6
+
7
+
8
+ it "contains the formatted regular expression" do
9
+ expect(dump["re"]).to eq(/(?-mix:foo)/m)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Repetition do
4
+ describe "#to_hash" do
5
+ let(:dump) { described_class.new(Parslet::Atoms::Str.new("foo"), 1, 2).to_hash }
6
+
7
+ it "should contain the min" do
8
+ expect(dump["min"]).to eq(1)
9
+ end
10
+
11
+ it "should contain the max" do
12
+ expect(dump["max"]).to eq(2)
13
+ end
14
+
15
+ it "should contain a dumped parslet" do
16
+ expect(dump["parslet"]["atom"]).to eq("str")
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Sequence do
4
+ describe "#to_hash" do
5
+ let(:dump) do
6
+ described_class.new(Parslet::Atoms::Str.new("str")).to_hash
7
+ end
8
+
9
+ it "contains at least one parslet" do
10
+ expect(dump["parslets"].first["atom"]).to eq("str")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe Parslet::Atoms::Str do
4
+ describe "#to_hash" do
5
+ let(:dump) { described_class.new("foo").to_hash }
6
+
7
+ it "contains the str" do
8
+ expect(dump["str"]).to eq("foo")
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ require "spec_helper"
2
+
3
+ describe ParsletExport::VERSION do
4
+ it "should be a string" do
5
+ expect(ParsletExport::VERSION).to be_kind_of(String)
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parslet-export
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kurtis Rainbolt-Greene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-08 00:00:00.000000000 Z
11
+ date: 2013-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
@@ -158,28 +158,25 @@ extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
160
  - lib/hash.rb
161
- - lib/parslet/atoms/entity.rb
162
- - lib/parslet/atoms/named.rb
163
- - lib/parslet/atoms/re.rb
164
- - lib/parslet/atoms/repetition.rb
165
- - lib/parslet/atoms/sequence.rb
166
- - lib/parslet/atoms/str.rb
167
- - lib/parslet/atoms.rb
168
- - lib/parslet/export/version.rb
169
- - lib/parslet/export.rb
170
- - lib/parslet/parser.rb
161
+ - lib/parslet-export/atoms/entity.rb
162
+ - lib/parslet-export/atoms/named.rb
163
+ - lib/parslet-export/atoms/re.rb
164
+ - lib/parslet-export/atoms/repetition.rb
165
+ - lib/parslet-export/atoms/sequence.rb
166
+ - lib/parslet-export/atoms/str.rb
167
+ - lib/parslet-export/atoms.rb
168
+ - lib/parslet-export/parser.rb
169
+ - lib/parslet-export/version.rb
171
170
  - lib/parslet-export.rb
172
171
  - spec/lib/hash_spec.rb
173
- - spec/lib/parslet/atoms/entity_spec.rb
174
- - spec/lib/parslet/atoms/named_spec.rb
175
- - spec/lib/parslet/atoms/re_spec.rb
176
- - spec/lib/parslet/atoms/repetition_spec.rb
177
- - spec/lib/parslet/atoms/sequence_spec.rb
178
- - spec/lib/parslet/atoms/str_spec.rb
179
- - spec/lib/parslet/atoms_spec.rb
180
- - spec/lib/parslet/export/version_spec.rb
181
- - spec/lib/parslet/export_spec.rb
182
- - spec/lib/parslet/parser_spec.rb
172
+ - spec/lib/parslet-export/atoms/entity_spec.rb
173
+ - spec/lib/parslet-export/atoms/named_spec.rb
174
+ - spec/lib/parslet-export/atoms/re_spec.rb
175
+ - spec/lib/parslet-export/atoms/repetition_spec.rb
176
+ - spec/lib/parslet-export/atoms/sequence_spec.rb
177
+ - spec/lib/parslet-export/atoms/str_spec.rb
178
+ - spec/lib/parslet-export/parser_spec.rb
179
+ - spec/lib/parslet-export/version_spec.rb
183
180
  - spec/spec_helper.rb
184
181
  homepage: http://krainboltgreene.github.com/parslet-export
185
182
  licenses:
@@ -207,15 +204,13 @@ specification_version: 4
207
204
  summary: Turn Parslet::Parser into other things
208
205
  test_files:
209
206
  - spec/lib/hash_spec.rb
210
- - spec/lib/parslet/atoms/entity_spec.rb
211
- - spec/lib/parslet/atoms/named_spec.rb
212
- - spec/lib/parslet/atoms/re_spec.rb
213
- - spec/lib/parslet/atoms/repetition_spec.rb
214
- - spec/lib/parslet/atoms/sequence_spec.rb
215
- - spec/lib/parslet/atoms/str_spec.rb
216
- - spec/lib/parslet/atoms_spec.rb
217
- - spec/lib/parslet/export/version_spec.rb
218
- - spec/lib/parslet/export_spec.rb
219
- - spec/lib/parslet/parser_spec.rb
207
+ - spec/lib/parslet-export/atoms/entity_spec.rb
208
+ - spec/lib/parslet-export/atoms/named_spec.rb
209
+ - spec/lib/parslet-export/atoms/re_spec.rb
210
+ - spec/lib/parslet-export/atoms/repetition_spec.rb
211
+ - spec/lib/parslet-export/atoms/sequence_spec.rb
212
+ - spec/lib/parslet-export/atoms/str_spec.rb
213
+ - spec/lib/parslet-export/parser_spec.rb
214
+ - spec/lib/parslet-export/version_spec.rb
220
215
  - spec/spec_helper.rb
221
216
  has_rdoc:
@@ -1,7 +0,0 @@
1
- require_relative "export/version"
2
-
3
- module Parslet
4
- module Export
5
-
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- module Parslet
2
- module Export
3
- VERSION = "1.0.0"
4
- end
5
- end
@@ -1,24 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Entity do
4
- describe "#to_hash" do
5
- let(:atom) do
6
- described_class.new("foo").tap do |entity|
7
- entity.instance_variable_set("@parslet", Parslet::Atoms::Str.new("foo"))
8
- end
9
- end
10
-
11
- it "returns a Hash object" do
12
- expect(atom.to_hash).to be_kind_of(Hash)
13
- end
14
-
15
- it "contains the name" do
16
- expect(atom.to_hash["name"]).to eq("foo")
17
- end
18
-
19
- it "contains the parslet" do
20
- expect(atom.to_hash["parslet"]).to be_kind_of(Hash)
21
- expect(atom.to_hash["parslet"]).to have_key("atom")
22
- end
23
- end
24
- end
@@ -1,20 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Named do
4
- describe "#to_hash" do
5
- let(:atom) { described_class.new(Parslet::Atoms::Str.new("foo"), "foo") }
6
-
7
- it "returns a Hash object" do
8
- expect(atom.to_hash).to be_kind_of(Hash)
9
- end
10
-
11
- it "contains the name" do
12
- expect(atom.to_hash["name"]).to eq("foo")
13
- end
14
-
15
- it "contains the parslet" do
16
- expect(atom.to_hash["parslet"]).to be_kind_of(Hash)
17
- expect(atom.to_hash["parslet"]).to have_key("atom")
18
- end
19
- end
20
- end
@@ -1,14 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Re do
4
- describe "#to_hash" do
5
- let(:atom) { described_class.new(/foo/) }
6
- it "returns a Hash object" do
7
- expect(atom.to_hash).to be_kind_of(Hash)
8
- end
9
-
10
- it "contains the formatted regular expression" do
11
- expect(atom.to_hash["re"]).to eq(/(?-mix:foo)/m)
12
- end
13
- end
14
- end
@@ -1,24 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Repetition do
4
- describe "#to_hash" do
5
- let(:atom) { described_class.new(Parslet::Atoms::Str.new("foo"), 1, 2) }
6
-
7
- it "returns a Hash object" do
8
- expect(atom.to_hash).to be_kind_of(Hash)
9
- end
10
-
11
- it "should contain the min" do
12
- expect(atom.to_hash["min"]).to eq(1)
13
- end
14
-
15
- it "should contain the max" do
16
- expect(atom.to_hash["max"]).to eq(2)
17
- end
18
-
19
- it "should contain the parslet" do
20
- expect(atom.to_hash["parslet"]).to be_kind_of(Hash)
21
- expect(atom.to_hash["parslet"]).to have_key("atom")
22
- end
23
- end
24
- end
@@ -1,18 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Sequence do
4
- describe "#to_hash" do
5
- let(:atom) do
6
- described_class.new(Parslet::Atoms::Str.new("str"))
7
- end
8
-
9
- it "returns a Hash object" do
10
- expect(atom.to_hash).to be_kind_of(Hash)
11
- end
12
-
13
- it "contains a parslet" do
14
- expect(atom.to_hash["parslets"]).to be_kind_of(Array)
15
- expect(atom.to_hash["parslets"].first).to have_key("atom")
16
- end
17
- end
18
- end
@@ -1,10 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms::Str do
4
- describe "#to_hash" do
5
- let(:atom) { described_class.new("foo") }
6
- it "returns a Hash object" do
7
- expect(atom.to_hash).to be_kind_of(Hash)
8
- end
9
- end
10
- end
@@ -1,5 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Atoms do
4
-
5
- end
@@ -1,7 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Export::VERSION do
4
- it "should be a string" do
5
- expect(Parslet::Export::VERSION).to be_kind_of(String)
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Parslet::Export do
4
-
5
- end