pdf-labels 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/History.txt +3 -0
  2. data/Manifest.txt +41 -64
  3. data/README.txt +4 -3
  4. data/lib/pdf_labels.rb +1 -4
  5. data/test/test_pdf_label_page.rb +6 -6
  6. data/vendor/transaction/simple.rb +390 -597
  7. data/vendor/transaction/simple/group.rb +13 -0
  8. data/vendor/transaction/simple/threadsafe.rb +18 -2
  9. data/vendor/transaction/simple/threadsafe/group.rb +13 -0
  10. data/vendor/{xml-mapping → xml}/LICENSE +0 -0
  11. data/vendor/{xml-mapping → xml}/README +0 -0
  12. data/vendor/{xml-mapping/lib/xml → xml}/mapping.rb +0 -0
  13. data/vendor/{xml-mapping/lib/xml → xml}/mapping/base.rb +0 -0
  14. data/vendor/{xml-mapping/lib/xml → xml}/mapping/standard_nodes.rb +0 -0
  15. data/vendor/{xml-mapping/lib/xml → xml}/mapping/version.rb +0 -0
  16. data/vendor/{xml-mapping/lib/xml → xml}/xxpath.rb +0 -0
  17. metadata +46 -71
  18. data/vendor/xml-mapping/ChangeLog +0 -128
  19. data/vendor/xml-mapping/README_XPATH +0 -175
  20. data/vendor/xml-mapping/Rakefile +0 -214
  21. data/vendor/xml-mapping/TODO.txt +0 -32
  22. data/vendor/xml-mapping/doc/xpath_impl_notes.txt +0 -119
  23. data/vendor/xml-mapping/examples/company.rb +0 -34
  24. data/vendor/xml-mapping/examples/company.xml +0 -26
  25. data/vendor/xml-mapping/examples/company_usage.intin.rb +0 -19
  26. data/vendor/xml-mapping/examples/company_usage.intout +0 -39
  27. data/vendor/xml-mapping/examples/order.rb +0 -61
  28. data/vendor/xml-mapping/examples/order.xml +0 -54
  29. data/vendor/xml-mapping/examples/order_signature_enhanced.rb +0 -7
  30. data/vendor/xml-mapping/examples/order_signature_enhanced.xml +0 -9
  31. data/vendor/xml-mapping/examples/order_signature_enhanced_usage.intin.rb +0 -12
  32. data/vendor/xml-mapping/examples/order_signature_enhanced_usage.intout +0 -16
  33. data/vendor/xml-mapping/examples/order_usage.intin.rb +0 -73
  34. data/vendor/xml-mapping/examples/order_usage.intout +0 -147
  35. data/vendor/xml-mapping/examples/time_augm.intin.rb +0 -19
  36. data/vendor/xml-mapping/examples/time_augm.intout +0 -23
  37. data/vendor/xml-mapping/examples/time_node.rb +0 -27
  38. data/vendor/xml-mapping/examples/xpath_create_new.intin.rb +0 -85
  39. data/vendor/xml-mapping/examples/xpath_create_new.intout +0 -181
  40. data/vendor/xml-mapping/examples/xpath_docvsroot.intin.rb +0 -30
  41. data/vendor/xml-mapping/examples/xpath_docvsroot.intout +0 -34
  42. data/vendor/xml-mapping/examples/xpath_ensure_created.intin.rb +0 -62
  43. data/vendor/xml-mapping/examples/xpath_ensure_created.intout +0 -114
  44. data/vendor/xml-mapping/examples/xpath_pathological.intin.rb +0 -42
  45. data/vendor/xml-mapping/examples/xpath_pathological.intout +0 -56
  46. data/vendor/xml-mapping/examples/xpath_usage.intin.rb +0 -51
  47. data/vendor/xml-mapping/examples/xpath_usage.intout +0 -57
  48. data/vendor/xml-mapping/install.rb +0 -40
  49. data/vendor/xml-mapping/test/all_tests.rb +0 -6
  50. data/vendor/xml-mapping/test/company.rb +0 -56
  51. data/vendor/xml-mapping/test/documents_folders.rb +0 -33
  52. data/vendor/xml-mapping/test/fixtures/bookmarks1.xml +0 -24
  53. data/vendor/xml-mapping/test/fixtures/company1.xml +0 -85
  54. data/vendor/xml-mapping/test/fixtures/documents_folders.xml +0 -71
  55. data/vendor/xml-mapping/test/fixtures/documents_folders2.xml +0 -30
  56. data/vendor/xml-mapping/test/multiple_mappings.rb +0 -80
  57. data/vendor/xml-mapping/test/tests_init.rb +0 -2
  58. data/vendor/xml-mapping/test/xml_mapping_adv_test.rb +0 -84
  59. data/vendor/xml-mapping/test/xml_mapping_test.rb +0 -201
  60. data/vendor/xml-mapping/test/xpath_test.rb +0 -273
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
-
3
- <folder1 name="root" last-changed="123">
4
- <entries1>
5
- <bookmark1 bmname="ruby" bmlast-changed="345">
6
- <url>http://www.ruby-lang.org</url>
7
- </bookmark1>
8
-
9
- <bookmark1 bmname="RAA">
10
- <url>http://raa.ruby-lang.org/</url>
11
- </bookmark1>
12
-
13
- <folder1 name="news">
14
- <entries1>
15
- <bookmark1 bmname="/." bmlast-changed="233">
16
- <url>http://www.slashdot.org/</url>
17
- </bookmark1>
18
- <bookmark1 bmname="groklaw" bmlast-changed="238">
19
- <url>http://www.groklaw.net/</url>
20
- </bookmark1>
21
- </entries1>
22
- </folder1>
23
- </entries1>
24
- </folder1>
@@ -1,85 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
-
3
- <company name="ACME inc.">
4
-
5
- <address>
6
- <city>Berlin</city>
7
- <zip>10176</zip>
8
- <street>Unter den Linden</street>
9
- <number>12</number>
10
- </address>
11
-
12
- <offices>
13
- <office speciality="pencils">
14
- <classified>no</classified>
15
- <address>
16
- <city>Hamburg</city>
17
- <zip>18282</zip>
18
- <street>Feldweg</street>
19
- <number>28</number>
20
- </address>
21
- </office>
22
- <office speciality="weapons of mass destruction">
23
- <classified>yes</classified>
24
- <address>
25
- <city>Baghdad</city>
26
- <street>Airport</street>
27
- <number>18</number>
28
- </address>
29
- </office>
30
- </offices>
31
-
32
-
33
- <customers>
34
-
35
- <customer uid="jim">
36
- <name>James Kirk</name>
37
- <payment_method>cash</payment_method>
38
- </customer>
39
-
40
- <customer uid="ernie">
41
- <name>Ernie</name>
42
- <payment_method>sweeties</payment_method>
43
- </customer>
44
-
45
- <customer uid="cm">
46
- <name>Cookie Monster</name>
47
- <payment_method>cookies</payment_method>
48
- </customer>
49
-
50
- <customer uid="sad">
51
- <name>Saddam Hussein</name>
52
- <payment_method>independent arms broker</payment_method>
53
- </customer>
54
-
55
- </customers>
56
-
57
-
58
- <arrtest>
59
- <entry>foo</entry>
60
- <entry>bar</entry>
61
- <entry>baz</entry>
62
- </arrtest>
63
-
64
-
65
- <stuff>
66
- <customer uid="sad">
67
- <name>Saddam Hussein</name>
68
- <payment_method>independent arms broker</payment_method>
69
- </customer>
70
- <address>
71
- <city>Berlin</city>
72
- <zip>10176</zip>
73
- <street>Unter den Linden</street>
74
- <number>12</number>
75
- </address>
76
- <office speciality="weapons of mass destruction">
77
- <classified>yes</classified>
78
- <address>
79
- <city>Baghdad</city>
80
- <street>Airport</street>
81
- <number>18</number>
82
- </address>
83
- </office>
84
- </stuff>
85
- </company>
@@ -1,71 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
-
3
-
4
- <folder>
5
- <name>home</name>
6
-
7
- <entries>
8
- <document>
9
- <name>plan</name>
10
- <contents>
11
- inhale, exhale
12
- eat, drink, sleep
13
- </contents>
14
- </document>
15
-
16
- <folder>
17
- <name>work</name>
18
-
19
- <entries>
20
- <folder>
21
- <name>xml-mapping</name>
22
-
23
- <entries>
24
- <document>
25
- <name>README</name>
26
- <contents>
27
- XML-MAPPING: XML-to-object (and back) mapper
28
- for Ruby, including XPath interpreter
29
- </contents>
30
- </document>
31
- <document>
32
- <name>Rakefile</name>
33
- <contents>
34
- rake away
35
- </contents>
36
- </document>
37
- </entries>
38
- </folder>
39
-
40
- <document>
41
- <name>schedule</name>
42
- <contents>
43
- 12:00 AM lunch
44
- 4:00 PM appointment
45
- </contents>
46
- </document>
47
- </entries>
48
- </folder>
49
-
50
-
51
- <folder>
52
- <name>books</name>
53
-
54
- <entries>
55
- <document>
56
- <name>The Hitchhiker's Guide to the Galaxy</name>
57
- <contents>
58
- The Answer to Life, the Universe, and Everything
59
- </contents>
60
- </document>
61
- <document>
62
- <name>Programming Ruby</name>
63
- <contents>
64
- The Pragmatic Programmer's Guide
65
- </contents>
66
- </document>
67
- </entries>
68
- </folder>
69
-
70
- </entries>
71
- </folder>
@@ -1,30 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
-
3
- <folder>
4
- <name>home</name>
5
-
6
- <entries>
7
- <document>
8
- <name>plan</name>
9
- <contents> inhale, exhale</contents>
10
- </document>
11
-
12
- <folder>
13
- <name>work</name>
14
-
15
- <entries>
16
- <folder>
17
- <name>xml-mapping</name>
18
-
19
- <entries>
20
- <document>
21
- <name>README</name>
22
- <contents>foo bar baz</contents>
23
- </document>
24
- </entries>
25
- </folder>
26
- </entries>
27
- </folder>
28
-
29
- </entries>
30
- </folder>
@@ -1,80 +0,0 @@
1
- class BMNode
2
- attr_accessor :name
3
-
4
- def name=(x)
5
- @name_set="#{x}_set"
6
- @name=x
7
- end
8
-
9
- def name
10
- @name_get="#{@name}_get"
11
- @name
12
- end
13
-
14
- attr_reader :name_set, :name_get
15
-
16
- attr_accessor :last_changed
17
-
18
- def ==(other)
19
- other.name==self.name and
20
- other.last_changed==self.last_changed
21
- end
22
-
23
- def initialize
24
- yield(self) if block_given?
25
- end
26
- end
27
-
28
- class BMFolder < BMNode
29
- attr_accessor :entries
30
-
31
- def ==(other)
32
- super(other) and
33
- self.entries == other.entries
34
- end
35
- end
36
-
37
- class BM < BMNode
38
- attr_accessor :url
39
- attr_accessor :refinement
40
-
41
- def ==(other)
42
- super(other) and
43
- self.url == other.url and
44
- self.refinement == other.refinement
45
- end
46
- end
47
-
48
-
49
-
50
- require 'xml/mapping'
51
-
52
- module Mapping1
53
- class BMFolderMapping < BMFolder
54
- include XML::Mapping
55
-
56
- root_element_name 'folder1'
57
-
58
- text_node :name, "@name"
59
- numeric_node :last_changed, "@last-changed", :default_value=>nil
60
-
61
- array_node :entries, "entries1", "*"
62
- end
63
-
64
- class BMMapping < BM
65
- include XML::Mapping
66
-
67
- root_element_name 'bookmark1'
68
-
69
- text_node :name, "@bmname"
70
- numeric_node :last_changed, "@bmlast-changed", :default_value=>nil
71
-
72
- text_node :url, "url"
73
- object_node :refinement, "refinement", :default_value=>nil
74
- end
75
- end
76
-
77
-
78
- module Mapping2
79
- # TODO
80
- end
@@ -1,2 +0,0 @@
1
- $:.unshift File.dirname(__FILE__)
2
- $:.unshift File.dirname(__FILE__)+"/../lib"
@@ -1,84 +0,0 @@
1
- require File.dirname(__FILE__)+"/tests_init"
2
-
3
- require 'test/unit'
4
- require 'documents_folders'
5
- require 'multiple_mappings'
6
- require 'yaml'
7
-
8
- class XmlMappingAdvancedTest < Test::Unit::TestCase
9
- def setup
10
- @f_xml = REXML::Document.new(File.new(File.dirname(__FILE__) + "/fixtures/documents_folders2.xml"))
11
- @f = XML::Mapping.load_object_from_xml(@f_xml.root)
12
-
13
- @bm1_xml = REXML::Document.new(File.new(File.dirname(__FILE__) + "/fixtures/bookmarks1.xml"))
14
- @bm1 = XML::Mapping.load_object_from_xml(@bm1_xml.root)
15
- end
16
-
17
- def test_read_polymorphic_object
18
- assert_equal YAML::load(<<-EOS), @f
19
- --- !ruby/object:Folder
20
- entries:
21
- - !ruby/object:Document
22
- contents: " inhale, exhale"
23
- name: plan
24
- - !ruby/object:Folder
25
- entries:
26
- - !ruby/object:Folder
27
- entries:
28
- - !ruby/object:Document
29
- contents: foo bar baz
30
- name: README
31
- name: xml-mapping
32
- name: work
33
- name: home
34
- EOS
35
- end
36
-
37
-
38
- def test_read_bookmars1_2
39
- expected = BMFolder.new{|x|
40
- x.name = "root"
41
- x.last_changed = 123
42
- x.entries = [
43
- BM.new{|x|
44
- x.name="ruby"
45
- x.last_changed=345
46
- x.url="http://www.ruby-lang.org"
47
- x.refinement=nil
48
- },
49
- BM.new{|x|
50
- x.name="RAA"
51
- x.last_changed=nil
52
- x.url="http://raa.ruby-lang.org/"
53
- x.refinement=nil
54
- },
55
- BMFolder.new{|x|
56
- x.name="news"
57
- x.last_changed=nil
58
- x.entries = [
59
- BM.new{|x|
60
- x.name="/."
61
- x.last_changed=233
62
- x.url="http://www.slashdot.org/"
63
- x.refinement=nil
64
- },
65
- BM.new{|x|
66
- x.name="groklaw"
67
- x.last_changed=238
68
- x.url="http://www.groklaw.net/"
69
- x.refinement=nil
70
- }
71
- ]
72
- }
73
- ]
74
- }
75
- # need to compare expected==@bm1 because @bm1.== would be the
76
- # XML::Mapping#== defined in xml_mapping_test.rb ...
77
- assert_equal expected, @bm1
78
- assert_equal "root_set", @bm1.name_set
79
- assert_equal "ruby_set", @bm1.entries[0].name_set
80
- @bm1.entries[0].name = "foobar"
81
- assert_equal "foobar_set", @bm1.entries[0].name_set
82
- end
83
- end
84
-
@@ -1,201 +0,0 @@
1
- require File.dirname(__FILE__)+"/tests_init"
2
-
3
- require 'test/unit'
4
- require 'company'
5
-
6
- module XML::Mapping
7
- def ==(other)
8
- Marshal.dump(self) == Marshal.dump(other)
9
- end
10
- end
11
-
12
- class XmlMappingTest < Test::Unit::TestCase
13
- def setup
14
- # need to undo mapping class definitions that may have been
15
- # established by other tests (and outlive those tests)
16
-
17
- # this requires some ugly hackery with internal variables
18
- XML::Mapping.module_eval <<-EOS
19
- Classes_w_default_rootelt_names.clear
20
- Classes_w_nondefault_rootelt_names.clear
21
- EOS
22
- Object.send(:remove_const, "Company")
23
- Object.send(:remove_const, "Address")
24
- Object.send(:remove_const, "Office")
25
- Object.send(:remove_const, "Customer")
26
- $".delete "company.rb"
27
- $:.unshift File.dirname(__FILE__) # test/unit may have undone this (see test/unit/collector/dir.rb)
28
- require 'company'
29
-
30
- @xml = REXML::Document.new(File.new(File.dirname(__FILE__) + "/fixtures/company1.xml"))
31
- @c = Company.load_from_xml(@xml.root)
32
- end
33
-
34
- def test_getter_text_node
35
- assert_equal "bar", @c.ent2
36
- end
37
-
38
- def test_getter_int_node
39
- assert_equal 18, @c.offices[1].address.number
40
- end
41
-
42
- def test_getter_boolean_node
43
- path=XML::XXPath.new("offices/office[2]/classified")
44
- assert_equal(path.first(@xml.root).text == "yes",
45
- @c.offices[1].classified)
46
- end
47
-
48
- def test_getter_hash_node
49
- assert_equal 4, @c.customers.keys.size
50
- ["cm", "ernie", "jim", "sad"].zip(@c.customers.keys.sort).each do |exp,ckey|
51
- assert_equal exp, ckey
52
- assert_equal exp, @c.customers[ckey].uid
53
- end
54
- end
55
-
56
- def test_getter_array_node
57
- assert_equal ["pencils", "weapons of mass destruction"],
58
- @c.offices.map{|o|o.speciality}
59
- end
60
-
61
-
62
- def test_setter_text_node
63
- @c.ent2 = "lalala"
64
- assert_equal "lalala", REXML::XPath.first(@c.save_to_xml, "arrtest/entry[2]").text
65
- end
66
-
67
-
68
- def test_setter_array_node
69
- xml=@c.save_to_xml
70
- assert_equal ["pencils", "weapons of mass destruction"],
71
- XML::XXPath.new("offices/office/@speciality").all(xml).map{|n|n.text}
72
- end
73
-
74
-
75
- def test_setter_hash_node
76
- xml=@c.save_to_xml
77
- assert_equal @c.customers.keys.sort,
78
- XML::XXPath.new("customers/customer/@uid").all(@xml.root).map{|n|n.text}.sort
79
- end
80
-
81
-
82
- def test_setter_boolean_node
83
- @c.offices[0].classified = !@c.offices[0].classified
84
- xml=@c.save_to_xml
85
- assert_equal @c.offices[0].classified,
86
- XML::XXPath.new("offices/office[1]/classified").first(xml).text == "yes"
87
- end
88
-
89
-
90
- def test_root_element
91
- assert_equal @c, XML::Mapping.load_object_from_file(File.dirname(__FILE__) + "/fixtures/company1.xml")
92
- assert_equal @c, XML::Mapping.load_object_from_xml(@xml.root)
93
-
94
- assert_equal "company", Company.root_element_name
95
- assert_equal Company, XML::Mapping.class_for_root_elt_name("company")
96
- xml=@c.save_to_xml
97
- assert_equal "company", xml.name
98
- # Company.root_element_name 'my-test'
99
- Company.class_eval <<-EOS
100
- root_element_name 'my-test'
101
- EOS
102
- assert_equal "my-test", Company.root_element_name
103
- assert_equal Company, XML::Mapping.class_for_root_elt_name("my-test")
104
- assert_nil XML::Mapping.class_for_root_elt_name("company")
105
- xml=@c.save_to_xml
106
- assert_equal "my-test", xml.name
107
- assert_equal "office", @c.offices[0].save_to_xml.name
108
-
109
- assert_raises(XML::MappingError) {
110
- XML::Mapping.load_object_from_xml @xml.root
111
- }
112
- @xml.root.name = 'my-test'
113
- assert_equal @c, XML::Mapping.load_object_from_xml(@xml.root)
114
-
115
- # white-box tests
116
- assert_equal [["my-test", Company]], XML::Mapping::Classes_w_nondefault_rootelt_names.sort
117
- assert_equal [["address", Address], ["customer", Customer], ["office", Office]],
118
- XML::Mapping::Classes_w_default_rootelt_names.sort
119
- end
120
-
121
-
122
- def test_optional_flag
123
- hamburg_address_path = XML::XXPath.new("offices/office[1]/address")
124
- baghdad_address_path = XML::XXPath.new("offices/office[2]/address")
125
- hamburg_zip_path = XML::XXPath.new("offices/office[1]/address/zip")
126
- baghdad_zip_path = XML::XXPath.new("offices/office[2]/address/zip")
127
-
128
- assert_equal 18282, @c.offices[0].address.zip
129
- assert_equal 12576, @c.offices[1].address.zip
130
- xml=@c.save_to_xml
131
- assert_equal "18282", hamburg_zip_path.first(xml).text
132
- assert_nil baghdad_zip_path.first(xml,:allow_nil=>true)
133
- @c.offices[1].address.zip = 12577
134
- xml=@c.save_to_xml
135
- assert_equal "12577", baghdad_zip_path.first(xml).text
136
- c2 = Company.load_from_xml(xml)
137
- assert_equal 12577, c2.offices[1].address.zip
138
- @c.offices[1].address.zip = 12576
139
- xml=@c.save_to_xml
140
- assert_nil baghdad_zip_path.first(xml,:allow_nil=>true)
141
-
142
- hamburg_address_path.first(xml).delete_element("zip")
143
- c3 = Company.load_from_xml(xml)
144
- assert_equal 12576, c3.offices[0].address.zip
145
- hamburg_address_path.first(xml).delete_element("city")
146
- assert_raises(XML::MappingError) {
147
- Company.load_from_xml(xml)
148
- }
149
- end
150
-
151
-
152
- def test_optional_flag_nodefault
153
- hamburg_address_path = XML::XXPath.new("offices/office[1]/address")
154
- hamburg_street_path = XML::XXPath.new("offices/office[1]/address/street")
155
-
156
- assert_equal hamburg_street_path.first(@xml.root).text,
157
- @c.offices[0].address.street
158
-
159
- hamburg_address_path.first(@xml.root).delete_element("street")
160
- c2 = Company.load_from_xml(@xml.root)
161
- assert_nil c2.offices[0].address.street
162
-
163
- xml2=c2.save_to_xml
164
- assert_nil hamburg_street_path.first(xml2,:allow_nil=>true)
165
- end
166
-
167
-
168
- def test_default_value_identity_on_initialize
169
- c = Company.new
170
- assert_equal ["default"], c.test_default_value_identity
171
- c.test_default_value_identity << "foo"
172
-
173
- c2 = Company.new
174
- assert_equal ["default"], c2.test_default_value_identity
175
- end
176
-
177
-
178
- def test_default_value_identity_on_load
179
- assert_equal ["default"], @c.test_default_value_identity
180
- @c.test_default_value_identity << "bar"
181
-
182
- c2 = Company.load_from_file(File.dirname(__FILE__) + "/fixtures/company1.xml")
183
- assert_equal ["default"], c2.test_default_value_identity
184
- end
185
-
186
-
187
- def test_polymorphic_node
188
- assert_equal 3, @c.stuff.size
189
- assert_equal 'Saddam Hussein', @c.stuff[0].name
190
- assert_equal 'Berlin', @c.stuff[1].city
191
- assert_equal 'weapons of mass destruction', @c.stuff[2].speciality
192
-
193
- @c.stuff[1].city = 'Munich'
194
- @c.stuff[2].classified = false
195
-
196
- xml2=@c.save_to_xml
197
- assert_equal 'Munich', xml2.root.elements[5].elements[2].elements[1].text
198
- assert_equal 'no', xml2.root.elements[5].elements[3].elements[1].text
199
- end
200
-
201
- end