rodf 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rodf/skeleton.rb CHANGED
@@ -1,19 +1,6 @@
1
1
  # Copyright (c) 2010 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'erb'
19
6
 
data/lib/rodf/span.rb CHANGED
@@ -1,24 +1,11 @@
1
1
  # Copyright (c) 2010 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
20
- require 'rodf/compatibility'
21
- require 'rodf/paragraph_container'
7
+ require_relative 'compatibility'
8
+ require_relative 'paragraph_container'
22
9
 
23
10
  module RODF
24
11
  class TextNode
@@ -33,6 +20,8 @@ module RODF
33
20
 
34
21
  class Span < ParagraphContainer
35
22
  def initialize(first, second = nil)
23
+ super
24
+
36
25
  @style = nil
37
26
 
38
27
  if first.instance_of?(Symbol)
@@ -68,4 +57,3 @@ module RODF
68
57
  end
69
58
  end
70
59
  end
71
-
@@ -1,25 +1,12 @@
1
1
  # Copyright (c) 2008 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
- require 'rodf/data_style'
19
- require 'rodf/document'
20
- require 'rodf/hyperlink'
21
- require 'rodf/span'
22
- require 'rodf/table'
5
+ require_relative 'data_style'
6
+ require_relative 'document'
7
+ require_relative 'hyperlink'
8
+ require_relative 'span'
9
+ require_relative 'table'
23
10
 
24
11
  module RODF
25
12
  class Spreadsheet < Document
data/lib/rodf/style.rb CHANGED
@@ -1,24 +1,11 @@
1
1
  # Copyright (c) 2008 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
20
- require 'rodf/container'
21
- require 'rodf/property'
7
+ require_relative 'container'
8
+ require_relative 'property'
22
9
 
23
10
  module RODF
24
11
  class Style < Container
@@ -27,6 +14,8 @@ module RODF
27
14
  FAMILIES = {cell: 'table-cell', column: 'table-column', row: 'table-row'}
28
15
 
29
16
  def initialize(name='', opts={}, node_tag='style:style')
17
+ super
18
+
30
19
  @name, @node_tag = name, node_tag
31
20
  @elem_attrs = make_element_attributes(@name, opts)
32
21
  end
@@ -61,4 +50,3 @@ module RODF
61
50
  end
62
51
  end
63
52
  end
64
-
@@ -1,19 +1,6 @@
1
1
  # Copyright (c) 2010 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
@@ -33,8 +20,15 @@ module RODF
33
20
  end
34
21
 
35
22
  def make_element_attributes(opts)
36
- {'number:style' => opts[:style], 'number:textual' => opts[:textual]}
23
+ attrs = {}
24
+
25
+ attrs['number:decimal-places'] = opts[:decimal_places] unless opts[:decimal_places].nil?
26
+ attrs['number:grouping'] = opts[:grouping] unless opts[:grouping].nil?
27
+ attrs['number:min-integer-digits'] = opts[:min_integer_digits] unless opts[:min_integer_digits].nil?
28
+ attrs['number:style'] = opts[:style] unless opts[:style].nil?
29
+ attrs['number:textual'] = opts[:textual] unless opts[:textual].nil?
30
+
31
+ attrs
37
32
  end
38
33
  end
39
34
  end
40
-
data/lib/rodf/tab.rb CHANGED
@@ -1,23 +1,10 @@
1
1
  # Copyright (c) 2010 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
20
- require 'rodf/paragraph_container'
7
+ require_relative 'paragraph_container'
21
8
 
22
9
  module RODF
23
10
  class Tab
data/lib/rodf/table.rb CHANGED
@@ -1,38 +1,43 @@
1
1
  # Copyright (c) 2008 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
20
- require 'rodf/column'
21
- require 'rodf/container'
22
- require 'rodf/row'
7
+ require_relative 'column'
8
+ require_relative 'container'
9
+ require_relative 'row'
23
10
 
24
11
  module RODF
25
12
  class Table < Container
26
13
  contains :rows, :columns
27
14
 
28
- def initialize(title)
15
+ def initialize(title = nil)
29
16
  @title = title
30
17
  @last_row = 0
18
+
19
+ super
31
20
  end
32
21
 
33
22
  alias create_row row
34
- def row(options={}, &contents)
35
- create_row(next_row, options) {instance_eval(&contents) if block_given?}
23
+ def row(options = {}, &contents)
24
+ create_row(next_row, options) do |row|
25
+ if contents
26
+ if contents.arity.zero?
27
+ row.instance_exec(row, &contents)
28
+ else
29
+ yield(row)
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ def add_rows(*rows)
36
+ rows = rows.first if rows.first.first.is_a?(Array)
37
+ rows.each do |row|
38
+ created = self.row
39
+ created.add_cells row
40
+ end
36
41
  end
37
42
 
38
43
  def xml
data/lib/rodf/text.rb CHANGED
@@ -1,28 +1,15 @@
1
1
  # Copyright (c) 2010 Thiago Arrais
2
2
  #
3
3
  # This file is part of rODF.
4
- #
5
- # rODF is free software: you can redistribute it and/or modify
6
- # it under the terms of the GNU Lesser General Public License as
7
- # published by the Free Software Foundation, either version 3 of
8
- # the License, or (at your option) any later version.
9
-
10
- # rODF is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- # GNU Lesser General Public License for more details.
14
-
15
- # You should have received a copy of the GNU Lesser General Public License
16
- # along with rODF. If not, see <http://www.gnu.org/licenses/>.
17
4
 
18
5
  require 'builder'
19
6
 
20
- require 'rodf/document'
21
- require 'rodf/master_page'
22
- require 'rodf/page_layout'
23
- require 'rodf/paragraph'
24
- require 'rodf/span'
25
- require 'rodf/hyperlink'
7
+ require_relative 'document'
8
+ require_relative 'master_page'
9
+ require_relative 'page_layout'
10
+ require_relative 'paragraph'
11
+ require_relative 'span'
12
+ require_relative 'hyperlink'
26
13
 
27
14
  module RODF
28
15
  class Text < Document
data/lib/rodf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RODF
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rodf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-12-03 00:00:00.000000000 Z
13
+ date: 2019-02-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
@@ -27,33 +27,33 @@ dependencies:
27
27
  - !ruby/object:Gem::Version
28
28
  version: '3.0'
29
29
  - !ruby/object:Gem::Dependency
30
- name: rubyzip
30
+ name: dry-inflector
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '1.0'
35
+ version: '0.1'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.0'
42
+ version: '0.1'
43
43
  - !ruby/object:Gem::Dependency
44
- name: activesupport
44
+ name: rubyzip
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '3.0'
49
+ version: '1.0'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: '3.0'
56
+ version: '1.0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -126,14 +126,14 @@ dependencies:
126
126
  version: '1.0'
127
127
  description: ODF generation library for Ruby
128
128
  email:
129
- - westonganger
129
+ - weston@westonganger.com
130
130
  - thiago.arrais@gmail.com
131
131
  executables: []
132
132
  extensions: []
133
133
  extra_rdoc_files: []
134
134
  files:
135
135
  - CHANGELOG.md
136
- - LICENSE.LGPL
136
+ - LICENSE
137
137
  - README.md
138
138
  - Rakefile
139
139
  - lib/rodf.rb
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  requirements: []
182
182
  rubyforge_project:
183
- rubygems_version: 2.5.1
183
+ rubygems_version: 2.7.6
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: This is a library for writing to ODF output from Ruby. It mainly focuses
data/LICENSE.LGPL DELETED
@@ -1,166 +0,0 @@
1
- GNU LESSER GENERAL PUBLIC LICENSE
2
- Version 3, 29 June 2007
3
-
4
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
- Everyone is permitted to copy and distribute verbatim copies
6
- of this license document, but changing it is not allowed.
7
-
8
-
9
- This version of the GNU Lesser General Public License incorporates
10
- the terms and conditions of version 3 of the GNU General Public
11
- License, supplemented by the additional permissions listed below.
12
-
13
- 0. Additional Definitions.
14
-
15
- As used herein, "this License" refers to version 3 of the GNU Lesser
16
- General Public License, and the "GNU GPL" refers to version 3 of the GNU
17
- General Public License.
18
-
19
- "The Library" refers to a covered work governed by this License,
20
- other than an Application or a Combined Work as defined below.
21
-
22
- An "Application" is any work that makes use of an interface provided
23
- by the Library, but which is not otherwise based on the Library.
24
- Defining a subclass of a class defined by the Library is deemed a mode
25
- of using an interface provided by the Library.
26
-
27
- A "Combined Work" is a work produced by combining or linking an
28
- Application with the Library. The particular version of the Library
29
- with which the Combined Work was made is also called the "Linked
30
- Version".
31
-
32
- The "Minimal Corresponding Source" for a Combined Work means the
33
- Corresponding Source for the Combined Work, excluding any source code
34
- for portions of the Combined Work that, considered in isolation, are
35
- based on the Application, and not on the Linked Version.
36
-
37
- The "Corresponding Application Code" for a Combined Work means the
38
- object code and/or source code for the Application, including any data
39
- and utility programs needed for reproducing the Combined Work from the
40
- Application, but excluding the System Libraries of the Combined Work.
41
-
42
- 1. Exception to Section 3 of the GNU GPL.
43
-
44
- You may convey a covered work under sections 3 and 4 of this License
45
- without being bound by section 3 of the GNU GPL.
46
-
47
- 2. Conveying Modified Versions.
48
-
49
- If you modify a copy of the Library, and, in your modifications, a
50
- facility refers to a function or data to be supplied by an Application
51
- that uses the facility (other than as an argument passed when the
52
- facility is invoked), then you may convey a copy of the modified
53
- version:
54
-
55
- a) under this License, provided that you make a good faith effort to
56
- ensure that, in the event an Application does not supply the
57
- function or data, the facility still operates, and performs
58
- whatever part of its purpose remains meaningful, or
59
-
60
- b) under the GNU GPL, with none of the additional permissions of
61
- this License applicable to that copy.
62
-
63
- 3. Object Code Incorporating Material from Library Header Files.
64
-
65
- The object code form of an Application may incorporate material from
66
- a header file that is part of the Library. You may convey such object
67
- code under terms of your choice, provided that, if the incorporated
68
- material is not limited to numerical parameters, data structure
69
- layouts and accessors, or small macros, inline functions and templates
70
- (ten or fewer lines in length), you do both of the following:
71
-
72
- a) Give prominent notice with each copy of the object code that the
73
- Library is used in it and that the Library and its use are
74
- covered by this License.
75
-
76
- b) Accompany the object code with a copy of the GNU GPL and this license
77
- document.
78
-
79
- 4. Combined Works.
80
-
81
- You may convey a Combined Work under terms of your choice that,
82
- taken together, effectively do not restrict modification of the
83
- portions of the Library contained in the Combined Work and reverse
84
- engineering for debugging such modifications, if you also do each of
85
- the following:
86
-
87
- a) Give prominent notice with each copy of the Combined Work that
88
- the Library is used in it and that the Library and its use are
89
- covered by this License.
90
-
91
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
92
- document.
93
-
94
- c) For a Combined Work that displays copyright notices during
95
- execution, include the copyright notice for the Library among
96
- these notices, as well as a reference directing the user to the
97
- copies of the GNU GPL and this license document.
98
-
99
- d) Do one of the following:
100
-
101
- 0) Convey the Minimal Corresponding Source under the terms of this
102
- License, and the Corresponding Application Code in a form
103
- suitable for, and under terms that permit, the user to
104
- recombine or relink the Application with a modified version of
105
- the Linked Version to produce a modified Combined Work, in the
106
- manner specified by section 6 of the GNU GPL for conveying
107
- Corresponding Source.
108
-
109
- 1) Use a suitable shared library mechanism for linking with the
110
- Library. A suitable mechanism is one that (a) uses at run time
111
- a copy of the Library already present on the user's computer
112
- system, and (b) will operate properly with a modified version
113
- of the Library that is interface-compatible with the Linked
114
- Version.
115
-
116
- e) Provide Installation Information, but only if you would otherwise
117
- be required to provide such information under section 6 of the
118
- GNU GPL, and only to the extent that such information is
119
- necessary to install and execute a modified version of the
120
- Combined Work produced by recombining or relinking the
121
- Application with a modified version of the Linked Version. (If
122
- you use option 4d0, the Installation Information must accompany
123
- the Minimal Corresponding Source and Corresponding Application
124
- Code. If you use option 4d1, you must provide the Installation
125
- Information in the manner specified by section 6 of the GNU GPL
126
- for conveying Corresponding Source.)
127
-
128
- 5. Combined Libraries.
129
-
130
- You may place library facilities that are a work based on the
131
- Library side by side in a single library together with other library
132
- facilities that are not Applications and are not covered by this
133
- License, and convey such a combined library under terms of your
134
- choice, if you do both of the following:
135
-
136
- a) Accompany the combined library with a copy of the same work based
137
- on the Library, uncombined with any other library facilities,
138
- conveyed under the terms of this License.
139
-
140
- b) Give prominent notice with the combined library that part of it
141
- is a work based on the Library, and explaining where to find the
142
- accompanying uncombined form of the same work.
143
-
144
- 6. Revised Versions of the GNU Lesser General Public License.
145
-
146
- The Free Software Foundation may publish revised and/or new versions
147
- of the GNU Lesser General Public License from time to time. Such new
148
- versions will be similar in spirit to the present version, but may
149
- differ in detail to address new problems or concerns.
150
-
151
- Each version is given a distinguishing version number. If the
152
- Library as you received it specifies that a certain numbered version
153
- of the GNU Lesser General Public License "or any later version"
154
- applies to it, you have the option of following the terms and
155
- conditions either of that published version or of any later version
156
- published by the Free Software Foundation. If the Library as you
157
- received it does not specify a version number of the GNU Lesser
158
- General Public License, you may choose any version of the GNU Lesser
159
- General Public License ever published by the Free Software Foundation.
160
-
161
- If the Library as you received it specifies that a proxy can decide
162
- whether future versions of the GNU Lesser General Public License shall
163
- apply, that proxy's public statement of acceptance of any version is
164
- permanent authorization for you to choose that version for the
165
- Library.
166
-