grape-listing 1.1.5 → 1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ebde4f181db7c89e1def2eeb1af0fe820da5f89b0921dc88080d0b793f3d01ac
4
- data.tar.gz: 5f077bb264dcf16c617be8a22c78e0769a1270af387ee2f171b78be398a35baa
3
+ metadata.gz: 8718471a29bc7aa2abcb3b58465ace6e5dd453962e7f54422fd3e3e311e323c0
4
+ data.tar.gz: 3d0cc9a56ce90c53464f021944bdfc37f3112d56d009cfe3815ab85e770c4b03
5
5
  SHA512:
6
- metadata.gz: 0cc783b3c30a87083033d825a7d80624af8d513c55989b6cd572a9dea1786caa72bc1306f50bf1a5f6ca6f136e9008b4c08a6b93713d4e5da58b12e06684500d
7
- data.tar.gz: dde882747da769a523f0c31b4862327d8b959f667a14e5b151b92dca8de9b609204467c2b9bfbfc79e19b75a2b27b49243184ac434bb7ee858a496371b6c6c78
6
+ metadata.gz: 38777a8933a68a07e18b5f47f2ae45a831d6c18d164cdc0e1679c33204964da94446ec95ae83ca10646e52d656d01588f81e9f2e651e8a787c61040fbd4b38f5
7
+ data.tar.gz: 6c43aca8751cbf6582ab838360c8aed7ed5e239e82dab5ae910e56be71ee8d007fd1aa44729b42e7d5983a44ebf66137c7d2a4b73c749731a68a2913b1e1ff26
data/lib/grape/dsl.rb CHANGED
@@ -53,7 +53,7 @@ module Grape
53
53
  end
54
54
 
55
55
  header['Access-Control-Expose-Headers'] = 'Content-Disposition'
56
- header['Content-Disposition'] = "attachment; filename=#{Addressable::URI.escape(filename)}"
56
+ header['Content-Disposition'] = "attachment; filename*=UTF-8''#{Addressable::URI.escape(filename).force_encoding('utf-8')}"
57
57
  env['api.format'] = :binary
58
58
  end
59
59
 
data/lib/grape_listing.rb CHANGED
@@ -5,7 +5,7 @@ require 'grape_listing_service'
5
5
  module GrapeListing
6
6
 
7
7
  def self.cache
8
- @cache ||= ActiveSupport::Cache.lookup_store(:mem_cache_store)
8
+ @cache ||= ActionController::Base.cache_store
9
9
  end
10
10
 
11
11
  end
@@ -23,7 +23,7 @@ module GrapeListing
23
23
  private
24
24
 
25
25
  def generate_spreadsheet(objects)
26
- filepath = "#{@tempdir}/#{Time.now.strftime('%Y%m%d_%H%M%S')}.xlsx"
26
+ filepath = "#{@tempdir}/#{spreadsheet_filename}"
27
27
 
28
28
  # создание таблицы и ее конфигурация
29
29
  workbook = FastExcel.open(filepath, constant_memory: true)
@@ -55,6 +55,17 @@ module GrapeListing
55
55
  filepath
56
56
  end
57
57
 
58
+ def spreadsheet_filename
59
+ model_desc =
60
+ ActiveRecord::Base.connection.execute(
61
+ "SELECT obj_description('public.#{@model.table_name}'::regclass) as comment"
62
+ )[0]['comment']&.force_encoding(Encoding::BINARY)
63
+
64
+ desc = model_desc.present? ? model_desc.gsub(' ', '_') : @model.table_name
65
+
66
+ "#{desc}_#{Time.now.strftime('%Y%m%d_%H%M%S')}.xlsx"
67
+ end
68
+
58
69
  def grape_entity_columns
59
70
  @grape_entity.root_exposures.map do |exposure|
60
71
  unless exposure.key == :deleted_at
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-listing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-11 00:00:00.000000000 Z
11
+ date: 2024-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.8'
41
- - !ruby/object:Gem::Dependency
42
- name: dalli
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.2'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.2'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: fast_excel
57
43
  requirement: !ruby/object:Gem::Requirement