excel_walker 0.1.5 → 0.1.7

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MWM0ZjA2MDA4ZmUxMzkyNGJiNmQwNDkzNGJiYWEyYmVlM2IyMjRjZQ==
5
- data.tar.gz: !binary |-
6
- MWQxMjliODUwNzc5OGQ2MDE2Y2RmYzhmMTZmMjc4MGNiNzUyY2Y1MQ==
2
+ SHA1:
3
+ metadata.gz: 426c578333d13905dc0c41fc2cb3cd19798fd3be
4
+ data.tar.gz: 163a6946907dd428f92656bb4125453daef894d6
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NzI2MGY4M2E3NWM1NTUxNDM3YjAzN2Y5ODhhM2QyYmZmMDhlYWQzNDEzNTE0
10
- NThmZGE0OWFjZDJjNWIxMmE0Yjg0NzQ5NTQ2NDE3MjFkMTdmMzQwN2UzMDU0
11
- YmFkODExODQyZTZlOWZmOGY1NjBlNThjYjA2ZjI5ZTU5YzJmZmU=
12
- data.tar.gz: !binary |-
13
- ZWM3YzEwYjMwMGM2NjRjYzMxNWY0MWFlMDI3OTc1OTQyYmY0Y2FhNTA3ZTNi
14
- NmZkY2Y2YjRhMWMzMWQ4YTQxMWJhMTY1MzQyYTczZjRiYzY3MWU5MWNkM2Jm
15
- ZjIyZWU0NWY5MTliNjY1MjRmNWFjZGRmNTczMmEwYmFhMTRhMzQ=
6
+ metadata.gz: fe7ce7e90a081fa0e79ca1caee973d41ad4631658a5e3e01bfa60fb1bd36f9f996ca1f71da65bbb5e18db2810fba814fad339be764db7fbcc6fd0f561f2c84a9
7
+ data.tar.gz: 118abd8e4f1e14876f9e963681f07b7f9d52eb58a0d41762839ea8b1aa26ca6f919ec951f2793a159ca9c1535fb633e465910c674f67f9a8b2b3a834d9b70c6d
@@ -20,14 +20,17 @@ module ExcelWalker
20
20
  @cols_extractor =
21
21
  case true
22
22
  when cols_matcher.is_a?(Array)
23
- cols_set = Set.new(cols_matcher)
24
- proc { |row| row.select.with_index { |_, idx| cols_set.include?(idx + 1) } }
23
+ proc { |row| cols_matcher.collect{|idx| row[idx - 1]} }
25
24
  when cols_matcher.is_a?(Fixnum)
26
25
  proc { |row| row[cols_matcher - 1] }
27
26
  when cols_matcher.is_a?(Range)
28
27
  proc { |row| row[(cols_matcher.min - 1)..(cols_matcher.max - 1)] }
29
28
  when cols_matcher.is_a?(Proc)
30
29
  proc { |row| cols_matcher[row] }
30
+ when cols_matcher.is_a?(Hash)
31
+ cols_idxs = cols_matcher.values
32
+ cols_names = cols_matcher.keys
33
+ proc { |row| Hash[cols_names.zip(cols_idxs.collect{|idx| row[idx - 1]})] }
31
34
  else
32
35
  raise ArgumentError.new('Can only take Array, Number, Range or a Block')
33
36
  end
@@ -1,3 +1,3 @@
1
1
  module ExcelWalker
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.7'
3
3
  end
@@ -91,6 +91,14 @@ module ExcelWalker::Reader
91
91
  subject.call(collection, 'b', 'c', 'd')
92
92
  end
93
93
  end
94
+
95
+ context 'hash column matcher' do
96
+ subject { hook.columns(first: 1, second: 2, twentieth: 20, last: 100) }
97
+ it 'sends correct data to the hooked block' do
98
+ hook_block.should_receive(:call).with({first: 1, second: 2, twentieth: 20, last: 100}, 'b', 'c', 'd')
99
+ subject.call(collection, 'b', 'c', 'd')
100
+ end
101
+ end
94
102
  end
95
103
 
96
104
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excel_walker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shadab Ahmed
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-24 00:00:00.000000000 Z
11
+ date: 2014-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: creek
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>'
45
+ - - '>'
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>'
52
+ - - '>'
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
@@ -70,14 +70,14 @@ dependencies:
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: A declarative parser and builder for Excel Files
@@ -124,12 +124,12 @@ require_paths:
124
124
  - lib
125
125
  required_ruby_version: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ! '>='
127
+ - - '>='
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - ! '>='
132
+ - - '>='
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []