pdf-labels 1.0.0 → 1.0.1

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 (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