simple_drilldown 0.14.4 → 0.15.1

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
  SHA256:
3
- metadata.gz: 8aab426554898f291dfeb223b6e7c0f00b6e9e2cd505a38996116ac817abd9c8
4
- data.tar.gz: 04a277b01abc17c2de599a9051a35b8ada2810455653853f90d95d794d51ad13
3
+ metadata.gz: 71d5040959b787d7adfca8b43f2d64fcfa3fe8f4d126baf6f1417ebb8a44bfae
4
+ data.tar.gz: ec7ac9464c96bfc1686916033cbbadb3af867b1cdc04e1ce5d1bd6ae72cf70dc
5
5
  SHA512:
6
- metadata.gz: 6b3a363a1ae42aa1be8a1bc32ddca269b30c74f2d6cb0fba00c879add61b8294e0712a1f1f76885a30b946055fe553300096b2f1c66c8636950c85fbfaeca6e2
7
- data.tar.gz: 1fd4381cda21b1ebb2a689f340204843c6d28f14d1421fb911439656176e3c90703fc05eeccf4cb3e243c6c8bfdaed645900d0f1b7a2088c44d33f4b4f8f6cba
6
+ metadata.gz: 149f46e2eef26f80dcaffea81456bc9950ee19d8280954b9e8fd164552d5499fc71bfd6cc16c2475f8850e3db2527491681ff9a4a5610cea495fd43ba5f1f6e1
7
+ data.tar.gz: a8cd1d324b1d990526c3c5021639c3a33cb940145b8ae3797d2043e5dbeea9060be7873c54f4d53c675bc9288273efb229dac0209117be549dc0d172fce4e399
@@ -3,7 +3,9 @@
3
3
  def excel_header_row(sheet)
4
4
  padding_cells = @dimensions.empty? ? 1 : @dimensions.size
5
5
  row = (1...(padding_cells - 1)).map { |_n| nil }
6
- @search.fields.each_with_index { |field, _i| row << t(field, default: field.titleize) }
6
+ @search.fields.each do |field|
7
+ row << t(field, default: [:"attributes.#{field}", field.humanize])
8
+ end
7
9
  sheet.add_row row
8
10
  end
9
11
 
@@ -35,7 +37,7 @@ def excel_row(sheet, wrap, transaction:)
35
37
 
36
38
  row << value
37
39
  end
38
- sheet.add_row row, style: wrap
40
+ sheet.add_row row # , style: wrap
39
41
  end
40
42
 
41
43
  sheet.add_row []
@@ -5,6 +5,8 @@ xml.Row do
5
5
  1.upto(padding_cells - 1) { |_n| xml.Cell('ss:StyleID' => 'Outer') }
6
6
 
7
7
  @search.fields.each_with_index do |field, i|
8
- xml.Cell('ss:Index' => (padding_cells + i).to_s) { xml.Data t(field), 'ss:Type' => 'String' }
8
+ xml.Cell('ss:Index' => (padding_cells + i).to_s) do
9
+ xml.Data t(field, default: [:"attributes.#{field}", field.humanize]), 'ss:Type' => 'String'
10
+ end
9
11
  end
10
12
  end
@@ -31,7 +31,7 @@ xml.Styles do
31
31
  xml.NumberFormat 'ss:Format' => '0.000'
32
32
  end
33
33
  xml.Style 'ss:ID' => 'NoDecimalNumberFormat' do
34
- xml.NumberFormat 'ss:Format' => "\#,\#\#0"
34
+ xml.NumberFormat 'ss:Format' => '#,##0'
35
35
  end
36
36
  xml.Style 'ss:ID' => 'Percent' do
37
37
  xml.NumberFormat 'ss:Format' => '0%'
@@ -44,7 +44,7 @@ xml.Styles do
44
44
  xml.Border 'ss:Position' => 'Bottom', 'ss:Weight' => '1'
45
45
  end
46
46
  xml.Interior 'ss:Color' => '#dedede', 'ss:Pattern' => 'Solid'
47
- xml.NumberFormat 'ss:Format' => "\#,\#\#0"
47
+ xml.NumberFormat 'ss:Format' => '#,##0'
48
48
  end
49
49
  xml.Style 'ss:ID' => 'Outer'
50
50
  xml.Style 'ss:ID' => 'ShortDate' do
@@ -117,6 +117,9 @@ module SimpleDrilldown
117
117
  end
118
118
  end
119
119
 
120
+ pretty_name = I18n.t(:"simple_drilldown.dimension.#{name}",
121
+ default: [:"simple_drilldown.#{name}", :"activerecord.models.#{name}", name.to_sym,
122
+ name.to_s.titleize])
120
123
  c_dimension_defs[name.to_s] = {
121
124
  includes: queries.inject(nil) do |a, e|
122
125
  i = e[:includes]
@@ -135,9 +138,7 @@ module SimpleDrilldown
135
138
  interval: interval,
136
139
  label_method: label_method,
137
140
  legal_values: legal_values,
138
- pretty_name: I18n.t(:"simple_drilldown.dimension.#{name}",
139
- default: [:"simple_drilldown.#{name}", :"activerecord.models.#{name}", name.to_sym,
140
- name.to_s.titleize]),
141
+ pretty_name: pretty_name,
141
142
  queries: queries,
142
143
  reverse: reverse,
143
144
  select_expression:
@@ -207,7 +208,7 @@ module SimpleDrilldown
207
208
  dimension_def[:queries].each do |query|
208
209
  next unless (where = query[:where])
209
210
 
210
- where_mapped = where.map { |e| e.respond_to?(:call) ? e.call : e }
211
+ where_mapped = [*where].map { |e| e.respond_to?(:call) ? e.call : e }
211
212
  condition_strings << where_mapped[0]
212
213
  condition_values += where_mapped[1..]
213
214
  end
@@ -265,7 +266,12 @@ module SimpleDrilldown
265
266
  include.each do |parent, child|
266
267
  sql << " #{make_join(joins, model, parent)}"
267
268
  ass = model.to_s.camelize.constantize.reflect_on_association parent
268
- sql << " #{make_join(joins, parent, child, ass.class_name.constantize)}"
269
+ sql << case ass.macro
270
+ when :has_many
271
+ " #{make_join(joins, ass.class_name.underscore, child, ass.class_name.constantize)}"
272
+ else
273
+ " #{make_join(joins, parent, child, ass.class_name.constantize)}"
274
+ end
269
275
  end
270
276
  sql
271
277
  when Symbol
@@ -634,6 +640,21 @@ module SimpleDrilldown
634
640
  instance_eval(&scope)
635
641
  end
636
642
 
643
+ # def merge(scope)
644
+ # @merged_scope = scope
645
+ # self
646
+ # end
647
+ #
648
+ # def includes(includes)
649
+ # @includes = includes
650
+ # self
651
+ # end
652
+ #
653
+ # def references(references)
654
+ # @references = references
655
+ # self
656
+ # end
657
+ #
637
658
  def order(order)
638
659
  @order = order
639
660
  self
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SimpleDrilldown
4
- VERSION = '0.14.4'
4
+ VERSION = '0.15.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_drilldown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.4
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uwe Kubosch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-03 00:00:00.000000000 Z
11
+ date: 2023-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caxlsx_rails
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  requirements: []
148
- rubygems_version: 3.3.7
148
+ rubygems_version: 3.4.6
149
149
  signing_key:
150
150
  specification_version: 4
151
151
  summary: Simple data warehouse and drilldown.