sax-machine 0.2.1 → 0.3.0

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.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +14 -4
  4. data/Gemfile +5 -1
  5. data/Guardfile +2 -2
  6. data/HISTORY.md +23 -6
  7. data/README.md +111 -40
  8. data/Rakefile +4 -3
  9. data/lib/sax-machine.rb +11 -2
  10. data/lib/sax-machine/{sax_ancestor_config.rb → config/sax_ancestor.rb} +3 -7
  11. data/lib/sax-machine/{sax_attribute_config.rb → config/sax_attribute.rb} +4 -6
  12. data/lib/sax-machine/{sax_collection_config.rb → config/sax_collection.rb} +6 -10
  13. data/lib/sax-machine/{sax_element_config.rb → config/sax_element.rb} +16 -17
  14. data/lib/sax-machine/{sax_element_value_config.rb → config/sax_element_value.rb} +5 -7
  15. data/lib/sax-machine/{sax_handler.rb → handlers/sax_abstract_handler.rb} +28 -32
  16. data/lib/sax-machine/handlers/sax_nokogiri_handler.rb +16 -0
  17. data/lib/sax-machine/handlers/sax_ox_handler.rb +41 -0
  18. data/lib/sax-machine/sax_config.rb +9 -9
  19. data/lib/sax-machine/sax_configure.rb +1 -6
  20. data/lib/sax-machine/sax_document.rb +28 -17
  21. data/lib/sax-machine/version.rb +2 -2
  22. data/sax-machine.gemspec +8 -11
  23. data/spec/fixtures/atom-content.html +15 -0
  24. data/spec/{sax-machine → fixtures}/atom.xml +0 -0
  25. data/spec/sax-machine/sax_activerecord_spec.rb +23 -0
  26. data/spec/sax-machine/sax_configure_spec.rb +48 -0
  27. data/spec/sax-machine/sax_document_spec.rb +333 -280
  28. data/spec/sax-machine/sax_include_spec.rb +43 -0
  29. data/spec/spec_helper.rb +11 -2
  30. metadata +36 -41
  31. data/spec/benchmarks/amazon.xml +0 -40
  32. data/spec/benchmarks/benchmark.rb +0 -158
  33. data/spec/benchmarks/public_timeline.xml +0 -411
  34. data/spec/sax-machine/configure_sax_machine_spec.rb +0 -53
  35. data/spec/sax-machine/include_sax_machine_spec.rb +0 -42
@@ -1,53 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- class A
4
-
5
- SAXMachine.configure(A) do |c|
6
- c.element :title
7
- end
8
-
9
- end
10
-
11
- class B < A
12
-
13
- SAXMachine.configure(B) do |c|
14
- c.element :b
15
- end
16
-
17
- end
18
-
19
- class C < B
20
-
21
- SAXMachine.configure(C) do |c|
22
- c.element :c
23
- end
24
-
25
- end
26
-
27
- describe "SAXMachine configure" do
28
- before do
29
- xml = "<top><title>Test</title><b>Matched!</b><c>And Again</c></top>"
30
- @a = A.new
31
- @a.parse xml
32
- @b = B.new
33
- @b.parse xml
34
- @c = C.new
35
- @c.parse xml
36
- end
37
- it { @a.should be_a(A) }
38
- it { @a.should_not be_a(B) }
39
- it { @a.should be_a(SAXMachine) }
40
- it { @a.title.should == "Test" }
41
- it { @b.should be_a(A) }
42
- it { @b.should be_a(B) }
43
- it { @b.should be_a(SAXMachine) }
44
- it { @b.title.should == "Test" }
45
- it { @b.b.should == "Matched!" }
46
- it { @c.should be_a(A) }
47
- it { @c.should be_a(B) }
48
- it { @c.should be_a(C) }
49
- it { @c.should be_a(SAXMachine) }
50
- it { @c.title.should == "Test" }
51
- it { @c.b.should == "Matched!" }
52
- it { @c.c.should == "And Again" }
53
- end
@@ -1,42 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- class A
4
- include SAXMachine
5
- element :title
6
- end
7
-
8
- class B < A
9
- element :b
10
- end
11
-
12
- class C < B
13
- element :c
14
- end
15
-
16
- describe "SAXMachine inheritance" do
17
- before do
18
- xml = "<top><title>Test</title><b>Matched!</b><c>And Again</c></top>"
19
- @a = A.new
20
- @a.parse xml
21
- @b = B.new
22
- @b.parse xml
23
- @c = C.new
24
- @c.parse xml
25
- end
26
- it { @a.should be_a(A) }
27
- it { @a.should_not be_a(B) }
28
- it { @a.should be_a(SAXMachine) }
29
- it { @a.title.should == "Test" }
30
- it { @b.should be_a(A) }
31
- it { @b.should be_a(B) }
32
- it { @b.should be_a(SAXMachine) }
33
- it { @b.title.should == "Test" }
34
- it { @b.b.should == "Matched!" }
35
- it { @c.should be_a(A) }
36
- it { @c.should be_a(B) }
37
- it { @c.should be_a(C) }
38
- it { @c.should be_a(SAXMachine) }
39
- it { @c.title.should == "Test" }
40
- it { @c.b.should == "Matched!" }
41
- it { @c.c.should == "And Again" }
42
- end