csb 0.10.0 → 0.11.0

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
  SHA256:
3
- metadata.gz: d0b3bd4ea67fda334584460b781468b6b4f2429332776ca89e0aa0ccdd4e3ecb
4
- data.tar.gz: f0116afcdea2a359f499fe2bfc59ddcc165cda66dfb85ec39f8a02b6c4d42378
3
+ metadata.gz: 549b384457905e2f88bfe785d2c9bd241a1c7f18e920962005c41d2d8c0162e8
4
+ data.tar.gz: e750c534760f3b5d7ca412df629e6e55cdc22b10b416e2352adfa755ab718529
5
5
  SHA512:
6
- metadata.gz: 968babfce1879531fe2d0559ccc58f3a03b7d98f2052bcb15011b4d5e86a4203a79795d5b3d79e30a1149c95391bb80730e07a4db0278be5e5536fe65428ed09
7
- data.tar.gz: 1d9afd1a7b315793d20fdbfae184a7ebc5685bb13a4acb0e08bb91ae3b91e8eed6d45c9de97f79f5f7abc7e09ed678276c06bb6798d6b2320a4946f948325cff
6
+ metadata.gz: fcf7c87da0ffa9333d8ceff7f4be1c6dba4d3a91001c83b23ce50c74e4668601b3189059c7918e7810141c15158aa94868db478b1942717f6c2500016f0155bb
7
+ data.tar.gz: 54b1d2903c89cf84ed7d7a1eda786cdc07fceca412e4b076e6eb9688d0a6077574094756bd7796c2e8ee6139de5950132ee398212e7ed332bf73753cf02bb828
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.11.0
2
+
3
+ - Consider `Csb.configuration` as initial value for `Csb::Builder`
4
+
1
5
  ## 0.10.0
2
6
 
3
7
  - Drop support for rails 6.1
data/lib/csb/builder.rb CHANGED
@@ -8,12 +8,12 @@ module Csb
8
8
  attr_reader :output, :utf8_bom, :items, :cols, :csv_options
9
9
  attr_accessor :items
10
10
 
11
- def initialize(output = '', items: [], utf8_bom: false, csv_options: {})
11
+ def initialize(output = '', items: [], **kwargs)
12
12
  @output = output
13
- @utf8_bom = utf8_bom
14
13
  @cols = Cols.new
15
14
  @items = items
16
- @csv_options = csv_options
15
+ @utf8_bom = kwargs.fetch(:utf8_bom) { Csb.configuration.utf8_bom }
16
+ @csv_options = kwargs.fetch(:csv_options) { Csb.configuration.csv_options }
17
17
  end
18
18
 
19
19
  def build
data/lib/csb/handler.rb CHANGED
@@ -12,9 +12,7 @@ module Csb
12
12
 
13
13
  <<~RUBY
14
14
  csv = ::Csb::Template.new(
15
- utf8_bom: ::Csb.configuration.utf8_bom,
16
15
  streaming: ::Csb.configuration.streaming,
17
- csv_options: ::Csb.configuration.csv_options,
18
16
  )
19
17
  #{source}
20
18
  controller.send(:send_file_headers!, type: 'text/csv', filename: csv.filename)
data/lib/csb/template.rb CHANGED
@@ -2,10 +2,8 @@ module Csb
2
2
  class Template
3
3
  attr_accessor :utf8_bom, :filename, :streaming, :items, :cols, :csv_options
4
4
 
5
- def initialize(utf8_bom:, streaming:, csv_options:)
6
- @utf8_bom = utf8_bom
5
+ def initialize(streaming:)
7
6
  @streaming = streaming
8
- @csv_options = csv_options
9
7
  @cols = Cols.new
10
8
  @items = []
11
9
  end
@@ -20,8 +18,16 @@ module Csb
20
18
 
21
19
  private
22
20
 
21
+ def builder_options
22
+ {
23
+ items: items,
24
+ utf8_bom: utf8_bom,
25
+ csv_options: csv_options,
26
+ }.compact
27
+ end
28
+
23
29
  def build_string
24
- builder = Builder.new(utf8_bom: utf8_bom, items: items, csv_options: csv_options)
30
+ builder = Builder.new(**builder_options)
25
31
  builder.cols.copy!(cols)
26
32
  builder.build
27
33
  end
@@ -29,7 +35,7 @@ module Csb
29
35
  def build_enumerator
30
36
  Enumerator.new do |y|
31
37
  begin
32
- builder = Builder.new(y, utf8_bom: utf8_bom, items: items, csv_options: csv_options)
38
+ builder = Builder.new(y, **builder_options)
33
39
  builder.cols.copy!(cols)
34
40
  builder.build
35
41
  rescue => error
data/lib/csb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Csb
2
- VERSION = '0.10.0'
2
+ VERSION = '0.11.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - aki77
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-23 00:00:00.000000000 Z
11
+ date: 2024-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails