barcoder 1.0.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.
@@ -0,0 +1 @@
1
+ Mon, 23 Nov 2009 00:22:15 -0800
@@ -0,0 +1,233 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: README</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>README</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>README
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Nov 23 00:20:30 -0800 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <p>
73
+ Barcoder, v 1.0
74
+ </p>
75
+ <h6>=========</h6>
76
+ <p>
77
+ ### Author : Derek Perez
78
+ </p>
79
+ <p>
80
+ inspired (heavily) by the work of Author: Anuj Luthra. He originally wrote
81
+ the library barcode_generator (<a
82
+ href="http://github.com/anujluthra/barcode-generator">github.com/anujluthra/barcode-generator</a>/),
83
+ that this library is based on.
84
+ </p>
85
+ <p>
86
+ This library is designed to support streaming barcode information, from
87
+ GBarcode, straight to the web browser using data urls (<a
88
+ href="http://en.wikipedia.org/wiki/Data_URI_scheme">en.wikipedia.org/wiki/Data_URI_scheme</a>).
89
+ This is ideal for no-write filesystem scenarios. It also supports
90
+ persisting the barcodes to disk, but this is an optional function. By
91
+ default, data urls are used. Barcode generator makes generating/displaying
92
+ barcodes for certain alphanumeric ids a piece of cake. This way we can
93
+ generate any barcode type which Gbarcode -&gt; Gnome Barcode project
94
+ supports.
95
+ </p>
96
+ <p>
97
+ ### FAQ
98
+ </p>
99
+ <p>
100
+ #### Why did you create this plugin?
101
+ </p>
102
+ <p>
103
+ barcode_generator is an awesome plugin, however, it does not interact very
104
+ well with non-write filesystem style servers, ie: Heroku, or EC2. In the
105
+ cloud, you can&#8216;t be writing files to the filesystem (usually)
106
+ directly, so I thought it was necessary to write a plugin that could use
107
+ data urls (<a
108
+ href="http://en.wikipedia.org/wiki/Data_URI_scheme">en.wikipedia.org/wiki/Data_URI_scheme</a>)
109
+ to stream the barcode to the browser, __with no filesystem writes
110
+ whatsoever.__
111
+ </p>
112
+ <p>
113
+ #### Why didn&#8216;t you just fork his plugin?
114
+ </p>
115
+ <p>
116
+ Anuj appeared to not want to rely directly on the RMagick gem itself.
117
+ Instead, he was calling imagemagick&#8216;s configure command via
118
+ Kernel#system. There is nothing wrong with this, but I did not want to add
119
+ back this dependency if he didn&#8216;t need/want it. Also, I substantially
120
+ re-wrote how the plugin generates the barcode with gbarcode.
121
+ </p>
122
+ <p>
123
+ #### Is your API compatible with barcode_generator?
124
+ </p>
125
+ <p>
126
+ Yes, it should work identically.
127
+ </p>
128
+ <p>
129
+ ### USAGE: its as simple as saying: `&lt;%= to_barcode &#8216;FJJ4JD&#8217;
130
+ %&gt; `
131
+ </p>
132
+ <p>
133
+ This will generate a barcode for FJJ4JD in BARCODE_39 format with default
134
+ width and height and include it in the view.
135
+ </p>
136
+ <p>
137
+ ### Options Options Options: To customize your barcodes, you can optionally
138
+ pass following information in your views
139
+ </p>
140
+ <pre>
141
+ + encoding_format (Gbarcode constants for eg. Gbarcode::BARCODE_128 etc..)
142
+ + width
143
+ + height
144
+ + scaling_factor
145
+ + xoff
146
+ + yoff
147
+ + margin
148
+ + no_ascii (accepts boolean true or false, prevents the ascii string from printing at the bottom of the barcode)
149
+ + output_type (accepts :disk or :stream. :disk will print the image to disk, and serve it regularly.)
150
+ </pre>
151
+ <p>
152
+ in this case your view will look like:
153
+ </p>
154
+ <pre>
155
+ &lt;%= to_barcode 'ANUJ', :height =&gt; 100,
156
+ :width =&gt; 400,
157
+ :margin =&gt; 100,
158
+ :xoff =&gt; 20,
159
+ :yoff =&gt; 40
160
+ %&gt;
161
+ </pre>
162
+ <p>
163
+ ### Installation: First install these requirements:
164
+ </p>
165
+ <pre>
166
+ 1. gem for gbarcode
167
+ 2. install native ImageMagick library (and RMagick)
168
+ </pre>
169
+ <p>
170
+ Next, install Barcoder:
171
+ </p>
172
+ <p>
173
+ `install from git : git://github.com/perezd/barcoder.git`
174
+ </p>
175
+ <p>
176
+ ### Supported Barcode Formats: Gbarcode as of now allows us to generate
177
+ barcodes in following formats:
178
+ </p>
179
+ <pre>
180
+ BARCODE_EAN
181
+ BARCODE_UPC
182
+ BARCODE_ISBN
183
+ BARCODE_128B
184
+ BARCODE_128C
185
+ BARCODE_128
186
+ BARCODE_128RAW
187
+ BARCODE_39
188
+ BARCODE_I25
189
+ BARCODE_CBR
190
+ BARCODE_MSI
191
+ BARCODE_PLS
192
+ BARCODE_93
193
+ BARCODE_ANY
194
+ BARCODE_NO_CHECKSUM
195
+ </pre>
196
+ <p>
197
+ for more information on Gbarcode visit <a
198
+ href="http://gbarcode.rubyforge.org/rdoc/index.html">gbarcode.rubyforge.org/rdoc/index.html</a>
199
+ Many many thanks to Anuj Luthra for solving the initial hard work!
200
+ </p>
201
+
202
+ </div>
203
+
204
+
205
+ </div>
206
+
207
+
208
+ </div>
209
+
210
+
211
+ <!-- if includes -->
212
+
213
+ <div id="section">
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+ <!-- if method_list -->
223
+
224
+
225
+ </div>
226
+
227
+
228
+ <div id="validator-badges">
229
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
230
+ </div>
231
+
232
+ </body>
233
+ </html>
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: barcoder.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>barcoder.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/barcoder.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Nov 23 00:19:25 -0800 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <p>
73
+ Barcoder, v.1.0 written by: Derek Perez (derek@derekperez.com) 2009
74
+ inspired (heavily) by the work of Author: Anuj Luthra. He originally wrote
75
+ the library barcode_generator (<a
76
+ href="http://github.com/anujluthra/barcode-generator">github.com/anujluthra/barcode-generator</a>/),
77
+ that this library is based on.
78
+ </p>
79
+ <p>
80
+ This library is designed to support streaming barcode information, from
81
+ GBarcode, straight to the web browser using data urls (<a
82
+ href="http://en.wikipedia.org/wiki/Data_URI_scheme">en.wikipedia.org/wiki/Data_URI_scheme</a>).
83
+ This is ideal for no-write filesystem scenarios. It also supports
84
+ persisting the barcodes to disk, but this is an optional function. By
85
+ default, data urls are used.
86
+ </p>
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+
110
+
111
+ </div>
112
+
113
+
114
+ <div id="validator-badges">
115
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
116
+ </div>
117
+
118
+ </body>
119
+ </html>
@@ -0,0 +1,28 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Classes
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Classes</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Classes</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/ActionView.html">ActionView</a><br />
24
+ <a href="classes/ActionView/Base.html">ActionView::Base</a><br />
25
+ </div>
26
+ </div>
27
+ </body>
28
+ </html>
@@ -0,0 +1,28 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Files
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Files</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Files</h1>
22
+ <div id="index-entries">
23
+ <a href="files/README.html">README</a><br />
24
+ <a href="files/lib/barcoder_rb.html">lib/barcoder.rb</a><br />
25
+ </div>
26
+ </div>
27
+ </body>
28
+ </html>
@@ -0,0 +1,31 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/ActionView/Base.html#M000002">barcode (ActionView::Base)</a><br />
24
+ <a href="classes/ActionView/Base.html#M000003">barcode_to_disk (ActionView::Base)</a><br />
25
+ <a href="classes/ActionView/Base.html#M000004">barcode_to_stream (ActionView::Base)</a><br />
26
+ <a href="classes/ActionView/Base.html#M000005">get_bytes_from_barcode (ActionView::Base)</a><br />
27
+ <a href="classes/ActionView/Base.html#M000001">to_barcode (ActionView::Base)</a><br />
28
+ </div>
29
+ </div>
30
+ </body>
31
+ </html>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
+
6
+ <!--
7
+
8
+ Barcoder
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>Barcoder</title>
14
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
+ </head>
16
+ <frameset rows="20%, 80%">
17
+ <frameset cols="25%,35%,45%">
18
+ <frame src="fr_file_index.html" title="Files" name="Files" />
19
+ <frame src="fr_class_index.html" name="Classes" />
20
+ <frame src="fr_method_index.html" name="Methods" />
21
+ </frameset>
22
+ <frame src="files/README.html" name="docwin" />
23
+ </frameset>
24
+ </html>