ooxl 0.0.1.4.5 → 0.0.1.4.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a2d4d295c1a337b528cb9e0c9dea5cbbcaf0ac1
4
- data.tar.gz: 81230a0e5b6bec57206d77e7b7338269c1b64b1f
3
+ metadata.gz: c6598c34c2b35f45f918453045bffd576148e382
4
+ data.tar.gz: f6aa340e02dde02d4bca871cf99f87b8088cf0f3
5
5
  SHA512:
6
- metadata.gz: ca19b27dc3cfe9ff4163d7aad66e1cad74567beb3bdeed74a0be0ccddb20b973a0d186e71c087ddd686623d29d37453e02772b6ddb97c447b2ead9251514d1fa
7
- data.tar.gz: adccbe47da55ea6d449369589ab814ce32a884f75c7938a768a987457cbec69327ce2b6b5748aa0a1eca662ff5f31f45899084c752a919f83ece15a7c1153409
6
+ metadata.gz: 370a571d011a5f25c33ae10c8149b3d516c5b132529d2c570799b961a8871346f4509ce6af30dd7176a41bb377af2ab4e21f6e4fb740dab0f00652a01310e887
7
+ data.tar.gz: 5d8943a49c3fde6d01111459de5da2664e4fd26f351b48acbea8f0cc0ede76b3251adcf7a7d8ee3cdd56caf2e91e0733d714c26ce541cf12b7fc865f6f325736
data/lib/ooxl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class OOXL
2
- VERSION = "0.0.1.4.5"
2
+ VERSION = "0.0.1.4.6"
3
3
  end
@@ -113,7 +113,6 @@ class OOXL
113
113
  if cell_range.include?(":")
114
114
  cell_letters = cell_range.gsub(/[\d]/, '').split(':')
115
115
  start_index, end_index = cell_range.gsub(/[^\d:]/, '').split(':').map(&:to_i)
116
-
117
116
  # This will allow values from this pattern
118
117
  # 'SheetName!A1:C3'
119
118
  # The number after the cell letter will be the index
@@ -123,7 +122,7 @@ class OOXL
123
122
  if cell_letters.uniq.size > 1
124
123
  start_index.upto(end_index).map do |row_index|
125
124
  (cell_letters.first..cell_letters.last).map do |cell_letter|
126
- row = rows[row_index-1]
125
+ row = fetch_row_by_id(row_index.to_s)
127
126
  next if row.blank?
128
127
  row["#{cell_letter}#{row_index}"].value
129
128
  end
@@ -131,7 +130,7 @@ class OOXL
131
130
  else
132
131
  cell_letter = cell_letters.uniq.first
133
132
  (start_index..end_index).to_a.map do |row_index|
134
- row = rows[row_index-1]
133
+ row = fetch_row_by_id(row_index.to_s)
135
134
  next if row.blank?
136
135
  row["#{cell_letter}#{row_index}"].value
137
136
  end
@@ -139,7 +138,7 @@ class OOXL
139
138
  else
140
139
  # when only one value: B2
141
140
  row_index = cell_range.gsub(/[^\d:]/, '').split(':').map(&:to_i).first
142
- row = rows[row_index-1]
141
+ row = fetch_row_by_id(row_index.to_s)
143
142
  return if row.blank?
144
143
  [row[cell_range].value]
145
144
  end
@@ -151,6 +150,9 @@ class OOXL
151
150
  end
152
151
 
153
152
  private
153
+ def fetch_row_by_id(row_id)
154
+ rows.find { |row| row.id == row_id.to_s}
155
+ end
154
156
  def fetch_style_style_id(cell_reference)
155
157
  raise 'Invalid Cell Reference!' if cell_reference[/[A-Z]{1,}\d+/].blank?
156
158
  row_index = cell_reference.scan(/[A-Z{1,}](\d+)/).flatten.first.to_i - 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ooxl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.4.5
4
+ version: 0.0.1.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Mones
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-19 00:00:00.000000000 Z
11
+ date: 2016-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport