ctioga2 0.5 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,7 +16,7 @@ require 'logger'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 327 $', '$Date: 2012-11-28 14:47:52 +0100 (Wed, 28 Nov 2012) $')
19
+ Version::register_svn_info('$Revision: 497 $', '$Date: 2013-09-04 22:07:55 +0200 (Wed, 04 Sep 2013) $')
20
20
 
21
21
  # This module should be included (or extended) by every class that
22
22
  # need logging/debugging facilities.
@@ -70,6 +70,25 @@ module CTioga2
70
70
  @@logger.level = Logger::WARN # Warnings and more only by default
71
71
  end
72
72
 
73
+
74
+ # Logs to the target file, and fall back onto stderr should
75
+ # opening fail.
76
+ def self.log_to(target_file, message = nil)
77
+ if target_file.is_a? String
78
+ begin
79
+ target_file = File.open(target_file, "w")
80
+ if message
81
+ target_file.puts message
82
+ end
83
+ rescue
84
+ target_file = STDERR
85
+ end
86
+ end
87
+ old = @@logger
88
+ @@logger = Logger.new(target_file)
89
+ @@logger.level = old.level
90
+ end
91
+
73
92
  # Simple accessor for the @@log class variable.
74
93
  def self.logger
75
94
  return @@logger
@@ -20,7 +20,7 @@ require 'ctioga2/utils'
20
20
 
21
21
  module CTioga2
22
22
 
23
- Version::register_svn_info('$Revision: 401 $', '$Date: 2013-08-19 17:29:59 +0200 (Mon, 19 Aug 2013) $')
23
+ Version::register_svn_info('$Revision: 484 $', '$Date: 2013-09-02 22:44:42 +0200 (Mon, 02 Sep 2013) $')
24
24
 
25
25
 
26
26
  module MetaBuilder
@@ -149,8 +149,9 @@ module CTioga2
149
149
  # We make a copy for our own purposes.
150
150
  subtype = type[:subtype] || {:type => :string}
151
151
  @subtype = Type.get_type(subtype)
152
- @separator = /\s*,\s*/
153
- @separator_out = ','
152
+ @separator = type[:separator] || /\s*,\s*/
153
+ @alternative_separator = type[:alternative_separator] || nil
154
+ @separator_out = type[:separator_out] || ','
154
155
  end
155
156
 
156
157
  def type_name
@@ -158,7 +159,11 @@ module CTioga2
158
159
  end
159
160
 
160
161
  def string_to_type_internal(str)
161
- ary = str.split(@separator)
162
+ if @alternative_separator && str =~ @alternative_separator
163
+ ary = str.split(@alternative_separator)
164
+ else
165
+ ary = str.split(@separator)
166
+ end
162
167
  return ary.map do |a|
163
168
  @subtype.string_to_type(a)
164
169
  end
@@ -167,6 +172,7 @@ module CTioga2
167
172
  def type_to_string_internal(val)
168
173
  return val.map do |a|
169
174
  @subtype.type_to_string(a)
175
+ # Won't alway work !
170
176
  end.join(@separator_out)
171
177
  end
172
178
  end
@@ -155,7 +155,7 @@ require 'ctioga2/postprocess'
155
155
  # displays of rate constants vs potentials)
156
156
  module CTioga2
157
157
 
158
- Version::register_svn_info('$Revision: 431 $', '$Date: 2013-08-23 17:58:47 +0200 (Fri, 23 Aug 2013) $')
158
+ Version::register_svn_info('$Revision: 478 $', '$Date: 2013-09-01 11:24:02 +0200 (Sun, 01 Sep 2013) $')
159
159
 
160
160
  # This class is the core of ctioga. It parses the command-line arguments,
161
161
  # reads all necessary files and plots graphs. Most of its functionality
@@ -201,6 +201,9 @@ module CTioga2
201
201
  # Additional preamble for LaTeX output
202
202
  attr_accessor :latex_preamble
203
203
 
204
+ # Global font information
205
+ attr_accessor :latex_font
206
+
204
207
  # What happens to generated PDF files (a PostProcess object)
205
208
  attr_accessor :postprocess
206
209
 
@@ -241,6 +244,10 @@ module CTioga2
241
244
  # Original preamble
242
245
  @latex_preamble = ""
243
246
 
247
+ @latex_font = Graphics::Styles::FullLatexFont.new
248
+
249
+ @latex_font.size = 15
250
+
244
251
  @postprocess = PostProcess.new
245
252
 
246
253
  # Make sure it is registered
@@ -333,6 +340,7 @@ module CTioga2
333
340
 
334
341
  info { "Producing figure '#{figname}'" }
335
342
 
343
+
336
344
  t = create_figure_maker
337
345
  # If figname is clearly a path, we split it into directory/name
338
346
  # and set the output directory to directory.
@@ -349,10 +357,19 @@ module CTioga2
349
357
  t.save_dir = @output_directory
350
358
  end
351
359
 
352
- t.def_figure(figname) do
360
+ effective_fig_name = figname.gsub(/[.\s]/) do |x|
361
+ "__#{x.ord}__"
362
+ end
363
+
364
+ if effective_fig_name != figname
365
+ debug { "Mangled name to '#{effective_fig_name}'"}
366
+ end
367
+
368
+ t.def_figure(effective_fig_name) do
369
+ @latex_font.set_global_font(t)
353
370
  @root_object.draw_root_object(t)
354
371
  end
355
- t.make_preview_pdf(t.figure_index(figname))
372
+ t.make_preview_pdf(t.figure_index(effective_fig_name))
356
373
 
357
374
  # We look for latex errors
358
375
  if t.respond_to? :pdflatex_errors
@@ -365,6 +382,13 @@ module CTioga2
365
382
  end
366
383
  end
367
384
 
385
+ # We first rename the PDF file if it was mangled.
386
+ if effective_fig_name != figname
387
+ Dir.chdir(t.save_dir || ".") do
388
+ File::rename("#{effective_fig_name}.pdf", "#{figname}.pdf")
389
+ end
390
+ end
391
+
368
392
  file = t.save_dir ? File::join(t.save_dir, figname + ".pdf") :
369
393
  figname + ".pdf"
370
394
 
@@ -440,6 +464,7 @@ module CTioga2
440
464
  # applicable.
441
465
  t.tex_preamble +=
442
466
  "\n\\pdfinfo {\n#{title}/Creator(#{Utils::pdftex_quote_string("ctioga2 #{Version::version}")})\n}\n"
467
+
443
468
  return t
444
469
  end
445
470
 
@@ -542,6 +567,18 @@ the command {command: preamble} with the argument:
542
567
 
543
568
  @ \\usepackage[utf8]{inputenc}\\usepackage[T1]{fontenc}
544
569
 
570
+ EOD
571
+
572
+ LatexFontCommand =
573
+ Cmd.new("set-global-font",nil,"--set-global-font",
574
+ [], Graphics::Styles::FullLatexFont.options_hash) do |plotmaker, opts|
575
+ plotmaker.latex_font.set_from_hash(opts)
576
+ end
577
+
578
+ LatexFontCommand.describe('Set global font details',
579
+ <<EOD, LaTeXGroup)
580
+ Set global font. Sets the size of everything, including that of text
581
+ that has already been used.
545
582
  EOD
546
583
 
547
584
 
@@ -30,11 +30,12 @@ module CTioga2
30
30
  end
31
31
  end
32
32
 
33
+
33
34
  # All files should use this function with the appropriate
34
35
  # arguments and have the Date and Revision svn:keyword:. Use this
35
36
  # way:
36
37
  #
37
- # Version::register_svn_info('$Revision: 424 $', '$Date: 2013-08-23 10:16:34 +0200 (Fri, 23 Aug 2013) $')
38
+ # Version::register_svn_info('$Revision: 496 $', '$Date: 2013-09-04 21:31:56 +0200 (Wed, 04 Sep 2013) $')
38
39
  #
39
40
  # To set the correct properties, the following command-line can be
40
41
  # used:
@@ -74,7 +75,7 @@ module CTioga2
74
75
  }
75
76
 
76
77
  # The position of the URL, used for getting the version
77
- SVN_URL = '$HeadURL: svn+ssh://rubyforge.org/var/svn/ctioga2/releases/ctioga2-0.5/lib/ctioga2/utils.rb $'
78
+ SVN_URL = '$HeadURL: svn+ssh://rubyforge.org/var/svn/ctioga2/releases/ctioga2-0.6/lib/ctioga2/utils.rb $'
78
79
 
79
80
  # The version of ctioga2
80
81
  CTIOGA_VERSION = if SVN_URL =~ /releases\/ctioga2-([^\/]+)/
@@ -83,7 +84,7 @@ module CTioga2
83
84
  "SVN version"
84
85
  end
85
86
 
86
- register_svn_info('$Revision: 424 $', '$Date: 2013-08-23 10:16:34 +0200 (Fri, 23 Aug 2013) $')
87
+ register_svn_info('$Revision: 496 $', '$Date: 2013-09-04 21:31:56 +0200 (Wed, 04 Sep 2013) $')
87
88
 
88
89
  end
89
90
 
@@ -104,6 +105,16 @@ module CTioga2
104
105
  end
105
106
  end
106
107
 
108
+ # Converts a number to a float while trying to stay as lenient as
109
+ # possible
110
+ def self.txt_to_float(txt)
111
+ v = txt.to_f
112
+ if v == 0.0
113
+ return Float(txt)
114
+ end
115
+ return v
116
+ end
117
+
107
118
  # Takes two arrays of the same size (vectors) and mix them
108
119
  # a * r + b * (1 - r)
109
120
  def self.mix_objects(a,b,r)
@@ -130,6 +141,20 @@ module CTioga2
130
141
  end
131
142
  end
132
143
 
144
+ # Quotes a string so it can be included directly within a
145
+ # \pdfinfo statement (for instance).
146
+ def self.tex_quote_string(str)
147
+ return str.gsub(/([%#])|([{}~_^])|\\/) do
148
+ if $1
149
+ "\\#{$1}"
150
+ elsif $2
151
+ "\\string#{$2}"
152
+ else # Quoting \
153
+ "\\string\\\\"
154
+ end
155
+ end
156
+ end
157
+
133
158
  # Binomial coefficients (for the smooth filter)
134
159
  def self.cnk(n,k)
135
160
  res = 1.0
@@ -185,9 +210,23 @@ module CTioga2
185
210
  end
186
211
  raise "Should not reach this !"
187
212
  end
188
-
189
213
 
214
+
215
+ # Returns the smallest power of 10 within the given buffer
216
+ # (excluding 0 or anything really close). That is, if you multiply
217
+ # by 10 to the power what is returned, the smallest will be in the
218
+ # range 1-10.
219
+ def self.common_pow10(vect, method = :floor, tolerance = 1e-8)
220
+ a = vect.abs
221
+ a.sort!
222
+ while (a.size > 1) && (a.first < tolerance * a.last)
223
+ a.shift
224
+ end
225
+
226
+ return Math.log10(a.first).send(method)
227
+ end
190
228
  end
229
+
191
230
 
192
231
  # This class implements a Hash whose values can also be retrieved by
193
232
  # pattern matching.
@@ -246,6 +285,20 @@ module CTioga2
246
285
 
247
286
  end
248
287
 
288
+ ######################################################################
289
+ # Now come a few functions that add to ruby's standard classes or
290
+ # modules
291
+
292
+ module Math
293
+
294
+ # The absolute value, but in a more easy to use way
295
+ def abs(x)
296
+ return x.abs
297
+ end
298
+ end
299
+
300
+
301
+
249
302
  # Here, we define an additional function in the Hash class: without
250
303
  class Hash
251
304
 
@@ -266,6 +319,45 @@ class Hash
266
319
 
267
320
  end
268
321
 
322
+
323
+ class String
324
+ # Splits a string into substrings at the given regexp, but only if
325
+ # the splitting occurs at top-level with respect to parentheses.
326
+ def split_at_toplevel(regexp)
327
+ # Groups
328
+ grps = {}
329
+
330
+ sz = 0
331
+ s = self.dup
332
+ while true
333
+ s.gsub!(/\([^()]+\)/) do |x|
334
+ idx = grps.size
335
+ rep = "__#{idx}__"
336
+ grps[rep] = x
337
+ rep
338
+ end
339
+ if sz == grps.size
340
+ break
341
+ else
342
+ sz = grps.size
343
+ end
344
+ end
345
+
346
+ splitted = s.split(regexp)
347
+
348
+ while grps.size > 0
349
+ for s in splitted
350
+ s.gsub!(/__\d+__/) do |x|
351
+ rep = grps[x]
352
+ grps.delete(x)
353
+ rep
354
+ end
355
+ end
356
+ end
357
+ return splitted
358
+ end
359
+ end
360
+
269
361
  begin
270
362
  # This is a dirty hack in order to ensure that the SVN revision
271
363
  # information is kept up-to-date even when using git-svn. This
@@ -273,3 +365,4 @@ begin
273
365
  require 'ctioga2/git-fools-svn'
274
366
  rescue LoadError => e
275
367
  end
368
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ctioga2
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: '0.6'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-26 00:00:00.000000000 Z
12
+ date: 2013-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tioga
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '1.16'
21
+ version: '1.17'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '1.16'
29
+ version: '1.17'
30
30
  description: ! 'ctioga2 is a command-driven plotting program that produces
31
31
 
32
32
  high quality PDF files. It can be used both from the command-line
@@ -43,109 +43,111 @@ executables:
43
43
  extensions: []
44
44
  extra_rdoc_files: []
45
45
  files:
46
- - lib/ctioga2/data/indexed-dtable.rb
47
- - lib/ctioga2/data/datacolumn.rb
48
- - lib/ctioga2/data/point.rb
49
- - lib/ctioga2/data/stack.rb
50
- - lib/ctioga2/data/filters.rb
51
- - lib/ctioga2/data/dataset.rb
52
- - lib/ctioga2/data/backends/factory.rb
53
- - lib/ctioga2/data/backends/parameter.rb
54
- - lib/ctioga2/data/backends/description.rb
55
- - lib/ctioga2/data/backends/backends.rb
56
- - lib/ctioga2/data/backends/backend.rb
57
- - lib/ctioga2/data/backends/backends/math.rb
58
- - lib/ctioga2/data/backends/backends/text.rb
59
- - lib/ctioga2/data/backends/backends/gnuplot.rb
60
- - lib/ctioga2/data/backends/backends/direct.rb
61
- - lib/ctioga2/log.rb
62
- - lib/ctioga2/plotmaker.rb
46
+ - lib/ctioga2/commands/variables.rb
47
+ - lib/ctioga2/commands/groups.rb
48
+ - lib/ctioga2/commands/strings.rb
49
+ - lib/ctioga2/commands/interpreter.rb
63
50
  - lib/ctioga2/commands/type.rb
64
- - lib/ctioga2/commands/general-commands.rb
65
- - lib/ctioga2/commands/commands.rb
51
+ - lib/ctioga2/commands/parsers/file.rb
52
+ - lib/ctioga2/commands/parsers/old-file.rb
53
+ - lib/ctioga2/commands/parsers/command-line.rb
54
+ - lib/ctioga2/commands/doc/wordwrap.rb
66
55
  - lib/ctioga2/commands/doc/introspection.rb
67
56
  - lib/ctioga2/commands/doc/documentation-commands.rb
68
- - lib/ctioga2/commands/doc/help.rb
57
+ - lib/ctioga2/commands/doc/man.rb
69
58
  - lib/ctioga2/commands/doc/markup.rb
70
59
  - lib/ctioga2/commands/doc/doc.rb
71
- - lib/ctioga2/commands/doc/wordwrap.rb
72
- - lib/ctioga2/commands/doc/man.rb
60
+ - lib/ctioga2/commands/doc/help.rb
73
61
  - lib/ctioga2/commands/doc/html.rb
74
- - lib/ctioga2/commands/strings.rb
75
- - lib/ctioga2/commands/variables.rb
76
- - lib/ctioga2/commands/parsers/file.rb
77
- - lib/ctioga2/commands/parsers/command-line.rb
78
- - lib/ctioga2/commands/parsers/old-file.rb
79
- - lib/ctioga2/commands/context.rb
80
- - lib/ctioga2/commands/groups.rb
81
- - lib/ctioga2/commands/interpreter.rb
82
62
  - lib/ctioga2/commands/arguments.rb
63
+ - lib/ctioga2/commands/context.rb
83
64
  - lib/ctioga2/commands/general-types.rb
84
- - lib/ctioga2/graphics/legends.rb
85
- - lib/ctioga2/graphics/styles/curve.rb
65
+ - lib/ctioga2/commands/general-commands.rb
66
+ - lib/ctioga2/commands/commands.rb
67
+ - lib/ctioga2/postprocess.rb
68
+ - lib/ctioga2/utils.rb
69
+ - lib/ctioga2/graphics/types/dimensions.rb
70
+ - lib/ctioga2/graphics/types/boundaries.rb
71
+ - lib/ctioga2/graphics/types/location.rb
72
+ - lib/ctioga2/graphics/types/grid.rb
73
+ - lib/ctioga2/graphics/types/boxes.rb
74
+ - lib/ctioga2/graphics/types/bijection.rb
75
+ - lib/ctioga2/graphics/types/fill.rb
76
+ - lib/ctioga2/graphics/types/point.rb
77
+ - lib/ctioga2/graphics/coordinates.rb
78
+ - lib/ctioga2/graphics/elements/redirecting-container.rb
79
+ - lib/ctioga2/graphics/elements/parametric2d.rb
80
+ - lib/ctioga2/graphics/elements/gradient-region.rb
81
+ - lib/ctioga2/graphics/elements/region.rb
82
+ - lib/ctioga2/graphics/elements/contour.rb
83
+ - lib/ctioga2/graphics/elements/xyz-map.rb
84
+ - lib/ctioga2/graphics/elements/tangent.rb
85
+ - lib/ctioga2/graphics/elements/primitive.rb
86
+ - lib/ctioga2/graphics/elements/element.rb
87
+ - lib/ctioga2/graphics/elements/xyz-contour.rb
88
+ - lib/ctioga2/graphics/elements/curve2d.rb
89
+ - lib/ctioga2/graphics/elements/subplot.rb
90
+ - lib/ctioga2/graphics/elements/containers.rb
91
+ - lib/ctioga2/graphics/styles/arrows.rb
92
+ - lib/ctioga2/graphics/styles/colormap.rb
93
+ - lib/ctioga2/graphics/styles/box.rb
94
+ - lib/ctioga2/graphics/styles/carrays.rb
95
+ - lib/ctioga2/graphics/styles/location.rb
96
+ - lib/ctioga2/graphics/styles/contour.rb
86
97
  - lib/ctioga2/graphics/styles/errorbar.rb
87
- - lib/ctioga2/graphics/styles/gradients.rb
98
+ - lib/ctioga2/graphics/styles/sets.rb
99
+ - lib/ctioga2/graphics/styles/texts.rb
100
+ - lib/ctioga2/graphics/styles/plot.rb
88
101
  - lib/ctioga2/graphics/styles/factory.rb
89
102
  - lib/ctioga2/graphics/styles/sheet.rb
90
- - lib/ctioga2/graphics/styles/carrays.rb
91
- - lib/ctioga2/graphics/styles/location.rb
92
- - lib/ctioga2/graphics/styles/map-axes.rb
93
- - lib/ctioga2/graphics/styles/arrows.rb
94
- - lib/ctioga2/graphics/styles/drawable.rb
95
103
  - lib/ctioga2/graphics/styles/axes.rb
96
- - lib/ctioga2/graphics/styles/background.rb
97
104
  - lib/ctioga2/graphics/styles/base.rb
98
- - lib/ctioga2/graphics/styles/sets.rb
99
- - lib/ctioga2/graphics/styles/plot.rb
100
- - lib/ctioga2/graphics/styles/contour.rb
101
- - lib/ctioga2/graphics/styles/colormap.rb
102
- - lib/ctioga2/graphics/styles/texts.rb
105
+ - lib/ctioga2/graphics/styles/gradients.rb
106
+ - lib/ctioga2/graphics/styles/ticks.rb
103
107
  - lib/ctioga2/graphics/styles/legend.rb
104
- - lib/ctioga2/graphics/styles/box.rb
108
+ - lib/ctioga2/graphics/styles/drawable.rb
109
+ - lib/ctioga2/graphics/styles/background.rb
110
+ - lib/ctioga2/graphics/styles/map-axes.rb
111
+ - lib/ctioga2/graphics/styles/curve.rb
105
112
  - lib/ctioga2/graphics/styles.rb
106
- - lib/ctioga2/graphics/coordinates.rb
107
- - lib/ctioga2/graphics/legends/area.rb
108
- - lib/ctioga2/graphics/legends/items.rb
113
+ - lib/ctioga2/graphics/elements.rb
114
+ - lib/ctioga2/graphics/legends/provider.rb
109
115
  - lib/ctioga2/graphics/legends/storage.rb
116
+ - lib/ctioga2/graphics/legends/items.rb
117
+ - lib/ctioga2/graphics/legends/area.rb
110
118
  - lib/ctioga2/graphics/legends/multicols.rb
111
- - lib/ctioga2/graphics/legends/provider.rb
119
+ - lib/ctioga2/graphics/legends.rb
120
+ - lib/ctioga2/graphics/root.rb
112
121
  - lib/ctioga2/graphics/types.rb
113
- - lib/ctioga2/graphics/elements/subplot.rb
114
- - lib/ctioga2/graphics/elements/parametric2d.rb
115
- - lib/ctioga2/graphics/elements/redirecting-container.rb
116
- - lib/ctioga2/graphics/elements/primitive.rb
117
- - lib/ctioga2/graphics/elements/region.rb
118
- - lib/ctioga2/graphics/elements/curve2d.rb
119
- - lib/ctioga2/graphics/elements/containers.rb
120
- - lib/ctioga2/graphics/elements/tangent.rb
121
- - lib/ctioga2/graphics/elements/xyz-contour.rb
122
- - lib/ctioga2/graphics/elements/xyz-map.rb
123
- - lib/ctioga2/graphics/elements/contour.rb
124
- - lib/ctioga2/graphics/elements/gradient-region.rb
125
- - lib/ctioga2/graphics/elements/element.rb
126
- - lib/ctioga2/graphics/subplot-commands.rb
127
122
  - lib/ctioga2/graphics/generator.rb
128
- - lib/ctioga2/graphics/elements.rb
129
- - lib/ctioga2/graphics/types/bijection.rb
130
- - lib/ctioga2/graphics/types/location.rb
131
- - lib/ctioga2/graphics/types/dimensions.rb
132
- - lib/ctioga2/graphics/types/point.rb
133
- - lib/ctioga2/graphics/types/boundaries.rb
134
- - lib/ctioga2/graphics/types/boxes.rb
135
- - lib/ctioga2/graphics/types/grid.rb
136
- - lib/ctioga2/graphics/root.rb
137
- - lib/ctioga2/utils.rb
138
- - lib/ctioga2/postprocess.rb
139
- - lib/ctioga2/metabuilder/type.rb
140
- - lib/ctioga2/metabuilder/types.rb
141
- - lib/ctioga2/metabuilder/types/lists.rb
123
+ - lib/ctioga2/graphics/subplot-commands.rb
124
+ - lib/ctioga2/data/indexed-dtable.rb
125
+ - lib/ctioga2/data/datacolumn.rb
126
+ - lib/ctioga2/data/filters.rb
127
+ - lib/ctioga2/data/stack.rb
128
+ - lib/ctioga2/data/backends/backends.rb
129
+ - lib/ctioga2/data/backends/backends/gnuplot.rb
130
+ - lib/ctioga2/data/backends/backends/math.rb
131
+ - lib/ctioga2/data/backends/backends/text.rb
132
+ - lib/ctioga2/data/backends/backends/direct.rb
133
+ - lib/ctioga2/data/backends/factory.rb
134
+ - lib/ctioga2/data/backends/description.rb
135
+ - lib/ctioga2/data/backends/parameter.rb
136
+ - lib/ctioga2/data/backends/backend.rb
137
+ - lib/ctioga2/data/dataset.rb
138
+ - lib/ctioga2/data/point.rb
139
+ - lib/ctioga2/log.rb
142
140
  - lib/ctioga2/metabuilder/types/dates.rb
143
- - lib/ctioga2/metabuilder/types/numbers.rb
144
- - lib/ctioga2/metabuilder/types/styles.rb
145
141
  - lib/ctioga2/metabuilder/types/strings.rb
146
142
  - lib/ctioga2/metabuilder/types/coordinates.rb
147
143
  - lib/ctioga2/metabuilder/types/data.rb
144
+ - lib/ctioga2/metabuilder/types/styles.rb
145
+ - lib/ctioga2/metabuilder/types/lists.rb
146
+ - lib/ctioga2/metabuilder/types/numbers.rb
148
147
  - lib/ctioga2/metabuilder/types/generic.rb
148
+ - lib/ctioga2/metabuilder/type.rb
149
+ - lib/ctioga2/metabuilder/types.rb
150
+ - lib/ctioga2/plotmaker.rb
149
151
  - COPYING
150
152
  - Changelog
151
153
  - setup.rb