excel_to_code 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,7 +11,7 @@ class RewriteMergeFormulaeAndValues
11
11
  shared_formulae = Hash[shared_formulae.readlines.map { |line| [line[/(.*?)\t/,1],line]}]
12
12
  array_formula = Hash[array_formula.readlines.map { |line| [line[/(.*?)\t/,1],line]}]
13
13
  simple_formulae = Hash[simple_formulae.readlines.map { |line| [line[/(.*?)\t/,1],line]}]
14
-
14
+
15
15
  values.lines do |line|
16
16
  ref = line[/(.*?)\t/,1]
17
17
  @references_to_add_if_they_are_not_already_present.delete(ref)
@@ -4,18 +4,18 @@ class RewriteRelationshipIdToFilename
4
4
  self.new.rewrite(*args)
5
5
  end
6
6
 
7
- def rewrite(input,relationships_file,output)
8
- relationships_file.rewind
7
+ def rewrite(input, relationships_file, output)
9
8
  relationships_file.rewind
10
9
  relationships = Hash[relationships_file.readlines.map { |line| line.split("\t")}]
11
10
  input.lines do |line|
12
11
  parts = line.split("\t")
13
12
  rid = parts.pop.strip
14
13
  if relationships.has_key?(rid)
15
- output.puts "#{parts.join("\t")}#{parts.size > 0 ? "\t" : ""}#{relationships[rid].strip}"
14
+ parts.push relationships[rid].strip
15
+ output.puts parts.join("\t")
16
16
  else
17
17
  $stderr.puts "Warning, #{rid.inspect} not found in relationships file #{relationships.inspect}"
18
- outputs.puts "Warning, #{rid.inspect} not found in relationships file #{relationships.inspect}"
18
+ output.puts "Warning, #{rid.inspect} not found in relationships file #{relationships.inspect}"
19
19
  end
20
20
  end
21
21
  end
@@ -66,16 +66,14 @@ end
66
66
 
67
67
  class RewriteWholeRowColumnReferencesToAreas
68
68
 
69
- def self.rewrite(input,default_worksheet_name,worksheet_dimensions,output)
70
- new.rewrite(input,default_worksheet_name,worksheet_dimensions,output)
69
+ attr_accessor :sheet_name
70
+ attr_accessor :dimensions
71
+
72
+ def self.rewrite(input,output)
73
+ new.rewrite(input,output)
71
74
  end
72
75
 
73
- def rewrite(input,default_worksheet_name,worksheet_dimensions,output)
74
- dimensions = Hash[worksheet_dimensions.readlines.map do |line|
75
- worksheet_name, area = line.split("\t")
76
- [worksheet_name,WorksheetDimension.new(area)]
77
- end]
78
- mapper = MapColumnAndRowRangeAst.new(default_worksheet_name,dimensions)
76
+ def rewrite(input,output)
79
77
  input.lines do |line|
80
78
  if line =~ /(:column_range|:row_range)/
81
79
  content = line.split("\t")
@@ -87,4 +85,16 @@ class RewriteWholeRowColumnReferencesToAreas
87
85
  end
88
86
  end
89
87
 
88
+ def worksheet_dimensions=(worksheet_dimensions)
89
+ @dimensions = Hash[worksheet_dimensions.readlines.map do |line|
90
+ worksheet_name, area = line.split("\t")
91
+ [worksheet_name,WorksheetDimension.new(area)]
92
+ end]
93
+ @mapper = nil
94
+ end
95
+
96
+ def mapper
97
+ @mapper ||= MapColumnAndRowRangeAst.new(sheet_name,dimensions)
98
+ end
99
+
90
100
  end
@@ -26,6 +26,7 @@ class CountFormulaReferences
26
26
  end
27
27
 
28
28
  def count_dependencies_for(sheet,ref,ast)
29
+ @dependencies[sheet][ref] ||= 0
29
30
  current_sheet.push(sheet)
30
31
  map(ast)
31
32
  current_sheet.pop
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excel_to_code
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-31 00:00:00.000000000 Z
12
+ date: 2012-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubypeg
16
- requirement: &70200308259560 !ruby/object:Gem::Requirement
16
+ requirement: &70200979061400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70200308259560
24
+ version_requirements: *70200979061400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70200305826260 !ruby/object:Gem::Requirement
27
+ requirement: &70200979060900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.5.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70200305826260
35
+ version_requirements: *70200979060900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70200305824320 !ruby/object:Gem::Requirement
38
+ requirement: &70200979060400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.7.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70200305824320
46
+ version_requirements: *70200979060400
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ffi
49
- requirement: &70200305818740 !ruby/object:Gem::Requirement
49
+ requirement: &70200979050020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 1.0.11
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70200305818740
57
+ version_requirements: *70200979050020
58
58
  description: ! "# excel_to_code\n\nConverts some excel spreadsheets (.xlsx, not .xls)
59
59
  into some other programming languages (currently ruby or c).\nThis allows the excel
60
60
  spreadsheets to be run programatically, without excel.\n\nIts cannonical source