mack-pdf_writer 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/lib/gems/archive-tar-minitar-0.5.2/bin/minitar +27 -0
  2. data/lib/gems/archive-tar-minitar-0.5.2/lib/archive/tar/minitar/command.rb +814 -0
  3. data/lib/gems/archive-tar-minitar-0.5.2/lib/archive/tar/minitar.rb +979 -0
  4. data/lib/gems/color-1.4.0/lib/color/cmyk.rb +281 -0
  5. data/lib/gems/color-1.4.0/lib/color/css.rb +30 -0
  6. data/lib/gems/color-1.4.0/lib/color/grayscale.rb +214 -0
  7. data/lib/gems/color-1.4.0/lib/color/hsl.rb +223 -0
  8. data/lib/gems/color-1.4.0/lib/color/palette/adobecolor.rb +274 -0
  9. data/lib/gems/color-1.4.0/lib/color/palette/gimp.rb +118 -0
  10. data/lib/gems/color-1.4.0/lib/color/palette/monocontrast.rb +182 -0
  11. data/lib/gems/color-1.4.0/lib/color/palette.rb +18 -0
  12. data/lib/gems/color-1.4.0/lib/color/rgb/metallic.rb +45 -0
  13. data/lib/gems/color-1.4.0/lib/color/rgb-colors.rb +357 -0
  14. data/lib/gems/color-1.4.0/lib/color/rgb.rb +455 -0
  15. data/lib/gems/color-1.4.0/lib/color/yiq.rb +86 -0
  16. data/lib/gems/color-1.4.0/lib/color.rb +147 -0
  17. data/lib/gems/pdf-writer-1.1.8/bin/techbook +24 -0
  18. data/lib/gems/pdf-writer-1.1.8/lib/pdf/charts/stddev.rb +430 -0
  19. data/lib/gems/pdf-writer-1.1.8/lib/pdf/charts.rb +13 -0
  20. data/lib/gems/pdf-writer-1.1.8/lib/pdf/math.rb +108 -0
  21. data/lib/gems/pdf-writer-1.1.8/lib/pdf/quickref.rb +332 -0
  22. data/lib/gems/pdf-writer-1.1.8/lib/pdf/simpletable.rb +947 -0
  23. data/lib/gems/pdf-writer-1.1.8/lib/pdf/techbook.rb +901 -0
  24. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/arc4.rb +63 -0
  25. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fontmetrics.rb +203 -0
  26. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Courier-Bold.afm +342 -0
  27. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
  28. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Courier-Oblique.afm +342 -0
  29. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Courier.afm +342 -0
  30. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
  31. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
  32. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
  33. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Helvetica.afm +3051 -0
  34. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/MustRead.html +19 -0
  35. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Symbol.afm +213 -0
  36. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Times-Bold.afm +2588 -0
  37. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
  38. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Times-Italic.afm +2667 -0
  39. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/Times-Roman.afm +2419 -0
  40. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/fonts/ZapfDingbats.afm +225 -0
  41. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/graphics/imageinfo.rb +365 -0
  42. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/graphics.rb +813 -0
  43. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/lang/en.rb +99 -0
  44. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/lang.rb +43 -0
  45. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/action.rb +35 -0
  46. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/annotation.rb +42 -0
  47. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/catalog.rb +39 -0
  48. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/contents.rb +65 -0
  49. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/destination.rb +40 -0
  50. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/encryption.rb +53 -0
  51. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/font.rb +72 -0
  52. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/fontdescriptor.rb +34 -0
  53. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/fontencoding.rb +40 -0
  54. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/image.rb +304 -0
  55. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/info.rb +51 -0
  56. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/outline.rb +30 -0
  57. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/outlines.rb +30 -0
  58. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/page.rb +195 -0
  59. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/pages.rb +115 -0
  60. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/procset.rb +46 -0
  61. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object/viewerpreferences.rb +74 -0
  62. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/object.rb +23 -0
  63. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/ohash.rb +58 -0
  64. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/oreader.rb +25 -0
  65. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/state.rb +48 -0
  66. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer/strokestyle.rb +138 -0
  67. data/lib/gems/pdf-writer-1.1.8/lib/pdf/writer.rb +2729 -0
  68. data/lib/gems/transaction-simple-1.4.0/lib/transaction/simple/group.rb +146 -0
  69. data/lib/gems/transaction-simple-1.4.0/lib/transaction/simple/threadsafe/group.rb +36 -0
  70. data/lib/gems/transaction-simple-1.4.0/lib/transaction/simple/threadsafe.rb +68 -0
  71. data/lib/gems/transaction-simple-1.4.0/lib/transaction/simple.rb +486 -0
  72. data/lib/gems.rb +13 -0
  73. data/lib/mack-pdf_writer.rb +2 -0
  74. metadata +111 -16
@@ -0,0 +1,146 @@
1
+ #--
2
+ # Transaction::Simple
3
+ # Simple object transaction support for Ruby
4
+ # http://rubyforge.org/projects/trans-simple/
5
+ # Version 1.4.0
6
+ #
7
+ # Licensed under a MIT-style licence. See Licence.txt in the main
8
+ # distribution for full licensing information.
9
+ #
10
+ # Copyright (c) 2003 - 2007 Austin Ziegler
11
+ #
12
+ # $Id: group.rb 47 2007-02-03 15:02:51Z austin $
13
+ #++
14
+ require 'transaction/simple'
15
+
16
+ # A transaction group is an object wrapper that manages a group of objects
17
+ # as if they were a single object for the purpose of transaction
18
+ # management. All transactions for this group of objects should be
19
+ # performed against the transaction group object, not against individual
20
+ # objects in the group.
21
+ #
22
+ # == Transaction Group Usage
23
+ # require 'transaction/simple/group'
24
+ #
25
+ # x = "Hello, you."
26
+ # y = "And you, too."
27
+ #
28
+ # g = Transaction::Simple::Group.new(x, y)
29
+ # g.start_transaction(:first) # -> [ x, y ]
30
+ # g.transaction_open?(:first) # -> true
31
+ # x.transaction_open?(:first) # -> true
32
+ # y.transaction_open?(:first) # -> true
33
+ #
34
+ # x.gsub!(/you/, "world") # -> "Hello, world."
35
+ # y.gsub!(/you/, "me") # -> "And me, too."
36
+ #
37
+ # g.start_transaction(:second) # -> [ x, y ]
38
+ # x.gsub!(/world/, "HAL") # -> "Hello, HAL."
39
+ # y.gsub!(/me/, "Dave") # -> "And Dave, too."
40
+ # g.rewind_transaction(:second) # -> [ x, y ]
41
+ # x # -> "Hello, world."
42
+ # y # -> "And me, too."
43
+ #
44
+ # x.gsub!(/world/, "HAL") # -> "Hello, HAL."
45
+ # y.gsub!(/me/, "Dave") # -> "And Dave, too."
46
+ #
47
+ # g.commit_transaction(:second) # -> [ x, y ]
48
+ # x # -> "Hello, HAL."
49
+ # y # -> "And Dave, too."
50
+ #
51
+ # g.abort_transaction(:first) # -> [ x, y ]
52
+ # x = -> "Hello, you."
53
+ # y = -> "And you, too."
54
+ class Transaction::Simple::Group
55
+ # Creates a transaction group for the provided objects. If a block is
56
+ # provided, the transaction group object is yielded to the block; when
57
+ # the block is finished, the transaction group object will be cleared
58
+ # with #clear.
59
+ def initialize(*objects)
60
+ @objects = objects || []
61
+ @objects.freeze
62
+ @objects.each { |obj| obj.extend(Transaction::Simple) }
63
+
64
+ if block_given?
65
+ begin
66
+ yield self
67
+ ensure
68
+ self.clear
69
+ end
70
+ end
71
+ end
72
+
73
+ # Returns the objects that are covered by this transaction group.
74
+ attr_reader :objects
75
+
76
+ # Clears the object group. Removes references to the objects so that
77
+ # they can be garbage collected.
78
+ def clear
79
+ @objects = @objects.dup.clear
80
+ end
81
+
82
+ # Tests to see if all of the objects in the group have an open
83
+ # transaction. See Transaction::Simple#transaction_open? for more
84
+ # information.
85
+ def transaction_open?(name = nil)
86
+ @objects.inject(true) do |val, obj|
87
+ val = val and obj.transaction_open?(name)
88
+ end
89
+ end
90
+
91
+ # Returns the current name of the transaction for the group.
92
+ # Transactions not explicitly named are named +nil+.
93
+ def transaction_name
94
+ @objects[0].transaction_name
95
+ end
96
+
97
+ # Starts a transaction for the group. Stores the current object state.
98
+ # If a transaction name is specified, the transaction will be named.
99
+ # Transaction names must be unique. Transaction names of +nil+ will be
100
+ # treated as unnamed transactions.
101
+ def start_transaction(name = nil)
102
+ @objects.each { |obj| obj.start_transaction(name) }
103
+ end
104
+
105
+ # Rewinds the transaction. If +name+ is specified, then the intervening
106
+ # transactions will be aborted and the named transaction will be
107
+ # rewound. Otherwise, only the current transaction is rewound.
108
+ def rewind_transaction(name = nil)
109
+ @objects.each { |obj| obj.rewind_transaction(name) }
110
+ end
111
+
112
+ # Aborts the transaction. Resets the object state to what it was before
113
+ # the transaction was started and closes the transaction. If +name+ is
114
+ # specified, then the intervening transactions and the named transaction
115
+ # will be aborted. Otherwise, only the current transaction is aborted.
116
+ #
117
+ # If the current or named transaction has been started by a block
118
+ # (Transaction::Simple.start), then the execution of the block will be
119
+ # halted with +break+ +self+.
120
+ def abort_transaction(name = nil)
121
+ @objects.each { |obj| obj.abort_transaction(name) }
122
+ end
123
+
124
+ # If +name+ is +nil+ (default), the current transaction level is closed
125
+ # out and the changes are committed.
126
+ #
127
+ # If +name+ is specified and +name+ is in the list of named
128
+ # transactions, then all transactions are closed and committed until the
129
+ # named transaction is reached.
130
+ def commit_transaction(name = nil)
131
+ @objects.each { |obj| obj.commit_transaction(name) }
132
+ end
133
+
134
+ # Alternative method for calling the transaction methods. An optional
135
+ # name can be specified for named transaction support.
136
+ #
137
+ # #transaction(:start):: #start_transaction
138
+ # #transaction(:rewind):: #rewind_transaction
139
+ # #transaction(:abort):: #abort_transaction
140
+ # #transaction(:commit):: #commit_transaction
141
+ # #transaction(:name):: #transaction_name
142
+ # #transaction:: #transaction_open?
143
+ def transaction(action = nil, name = nil)
144
+ @objects.each { |obj| obj.transaction(action, name) }
145
+ end
146
+ end
@@ -0,0 +1,36 @@
1
+ #--
2
+ # Transaction::Simple
3
+ # Simple object transaction support for Ruby
4
+ # http://rubyforge.org/projects/trans-simple/
5
+ # Version 1.4.0
6
+ #
7
+ # Licensed under a MIT-style licence. See Licence.txt in the main
8
+ # distribution for full licensing information.
9
+ #
10
+ # Copyright (c) 2003 - 2007 Austin Ziegler
11
+ #
12
+ # $Id: group.rb 47 2007-02-03 15:02:51Z austin $
13
+ #++
14
+ require 'transaction/simple/threadsafe'
15
+
16
+ # A transaction group is an object wrapper that manages a group of objects
17
+ # as if they were a single object for the purpose of transaction
18
+ # management. All transactions for this group of objects should be
19
+ # performed against the transaction group object, not against individual
20
+ # objects in the group. This is the threadsafe version of a transaction
21
+ # group.
22
+ class Transaction::Simple::ThreadSafe::Group < Transaction::Simple::Group
23
+ def initialize(*objects)
24
+ @objects = objects || []
25
+ @objects.freeze
26
+ @objects.each { |obj| obj.extend(Transaction::Simple::ThreadSafe) }
27
+
28
+ if block_given?
29
+ begin
30
+ yield self
31
+ ensure
32
+ self.clear
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,68 @@
1
+ #--
2
+ # Transaction::Simple
3
+ # Simple object transaction support for Ruby
4
+ # http://rubyforge.org/projects/trans-simple/
5
+ # Version 1.4.0
6
+ #
7
+ # Licensed under a MIT-style licence. See Licence.txt in the main
8
+ # distribution for full licensing information.
9
+ #
10
+ # Copyright (c) 2003 - 2007 Austin Ziegler
11
+ #
12
+ # $Id: threadsafe.rb 50 2007-02-03 20:26:19Z austin $
13
+ #++
14
+ require 'transaction/simple'
15
+ require 'thread'
16
+
17
+ module Transaction
18
+ # A standard exception for transaction errors involving threadsafe
19
+ # transactions.
20
+ class TransactionThreadError < TransactionError; end
21
+ end
22
+
23
+ # = Transaction::Simple::ThreadSafe
24
+ # Thread-safe simple object transaction support for Ruby.
25
+ # Transaction::Simple::ThreadSafe is used in the same way as
26
+ # Transaction::Simple. Transaction::Simple::ThreadSafe uses a Mutex object
27
+ # to ensure atomicity at the cost of performance in threaded applications.
28
+ #
29
+ # Transaction::Simple::ThreadSafe will not wait to obtain a lock; if the
30
+ # lock cannot be obtained immediately, a
31
+ # Transaction::TransactionThreadError will be raised.
32
+ #
33
+ # Thanks to Mauricio Fernandez for help with getting this part working.
34
+ #
35
+ # Threadsafe transactions can be used in any place that normal
36
+ # transactions would. The main difference would be in setup:
37
+ #
38
+ # require 'transaction/simple/threadsafe'
39
+ #
40
+ # x = "Hello, you."
41
+ # x.extend(Transaction::Simple::ThreadSafe) # Threadsafe
42
+ #
43
+ # y = "Hello, you."
44
+ # y.extend(Transaction::Simple) # Not threadsafe
45
+ module Transaction::Simple::ThreadSafe
46
+ include Transaction::Simple
47
+
48
+ SKIP_TRANSACTION_VARS = Transaction::Simple::SKIP_TRANSACTION_VARS.dup #:nodoc:
49
+ SKIP_TRANSACTION_VARS << "@__transaction_mutex__"
50
+
51
+ Transaction::Simple.instance_methods(false) do |meth|
52
+ next if meth == "transaction"
53
+ arg = "(name = nil)" unless meth == "transaction_name"
54
+ module_eval <<-EOS
55
+ def #{meth}#{arg}
56
+ if (@__transaction_mutex__ ||= Mutex.new).try_lock
57
+ result = super
58
+ @__transaction_mutex__.unlock
59
+ return result
60
+ else
61
+ raise TransactionThreadError, Messages[:cannot_obtain_transaction_lock] % meth
62
+ end
63
+ ensure
64
+ @__transaction_mutex__.unlock
65
+ end
66
+ EOS
67
+ end
68
+ end