documatic 0.2.0 → 0.2.2
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.
- data/LICENSE +1 -0
- data/README +2 -19
- data/Rakefile +57 -0
- data/lib/documatic/open_document_spreadsheet/template.rb +32 -23
- metadata +96 -68
data/LICENSE
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
All original material is (p) Public Domain, No Rights Reserved. Documatic comes with no warranty whatsoever.
|
data/README
CHANGED
@@ -36,14 +36,8 @@ Rendering using an OpenDocument spreadsheet is done like this:
|
|
36
36
|
|
37
37
|
Documatic creates the output path if required.
|
38
38
|
|
39
|
-
The wiki (see below) has more documentation and examples, plus simple
|
40
|
-
tutorials to illustrate how text and spreadsheet rendering works.
|
41
39
|
|
42
40
|
|
43
|
-
== Version
|
44
|
-
|
45
|
-
0.2.0, released 26-APR-2008.
|
46
|
-
|
47
41
|
|
48
42
|
== Licence
|
49
43
|
|
@@ -54,20 +48,9 @@ Documatic comes with no warranty whatsoever.
|
|
54
48
|
|
55
49
|
== Support
|
56
50
|
|
57
|
-
|
58
|
-
|
59
|
-
the main source of information for end-users. The tracking system is
|
60
|
-
where bug reports should be filed.
|
61
|
-
|
62
|
-
Users can discuss Documatic on the Ruby Reports mailing list at
|
51
|
+
Zachris note may 2010
|
52
|
+
Documatic seems to be unmaintained. Please read the sourcecode or discuss on
|
63
53
|
http://groups.google.com/group/ruby-reports.
|
64
54
|
|
65
|
-
The Subversion repository for Documatic is at
|
66
|
-
http://stonecode.svnrepository.com/svn/documatic.
|
67
55
|
|
68
|
-
The Rubyforge project page for Documatic is at
|
69
|
-
http://rubyforge.org/projects/documatic. The Documatic rubygem is
|
70
|
-
distributed from there.
|
71
56
|
|
72
|
-
For any other enquiries please contact Dave Nelson (urbanus at 240gl
|
73
|
-
dot org).
|
data/Rakefile
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
#from http://blog.101ideas.cz/post/353002256/the-truth-about-gemspecs
|
2
|
+
# encoding: utf-8
|
3
|
+
require "base64"
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require 'rake'
|
7
|
+
require 'rake/clean'
|
8
|
+
require 'rake/gempackagetask'
|
9
|
+
require 'rake/rdoctask'
|
10
|
+
require 'rake/testtask'
|
11
|
+
|
12
|
+
spec = Gem::Specification.new do |s|
|
13
|
+
s.name = 'documatic'
|
14
|
+
s.version = '0.2.2'
|
15
|
+
s.has_rdoc = true
|
16
|
+
s.extra_rdoc_files = ['README', 'LICENSE']
|
17
|
+
s.summary = 'Documatic is an OpenDocument extension for Ruby Reports (Ruport). It is a template-driven formatter that can be used to produce attractive printable documents such as database reports, invoices, letters, faxes and more.'
|
18
|
+
s.description = s.summary
|
19
|
+
s.author = %q{"urbanus" "Antonio Liccardo" "Zachris Trolin"}
|
20
|
+
#s.email = 'urbanus@240gl.org'
|
21
|
+
s.email = Base64.decode64("dHV4bWFsQHRpc2NhbGkuaXQK\n")
|
22
|
+
s.homepage = "http://github.com/tuxmal/documatic"
|
23
|
+
# s.executables = ['your_executable_here']
|
24
|
+
s.files = %w(LICENSE README Rakefile) + Dir.glob("{bin,lib,spec}/**/*")
|
25
|
+
#s.files = FileList["lib/**/**", "tutorials/**/**/**"].to_a
|
26
|
+
#s.test_files = FileList["{test}/**/*test.rb"].to_a
|
27
|
+
s.require_path = "lib"
|
28
|
+
s.bindir = "bin"
|
29
|
+
s.platform = Gem::Platform::RUBY
|
30
|
+
s.autorequire = "documatic.rb"
|
31
|
+
s.add_dependency("ruport")
|
32
|
+
s.add_dependency("rubyzip")
|
33
|
+
end
|
34
|
+
|
35
|
+
Rake::GemPackageTask.new(spec) do |p|
|
36
|
+
p.gem_spec = spec
|
37
|
+
p.need_tar = true
|
38
|
+
p.need_zip = true
|
39
|
+
end
|
40
|
+
|
41
|
+
task :default => "pkg/#{spec.name}-#{spec.version}.gem" do
|
42
|
+
puts "generated latest version"
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
Rake::RDocTask.new do |rdoc|
|
47
|
+
files =['README', 'LICENSE', 'lib/**/*.rb']
|
48
|
+
rdoc.rdoc_files.add(files)
|
49
|
+
rdoc.main = "README" # page to start on
|
50
|
+
rdoc.title = "testeach Docs"
|
51
|
+
rdoc.rdoc_dir = 'doc/rdoc' # rdoc output folder
|
52
|
+
rdoc.options << '--line-numbers'
|
53
|
+
end
|
54
|
+
|
55
|
+
Rake::TestTask.new do |t|
|
56
|
+
t.test_files = FileList['test/**/*.rb']
|
57
|
+
end
|
@@ -77,6 +77,10 @@ module Documatic::OpenDocumentSpreadsheet
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def close
|
80
|
+
# To get rid of an annoying message about corrupted files in OOCalc 3.2.0
|
81
|
+
# we most remove the compiled content before we close our ODS file.
|
82
|
+
self.jar.remove('documatic/master/content.erb')
|
83
|
+
# Now we can safely close our document.
|
80
84
|
self.jar.close
|
81
85
|
end
|
82
86
|
|
@@ -105,6 +109,7 @@ module Documatic::OpenDocumentSpreadsheet
|
|
105
109
|
return REXML::Text.unnormalize(code)
|
106
110
|
end
|
107
111
|
|
112
|
+
|
108
113
|
# Massage OpenDocument XML into ERb. (This is the heart of the compiler.)
|
109
114
|
def erbify(code)
|
110
115
|
# First gather all the ERb-related derived styles
|
@@ -146,32 +151,36 @@ module Documatic::OpenDocumentSpreadsheet
|
|
146
151
|
|
147
152
|
result += md.pre_match
|
148
153
|
|
149
|
-
match_code = false
|
150
|
-
match_row = false
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
end
|
154
|
+
#match_code = false
|
155
|
+
#match_row = false
|
156
|
+
|
157
|
+
# if md[ROW_START] and md[ROW_END]
|
158
|
+
# match_row=true
|
159
|
+
# end
|
160
|
+
|
161
|
+
skip_row=false
|
162
|
+
#create cells, but dont append
|
163
|
+
cells= case styles[md[TYPE]]
|
164
|
+
when "Code" then
|
165
|
+
skip_row=true
|
166
|
+
"<% #{self.unnormalize md[ERB_CODE]} %>"
|
167
|
+
when "Literal" then "<%= #{self.unnormalize md[ERB_CODE]} %>"
|
168
|
+
when "Value" then "<%=cell (#{self.unnormalize md[ERB_CODE] }) %>" #let helper build the correct "cell"
|
169
|
+
end
|
166
170
|
|
167
|
-
if
|
168
|
-
|
171
|
+
#fist see if we should open row tag
|
172
|
+
#
|
173
|
+
#N.B - this assumes that there should be NO CELL VALUS after this one on the same row (will create invalid document)...
|
174
|
+
if md[ROW_START] and not skip_row
|
175
|
+
result+= md[ROW_START]
|
169
176
|
end
|
170
|
-
|
171
|
-
result += "#{delim_start}#{self.unnormalize md[ERB_CODE]}#{delim_end}"
|
172
177
|
|
173
|
-
|
174
|
-
result
|
178
|
+
#then cell body
|
179
|
+
result+=cells
|
180
|
+
|
181
|
+
#then close
|
182
|
+
if md[ROW_END] and not skip_row
|
183
|
+
result += md[ROW_END]
|
175
184
|
end
|
176
185
|
|
177
186
|
remaining = md.post_match
|
metadata
CHANGED
@@ -1,82 +1,110 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: documatic
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
-
|
11
|
-
|
12
|
-
|
13
|
-
rubyforge_project: documatic
|
14
|
-
description:
|
15
|
-
autorequire: init.rb
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
hash: 19
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
25
11
|
platform: ruby
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
files:
|
32
|
-
- lib/
|
33
|
-
- lib/documatic.rb
|
34
|
-
- lib/documatic/
|
35
|
-
- lib/documatic/component.rb
|
36
|
-
- lib/documatic/formatter/
|
37
|
-
- lib/documatic/formatter/open_document.rb
|
38
|
-
- lib/documatic/init.rb
|
39
|
-
- lib/documatic/open_document_spreadsheet/
|
40
|
-
- lib/documatic/open_document_spreadsheet/component.rb
|
41
|
-
- lib/documatic/open_document_spreadsheet/helper.rb
|
42
|
-
- lib/documatic/open_document_spreadsheet/template.rb
|
43
|
-
- lib/documatic/open_document_text/
|
44
|
-
- lib/documatic/open_document_text/component.rb
|
45
|
-
- lib/documatic/open_document_text/helper.rb
|
46
|
-
- lib/documatic/open_document_text/partial.rb
|
47
|
-
- lib/documatic/open_document_text/template.rb
|
48
|
-
- tests
|
49
|
-
- README
|
50
|
-
test_files: []
|
51
|
-
|
52
|
-
rdoc_options:
|
53
|
-
- --main
|
54
|
-
- README
|
55
|
-
- --inline-source
|
56
|
-
extra_rdoc_files:
|
57
|
-
- README
|
58
|
-
executables: []
|
59
|
-
|
60
|
-
extensions: []
|
61
|
-
|
62
|
-
requirements: []
|
12
|
+
authors:
|
13
|
+
- "\"urbanus\" \"Antonio Liccardo\" \"Zachris Trolin\""
|
14
|
+
autorequire: documatic.rb
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
63
17
|
|
18
|
+
date: 2010-07-30 00:00:00 +02:00
|
19
|
+
default_executable:
|
64
20
|
dependencies:
|
65
21
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
67
|
-
|
68
|
-
|
22
|
+
name: ruport
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
69
26
|
requirements:
|
70
27
|
- - ">="
|
71
28
|
- !ruby/object:Gem::Version
|
72
|
-
|
73
|
-
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
74
35
|
- !ruby/object:Gem::Dependency
|
75
|
-
name:
|
76
|
-
|
77
|
-
|
36
|
+
name: rubyzip
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
78
40
|
requirements:
|
79
41
|
- - ">="
|
80
42
|
- !ruby/object:Gem::Version
|
81
|
-
|
82
|
-
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
description: Documatic is an OpenDocument extension for Ruby Reports (Ruport). It is a template-driven formatter that can be used to produce attractive printable documents such as database reports, invoices, letters, faxes and more.
|
50
|
+
email: |
|
51
|
+
tuxmal@tiscali.it
|
52
|
+
|
53
|
+
executables: []
|
54
|
+
|
55
|
+
extensions: []
|
56
|
+
|
57
|
+
extra_rdoc_files:
|
58
|
+
- README
|
59
|
+
- LICENSE
|
60
|
+
files:
|
61
|
+
- LICENSE
|
62
|
+
- README
|
63
|
+
- Rakefile
|
64
|
+
- lib/documatic/open_document_text/template.rb
|
65
|
+
- lib/documatic/open_document_text/component.rb
|
66
|
+
- lib/documatic/open_document_text/partial.rb
|
67
|
+
- lib/documatic/open_document_text/helper.rb
|
68
|
+
- lib/documatic/formatter/open_document.rb
|
69
|
+
- lib/documatic/open_document_spreadsheet/template.rb
|
70
|
+
- lib/documatic/open_document_spreadsheet/component.rb
|
71
|
+
- lib/documatic/open_document_spreadsheet/helper.rb
|
72
|
+
- lib/documatic/component.rb
|
73
|
+
- lib/documatic/init.rb
|
74
|
+
- lib/documatic.rb
|
75
|
+
has_rdoc: true
|
76
|
+
homepage: http://github.com/tuxmal/documatic
|
77
|
+
licenses: []
|
78
|
+
|
79
|
+
post_install_message:
|
80
|
+
rdoc_options: []
|
81
|
+
|
82
|
+
require_paths:
|
83
|
+
- lib
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
version: "0"
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
hash: 3
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
version: "0"
|
102
|
+
requirements: []
|
103
|
+
|
104
|
+
rubyforge_project:
|
105
|
+
rubygems_version: 1.3.7
|
106
|
+
signing_key:
|
107
|
+
specification_version: 3
|
108
|
+
summary: Documatic is an OpenDocument extension for Ruby Reports (Ruport). It is a template-driven formatter that can be used to produce attractive printable documents such as database reports, invoices, letters, faxes and more.
|
109
|
+
test_files: []
|
110
|
+
|