rails_admin_settings 1.5.1 → 1.6.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: 252fba15948c22109d39fac9bcf01afc70ee01b200533d89c23ae53d562b8eb6
4
- data.tar.gz: 38d7ed5cf17306baa0f6d2440405bcfbdc5f975639077067ef1d2935ed1d368b
3
+ metadata.gz: d138604a0c03f484ed60c6a4a3bf3df0c7936c4e28ff18b4914dee9b05276e5a
4
+ data.tar.gz: 3f37b53322fdd2dc6ae98500b84edb4d91b2ed8638d141226740b80e5a9b09f8
5
5
  SHA512:
6
- metadata.gz: 1cce2abe1a0a361d1a5758b3108dcd2c8945cf27de29172e6314035763d97414bd5e7fc44ad8fabfbaac1e80b583f0f000cc9389e12d32106f61276315bc2c92
7
- data.tar.gz: 03f3c25dc49ec84fd6371cb68c7063ce83b6df9b2f6dcc0f81ff8b7f9b8a4adbe74cbdde16fc1e6c960aecfa8eaab05fc3003da1546e57826c8aaee3574b3242
6
+ metadata.gz: 6d78b5b79ea3487bb14dd67c4ac2a9d6bc97c4027d42fe8ee548d1fefa1b858c7dafcd6df67f03bde8899641e2619ce62a86b95327bb7d688f75c527bb919dd9
7
+ data.tar.gz: 3aa78be3967ac7178f2389390c82ebb4f845ca1e5dd5e482e40d4c785643a4256e416722fdff2e11dab863b1515f6806e56d711cd149b0be5660aa61cf8c80a9
data/.gitignore CHANGED
@@ -16,3 +16,4 @@ test/version_tmp
16
16
  tmp
17
17
  .idea
18
18
  /uploads
19
+ /public/uploads
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake" /></Settings>
@@ -14,8 +14,10 @@ env:
14
14
  matrix:
15
15
  - "UPLOADS=paperclip"
16
16
  - "UPLOADS=carrierwave"
17
+ - "UPLOADS=shrine"
17
18
  - "RAILS=1 UPLOADS=paperclip"
18
19
  - "RAILS=1 UPLOADS=carrierwave"
20
+ - "RAILS=1 UPLOADS=shrine"
19
21
 
20
22
  gemfile:
21
23
  - gemfiles/mongoid-6.0.gemfile
@@ -1,3 +1,7 @@
1
+ ## 1.6.0 (2020-06-11)
2
+
3
+ Add shrine file uploads
4
+
1
5
  ## 1.5.0 (2018-06-09)
2
6
 
3
7
  Add float type
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_admin_settings (1.5.1)
4
+ rails_admin_settings (1.6.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -63,18 +63,25 @@ GEM
63
63
  mongoid-grid_fs (>= 1.3, < 3.0)
64
64
  climate_control (0.2.0)
65
65
  concurrent-ruby (1.1.5)
66
+ content_disposition (1.0.0)
66
67
  crass (1.0.4)
67
68
  database_cleaner (1.7.0)
68
69
  diff-lcs (1.3)
69
70
  docile (1.3.2)
71
+ down (5.1.1)
72
+ addressable (~> 2.5)
70
73
  erubi (1.8.0)
71
74
  factory_bot (5.0.2)
72
75
  activesupport (>= 4.2.0)
76
+ ffi (1.13.0)
73
77
  geocoder (1.5.1)
74
78
  globalid (0.4.2)
75
79
  activesupport (>= 4.2.0)
76
80
  i18n (1.6.0)
77
81
  concurrent-ruby (~> 1.0)
82
+ image_processing (1.11.0)
83
+ mini_magick (>= 4.9.5, < 5)
84
+ ruby-vips (>= 2.0.17, < 3)
78
85
  jaro_winkler (1.5.3)
79
86
  json (2.2.0)
80
87
  loofah (2.2.3)
@@ -89,6 +96,7 @@ GEM
89
96
  mime-types-data (~> 3.2015)
90
97
  mime-types-data (3.2019.0331)
91
98
  mimemagic (0.3.3)
99
+ mini_magick (4.10.1)
92
100
  mini_mime (1.0.2)
93
101
  mini_portile2 (2.4.0)
94
102
  minitest (5.11.3)
@@ -178,12 +186,20 @@ GEM
178
186
  rubocop-rspec (1.30.1)
179
187
  rubocop (>= 0.60.0)
180
188
  ruby-progressbar (1.10.1)
189
+ ruby-vips (2.0.17)
190
+ ffi (~> 1.9)
181
191
  russian_phone (0.6.1)
182
192
  safe_yaml (1.0.5)
183
193
  sanitize (5.0.0)
184
194
  crass (~> 1.0.2)
185
195
  nokogiri (>= 1.8.0)
186
196
  nokogumbo (~> 2.0)
197
+ shrine (3.2.1)
198
+ content_disposition (~> 1.0)
199
+ down (~> 5.1)
200
+ shrine-mongoid (1.0.0)
201
+ mongoid (>= 5.0)
202
+ shrine (>= 3.0.0.beta3, < 4)
187
203
  simplecov (0.17.0)
188
204
  docile (~> 1.1)
189
205
  json (>= 1.8, < 3)
@@ -219,6 +235,8 @@ DEPENDENCIES
219
235
  database_cleaner
220
236
  factory_bot
221
237
  geocoder
238
+ image_processing
239
+ mini_magick
222
240
  mongoid (~> 6.3)
223
241
  mongoid-paperclip
224
242
  mongoid-rspec
@@ -230,8 +248,10 @@ DEPENDENCIES
230
248
  russian_phone
231
249
  safe_yaml
232
250
  sanitize
251
+ shrine (~> 3.0)
252
+ shrine-mongoid (~> 1.0)
233
253
  simplecov
234
254
  validates_email_format_of
235
255
 
236
256
  BUNDLED WITH
237
- 1.17.2
257
+ 1.17.3
@@ -15,6 +15,9 @@ class CreateRailsAdminSettings < ActiveRecord::Migration[5.0]
15
15
  t.attachment :file
16
16
  elsif defined?(CarrierWave)
17
17
  t.string :file
18
+ elsif defined?(Shrine)
19
+ t.text :file_data
20
+
18
21
  end
19
22
  t.timestamps
20
23
  end
@@ -0,0 +1,193 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Shrine
4
+ module Plugins
5
+ # Documentation can be found on https://shrinerb.com/docs/plugins/determine_mime_type
6
+ module DetermineMimeType
7
+ LOG_SUBSCRIBER = -> (event) do
8
+ Shrine.logger.info "MIME Type (#{event.duration}ms) – #{{
9
+ io: event[:io].class,
10
+ uploader: event[:uploader],
11
+ }.inspect}"
12
+ end
13
+
14
+ def self.configure(uploader, log_subscriber: LOG_SUBSCRIBER, **opts)
15
+ uploader.opts[:determine_mime_type] ||= { analyzer: :file, analyzer_options: {} }
16
+ uploader.opts[:determine_mime_type].merge!(opts)
17
+
18
+ # instrumentation plugin integration
19
+ uploader.subscribe(:mime_type, &log_subscriber) if uploader.respond_to?(:subscribe)
20
+ end
21
+
22
+ module ClassMethods
23
+ # Determines the MIME type of the IO object by calling the specified
24
+ # analyzer.
25
+ def determine_mime_type(io)
26
+ analyzer = opts[:determine_mime_type][:analyzer]
27
+
28
+ analyzer = mime_type_analyzer(analyzer) if analyzer.is_a?(Symbol)
29
+ args = if analyzer.is_a?(Proc)
30
+ [io, mime_type_analyzers].take(analyzer.arity.abs)
31
+ else
32
+ [io, opts[:determine_mime_type][:analyzer_options]]
33
+ end
34
+
35
+ mime_type = instrument_mime_type(io) { analyzer.call(*args) }
36
+ io.rewind
37
+
38
+ mime_type
39
+ end
40
+ alias mime_type determine_mime_type
41
+
42
+ # Returns a hash of built-in MIME type analyzers, where keys are
43
+ # analyzer names and values are `#call`-able objects which accepts the
44
+ # IO object.
45
+ def mime_type_analyzers
46
+ @mime_type_analyzers ||= MimeTypeAnalyzer::SUPPORTED_TOOLS.inject({}) do |hash, tool|
47
+ hash.merge!(tool => mime_type_analyzer(tool))
48
+ end
49
+ end
50
+
51
+ # Returns callable mime type analyzer object.
52
+ def mime_type_analyzer(name)
53
+ MimeTypeAnalyzer.new(name)
54
+ end
55
+
56
+ private
57
+
58
+ # Sends a `mime_type.shrine` event for instrumentation plugin.
59
+ def instrument_mime_type(io, &block)
60
+ return yield unless respond_to?(:instrument)
61
+
62
+ instrument(:mime_type, io: io, &block)
63
+ end
64
+ end
65
+
66
+ module InstanceMethods
67
+ private
68
+
69
+ # Calls the configured MIME type analyzer.
70
+ def extract_mime_type(io)
71
+ self.class.determine_mime_type(io)
72
+ end
73
+ end
74
+
75
+ class MimeTypeAnalyzer
76
+ SUPPORTED_TOOLS = [:fastimage, :file, :filemagic, :mimemagic, :marcel, :mime_types, :mini_mime, :content_type]
77
+ MAGIC_NUMBER = 256 * 1024
78
+
79
+ def initialize(tool)
80
+ raise Error, "unknown mime type analyzer #{tool.inspect}, supported analyzers are: #{SUPPORTED_TOOLS.join(",")}" unless SUPPORTED_TOOLS.include?(tool)
81
+
82
+ @tool = tool
83
+ end
84
+
85
+ def call(io, options = {})
86
+ mime_type = send(:"extract_with_#{@tool}", io, options)
87
+ io.rewind
88
+
89
+ mime_type
90
+ end
91
+
92
+ private
93
+
94
+ def extract_with_file(io, options)
95
+ require "open3"
96
+
97
+ return nil if io.eof? # file command returns "application/x-empty" for empty files
98
+
99
+ Open3.popen3(*%W[file --mime-type --brief -]) do |stdin, stdout, stderr, thread|
100
+ begin
101
+ IO.copy_stream(io, stdin.binmode)
102
+ rescue Errno::EPIPE
103
+ end
104
+ stdin.close
105
+
106
+ status = thread.value
107
+
108
+ raise Error, "file command failed to spawn: #{stderr.read}" if status.nil?
109
+ raise Error, "file command failed: #{stderr.read}" unless status.success?
110
+
111
+ $stderr.print(stderr.read)
112
+
113
+ output = stdout.read.strip
114
+
115
+ raise Error, "file command failed: #{output}" if output.include?("cannot open")
116
+
117
+ output
118
+ end
119
+ rescue Errno::ENOENT
120
+ raise Error, "file command-line tool is not installed"
121
+ end
122
+
123
+ def extract_with_fastimage(io, options)
124
+ require "fastimage"
125
+
126
+ type = FastImage.type(io)
127
+ "image/#{type}" if type
128
+ end
129
+
130
+ def extract_with_filemagic(io, options)
131
+ require "filemagic"
132
+
133
+ return nil if io.eof? # FileMagic returns "application/x-empty" for empty files
134
+
135
+ FileMagic.open(FileMagic::MAGIC_MIME_TYPE) do |filemagic|
136
+ filemagic.buffer(io.read(MAGIC_NUMBER))
137
+ end
138
+ end
139
+
140
+ def extract_with_mimemagic(io, options)
141
+ require "mimemagic"
142
+
143
+ mime = MimeMagic.by_magic(io)
144
+ mime&.type
145
+ end
146
+
147
+ def extract_with_marcel(io, options)
148
+ require "marcel"
149
+
150
+ return nil if io.eof? # marcel returns "application/octet-stream" for empty files
151
+
152
+ filename = (options[:filename_fallback] ? extract_filename(io) : nil)
153
+ Marcel::MimeType.for(io, name: filename)
154
+ end
155
+
156
+ def extract_with_mime_types(io, options)
157
+ require "mime/types"
158
+
159
+ if filename = extract_filename(io)
160
+ mime_type = MIME::Types.of(filename).first
161
+ mime_type&.content_type
162
+ end
163
+ end
164
+
165
+ def extract_with_mini_mime(io, options)
166
+ require "mini_mime"
167
+
168
+ if filename = extract_filename(io)
169
+ info = MiniMime.lookup_by_filename(filename)
170
+ info&.content_type
171
+ end
172
+ end
173
+
174
+ def extract_with_content_type(io, options)
175
+ if io.respond_to?(:content_type) && io.content_type
176
+ io.content_type.split(";").first
177
+ end
178
+ end
179
+
180
+ def extract_filename(io)
181
+ if io.respond_to?(:original_filename)
182
+ io.original_filename
183
+ elsif io.respond_to?(:path)
184
+ File.basename(io.path)
185
+ end
186
+ end
187
+ end
188
+
189
+ end
190
+
191
+ register_plugin(:determine_mime_type, DetermineMimeType)
192
+ end
193
+ end
@@ -31,10 +31,14 @@ module RailsAdminSettings
31
31
 
32
32
  def value
33
33
  if upload_kind?
34
- if file?
35
- file.url
34
+ unless defined?(Shrine)
35
+ if file?
36
+ file.url
37
+ else
38
+ nil
39
+ end
36
40
  else
37
- nil
41
+ file.url if file.present?
38
42
  end
39
43
  elsif raw.blank? || disabled?
40
44
  default_value
@@ -4,7 +4,6 @@ module RailsAdminSettings
4
4
  if base.respond_to?(:rails_admin)
5
5
  base.rails_admin do
6
6
  navigation_label I18n.t('admin.settings.label')
7
-
8
7
  list do
9
8
  if Object.const_defined?('RailsAdminToggleable')
10
9
  field :enabled, :toggle
@@ -16,9 +15,9 @@ module RailsAdminSettings
16
15
  field :name
17
16
  field :raw do
18
17
  pretty_value do
19
- if bindings[:object].file_kind?
18
+ if bindings[:object].file_kind? and !defined?(Shrine) and bindings[:object].to_path.present?
20
19
  "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'>#{CGI::escapeHTML(bindings[:object].to_path)}</a>".html_safe
21
- elsif bindings[:object].image_kind?
20
+ elsif bindings[:object].image_kind? and !defined?(Shrine) and !bindings[:object].file.nil?
22
21
  "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'><img src='#{CGI::escapeHTML(bindings[:object].file.url)}' /></a>".html_safe
23
22
  else
24
23
  value
@@ -0,0 +1,14 @@
1
+ module RailsAdminSettings
2
+ module Uploads
3
+ class ShrineUploader < Shrine
4
+ plugin :determine_mime_type
5
+ plugin :validation_helpers
6
+ plugin :mongoid if RailsAdminSettings.mongoid?
7
+ Attacher.validate do
8
+ validate_mime_type_inclusion %w[image/jpeg image/gif image/png]
9
+ validate_max_size 2.megabytes
10
+ end
11
+ end
12
+
13
+ end
14
+ end
@@ -1,6 +1,7 @@
1
1
  module RailsAdminSettings
2
2
  module Uploads
3
3
  autoload :CarrierWaveUploader, "rails_admin_settings/storage/carrier_wave_uploader"
4
+ autoload :ShrineUploader, "rails_admin_settings/storage/shrine_uploader"
4
5
 
5
6
  def self.paperclip_options
6
7
  if defined?(Rails)
@@ -37,6 +38,16 @@ module RailsAdminSettings
37
38
  end
38
39
  Settings.file_uploads_supported = true
39
40
  Settings.file_uploads_engine = :paperclip
41
+ elsif RailsAdminSettings.active_record? && defined?(Shrine)
42
+ Settings.file_uploads_supported = true
43
+ Settings.file_uploads_engine = :shrine
44
+ base.send(:include, ShrineUploader::Attachment(:file))
45
+ elsif RailsAdminSettings.mongoid? && ::Mongoid.const_defined?('Shrine')
46
+ base.send(:include, ::Mongoid::Document)
47
+ base.send(:include, ShrineUploader::Attachment(:file))
48
+ base.field(:file_data, type: String)
49
+ Settings.file_uploads_supported = true
50
+ Settings.file_uploads_engine = :shrine
40
51
  else
41
52
  # puts "[rails_admin_settings] Uploads disabled"
42
53
  end
@@ -32,7 +32,7 @@ module RailsAdminSettings
32
32
  def add_file_validator(base)
33
33
  base.validate if: :file_kind? do
34
34
  unless Settings.file_uploads_supported
35
- raise '[rails_admin_settings] File kind requires either CarrierWave or Paperclip. Check that rails_admin_settings is below them in Gemfile'
35
+ raise '[rails_admin_settings] File kind requires either CarrierWave or Paperclip or Shrine. Check that rails_admin_settings is below them in Gemfile'
36
36
  end
37
37
  end
38
38
  end
@@ -1,3 +1,3 @@
1
1
  module RailsAdminSettings
2
- VERSION = "1.5.1"
2
+ VERSION = "1.6.0"
3
3
  end
@@ -37,4 +37,8 @@ Gem::Specification.new do |spec|
37
37
  spec.add_development_dependency "carrierwave-mongoid"
38
38
  spec.add_development_dependency "mongoid-paperclip"
39
39
  spec.add_development_dependency "rubocop-rspec"
40
+ spec.add_development_dependency 'image_processing'
41
+ spec.add_development_dependency "mini_magick"
42
+ spec.add_development_dependency "shrine", "~> 3.0"
43
+ spec.add_development_dependency "shrine-mongoid", "~> 1.0"
40
44
  end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe "Uploads" do
5
+ if Settings.file_uploads_engine != :shrine
6
+ pending "shrine not detected, skipped. To run use UPLOADS=shrine rspec"
7
+ else
8
+ before :each do
9
+ f = "#{File.dirname(__FILE__)}/../uploads/1024x768.gif"
10
+ if File.file?(f)
11
+ File.unlink(f)
12
+ end
13
+ end
14
+ it 'supports file kind' do
15
+ Settings.set('file', File.open("#{File.dirname(__FILE__)}/support/1024x768.gif"), kind: 'file')
16
+ expect(Settings.get(:file).file.metadata["filename"]).to eq '1024x768.gif'
17
+ expect(Settings.get(:file).file.metadata["size"]).to eq 4357
18
+ expect(Settings.get(:file).file.metadata["mime_type"]).to eq "image/gif"
19
+ expect(Settings.get(:file).file.id.split(".").last).to eq "gif"
20
+ expect(Settings.file.split("/").second + "/" + Settings.file.split("/").last.split(".").last).to eq "uploads/gif"
21
+ expect(File.exists?("public/uploads/#{Settings.get(:file).file.id}")).to be_truthy
22
+ end
23
+ it 'supports image kind' do
24
+ Settings.set('file', File.open("#{File.dirname(__FILE__)}/support/1024x768.gif"), kind: 'image')
25
+ expect(Settings.get(:file).file.metadata["filename"]).to eq '1024x768.gif'
26
+ expect(Settings.get(:file).file.metadata["size"]).to eq 4357
27
+ expect(Settings.get(:file).file.metadata["mime_type"]).to eq "image/gif"
28
+ expect(Settings.get(:file).file.id.split(".").last).to eq "gif"
29
+ expect(Settings.file.split("/").second + "/" + Settings.file.split("/").last.split(".").last).to eq "uploads/gif"
30
+ expect(File.exists?("public/uploads/#{Settings.get(:file).file.id}")).to be_truthy
31
+ end
32
+ end
33
+ end
34
+
@@ -28,6 +28,22 @@ if ENV['UPLOADS'] == 'carrierwave'
28
28
  end
29
29
  end
30
30
  end
31
+ if ENV['UPLOADS'] == 'shrine'
32
+ require "shrine"
33
+ require "shrine/storage/file_system"
34
+ Shrine.storages = {
35
+ cache: Shrine::Storage::FileSystem.new("public", prefix: "uploads/cache"), # temporary
36
+ store: Shrine::Storage::FileSystem.new("public", prefix: "uploads"), # permanent
37
+ }
38
+
39
+ if ENV['ACTIVERECORD']
40
+ Shrine.plugin :activerecord
41
+ end
42
+ Shrine.plugin :cached_attachment_data # for retaining the cached file across form redisplays
43
+ Shrine.plugin :restore_cached_data # re-extract metadata when attaching a cached file
44
+ end
45
+
46
+
31
47
 
32
48
  I18n.enforce_available_locales = true
33
49
  I18n.load_path << File.join(File.dirname(__FILE__), "..", "config", "locales", "en.yml")
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleb Tv
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-02 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid
@@ -262,6 +262,62 @@ dependencies:
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: image_processing
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: mini_magick
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: shrine
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '3.0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '3.0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: shrine-mongoid
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '1.0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '1.0'
265
321
  description: Mongoid / ActiveRecord + RailsAdmin App Settings management
266
322
  email:
267
323
  - glebtv@gmail.com
@@ -270,6 +326,7 @@ extensions: []
270
326
  extra_rdoc_files: []
271
327
  files:
272
328
  - ".gitignore"
329
+ - ".rakeTasks"
273
330
  - ".rspec"
274
331
  - ".travis.yml"
275
332
  - CHANGELOG.md
@@ -288,6 +345,7 @@ files:
288
345
  - lib/generators/rails_admin_settings/migration_generator.rb
289
346
  - lib/generators/rails_admin_settings/templates/migration.rb
290
347
  - lib/rails_admin_settings.rb
348
+ - lib/rails_admin_settings/determine_mime_type.rb
291
349
  - lib/rails_admin_settings/dumper.rb
292
350
  - lib/rails_admin_settings/engine.rb
293
351
  - lib/rails_admin_settings/fallback.rb
@@ -300,6 +358,7 @@ files:
300
358
  - lib/rails_admin_settings/require_helpers.rb
301
359
  - lib/rails_admin_settings/settings.rb
302
360
  - lib/rails_admin_settings/storage/carrier_wave_uploader.rb
361
+ - lib/rails_admin_settings/storage/shrine_uploader.rb
303
362
  - lib/rails_admin_settings/tasks.rb
304
363
  - lib/rails_admin_settings/uploads.rb
305
364
  - lib/rails_admin_settings/validation.rb
@@ -318,6 +377,7 @@ files:
318
377
  - spec/namespaced_spec.rb
319
378
  - spec/paperclip_spec.rb
320
379
  - spec/settings_spec.rb
380
+ - spec/shrine_spec.rb
321
381
  - spec/spec_helper.rb
322
382
  - spec/support/1024x768.gif
323
383
  - spec/support/database_cleaner.rb
@@ -345,7 +405,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
345
405
  - !ruby/object:Gem::Version
346
406
  version: '0'
347
407
  requirements: []
348
- rubygems_version: 3.0.4
408
+ rubygems_version: 3.1.2
349
409
  signing_key:
350
410
  specification_version: 4
351
411
  summary: ''
@@ -362,6 +422,7 @@ test_files:
362
422
  - spec/namespaced_spec.rb
363
423
  - spec/paperclip_spec.rb
364
424
  - spec/settings_spec.rb
425
+ - spec/shrine_spec.rb
365
426
  - spec/spec_helper.rb
366
427
  - spec/support/1024x768.gif
367
428
  - spec/support/database_cleaner.rb