arc-furnace 0.1.24 → 0.1.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ade09a2953b3d75db8ec9544ee00b852fdfd4f50
4
- data.tar.gz: 71bc462bd9480b31b34d4256e6d8b28be4465d44
3
+ metadata.gz: e723d42b0fa3af1f831ad911727f45c3b0e9ea7e
4
+ data.tar.gz: 2919ac307cf0d1ce66819a6dc313ecfb30ee3b4b
5
5
  SHA512:
6
- metadata.gz: 614b8ce2b3bdf4a72f023953597a334a96555aa2458ce18f8ea24db5600d5011c3d265d8a8c2f0025cd0cf08297c620e11f225c4af137d4a199e80d97f849906
7
- data.tar.gz: b0b53cbe9926b11d059dafe293cfa097e0328cc13456a20fbf07c343f8190c56526eebdf6e864474cf7fe04271da9e6e27c03d4683250904f8bf8a31492e2725
6
+ metadata.gz: 12b1522b91125be54dff5bc0bcf16f436996117869b7aa7d994fe7ddc5397402c05076c003ce86b78ef1b01f11321828422762117a9e019fbe00c9e2fa4b1500
7
+ data.tar.gz: 2dd01fbf315cc3f42ce35298b89e7f6e6270cbf7f0d8e4c229a7cd9fa730e9c5ceb3e8148484dc9841e00bb3176cc2f70a5cb289a56a3d06cd43eda069564a15
data/arc-furnace.gemspec CHANGED
@@ -25,8 +25,11 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'activesupport', '>= 3.2'
26
26
  spec.add_dependency 'eigenclass', '~> 2'
27
27
  spec.add_dependency 'roo', '>= 2.1'
28
+ spec.add_dependency 'axlsx'
29
+ spec.add_dependency 'zip-zip'
28
30
 
29
31
  spec.add_development_dependency 'rake', '~> 10.0'
30
32
  spec.add_development_dependency 'rspec', '~> 3'
31
33
  spec.add_development_dependency 'ice_nine', '>= 0.11'
34
+ spec.add_development_dependency 'pry'
32
35
  end
@@ -0,0 +1,24 @@
1
+ require 'arc-furnace/sink'
2
+
3
+ module ArcFurnace
4
+ class ExcelSink < Sink
5
+ private_attr_reader :filename, :fields, :package, :workbook, :worksheet
6
+
7
+ def initialize(filename: , fields:)
8
+ @filename = filename
9
+ @fields = fields
10
+ @package = Axlsx::Package.new
11
+ @workbook = package.workbook
12
+ @worksheet = workbook.add_worksheet(name: 'Sheet1')
13
+ worksheet.add_row(fields)
14
+ end
15
+
16
+ def finalize
17
+ package.serialize(filename)
18
+ end
19
+
20
+ def row(hash)
21
+ worksheet.add_row(fields.map { |field_id| hash[field_id] })
22
+ end
23
+ end
24
+ end
@@ -7,6 +7,7 @@ require 'arc-furnace/block_unfold'
7
7
  require 'arc-furnace/csv_sink'
8
8
  require 'arc-furnace/csv_source'
9
9
  require 'arc-furnace/excel_source'
10
+ require 'arc-furnace/excel_sink'
10
11
  require 'arc-furnace/enumerator_source'
11
12
  require 'arc-furnace/filter'
12
13
  require 'arc-furnace/fixed_column_csv_sink'
@@ -1,3 +1,3 @@
1
1
  module ArcFurnace
2
- VERSION = "0.1.24"
2
+ VERSION = "0.1.25"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arc-furnace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.24
4
+ version: 0.1.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Spangenberger
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-10-24 00:00:00.000000000 Z
12
+ date: 2018-01-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
@@ -67,6 +67,34 @@ dependencies:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '2.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: axlsx
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: zip-zip
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
70
98
  - !ruby/object:Gem::Dependency
71
99
  name: rake
72
100
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +137,20 @@ dependencies:
109
137
  - - ">="
110
138
  - !ruby/object:Gem::Version
111
139
  version: '0.11'
140
+ - !ruby/object:Gem::Dependency
141
+ name: pry
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
112
154
  description: 'An ETL library for Ruby that performs the basic actions of ETL: extract,
113
155
  transform, and load. Easily extensible.'
114
156
  email:
@@ -141,6 +183,7 @@ files:
141
183
  - lib/arc-furnace/dsl.rb
142
184
  - lib/arc-furnace/enumerator_source.rb
143
185
  - lib/arc-furnace/error_handler.rb
186
+ - lib/arc-furnace/excel_sink.rb
144
187
  - lib/arc-furnace/excel_source.rb
145
188
  - lib/arc-furnace/filter.rb
146
189
  - lib/arc-furnace/fixed_column_csv_sink.rb
@@ -186,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
229
  version: '0'
187
230
  requirements: []
188
231
  rubyforge_project:
189
- rubygems_version: 2.4.5.1
232
+ rubygems_version: 2.6.12
190
233
  signing_key:
191
234
  specification_version: 4
192
235
  summary: Melds and transforms data from multiple sources into a single stream