carrierwave-postgresql-table 1.0.2 → 1.1.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 +5 -5
- data/.circleci/config.yml +85 -0
- data/.rubocop.yml +126 -0
- data/Appraisals +35 -3
- data/CHANGELOG.md +8 -0
- data/Gemfile +3 -1
- data/README.md +4 -5
- data/Rakefile +7 -1
- data/bin/console +1 -0
- data/carrierwave-postgresql-table.gemspec +14 -10
- data/gemfiles/carrierwave_0.11_rails_4.2.gemfile +2 -1
- data/gemfiles/carrierwave_0.11_rails_4.2.gemfile.lock +87 -64
- data/gemfiles/{carrierwave_1.0.0_rails_4.2.gemfile → carrierwave_1.0_rails_4.2.gemfile} +2 -1
- data/gemfiles/carrierwave_1.0_rails_4.2.gemfile.lock +152 -0
- data/gemfiles/carrierwave_1.1_rails_4.2.gemfile +9 -0
- data/gemfiles/carrierwave_1.1_rails_4.2.gemfile.lock +152 -0
- data/gemfiles/carrierwave_1.2_rails_4.2.gemfile +9 -0
- data/gemfiles/carrierwave_1.2_rails_4.2.gemfile.lock +152 -0
- data/gemfiles/carrierwave_1.x_rails_4.2.gemfile +9 -0
- data/gemfiles/carrierwave_1.x_rails_4.2.gemfile.lock +152 -0
- data/gemfiles/{carrierwave_1.0.0_rails_5.0.gemfile → carrierwave_1.x_rails_5.0.gemfile} +2 -2
- data/gemfiles/carrierwave_1.x_rails_5.0.gemfile.lock +158 -0
- data/gemfiles/carrierwave_1.x_rails_5.1.gemfile +8 -0
- data/gemfiles/carrierwave_1.x_rails_5.1.gemfile.lock +158 -0
- data/gemfiles/carrierwave_1.x_rails_5.2.gemfile +8 -0
- data/gemfiles/carrierwave_1.x_rails_5.2.gemfile.lock +166 -0
- data/lib/carrierwave-postgresql-table.rb +2 -0
- data/lib/carrierwave/postgresql_table/rack_app.rb +7 -5
- data/lib/carrierwave/postgresql_table/version.rb +3 -1
- data/lib/carrierwave/storage/postgresql_table.rb +17 -15
- data/lib/generators/carrierwave_postgresql_table/migration/migration_generator.rb +4 -2
- metadata +59 -34
- data/circle.yml +0 -12
- data/gemfiles/carrierwave_1.0.0_rails_4.2.gemfile.lock +0 -129
- data/gemfiles/carrierwave_1.0.0_rails_5.0.gemfile.lock +0 -136
@@ -0,0 +1,166 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
carrierwave-postgresql-table (1.1.0)
|
5
|
+
activerecord
|
6
|
+
carrierwave
|
7
|
+
pg
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
actioncable (5.2.1)
|
13
|
+
actionpack (= 5.2.1)
|
14
|
+
nio4r (~> 2.0)
|
15
|
+
websocket-driver (>= 0.6.1)
|
16
|
+
actionmailer (5.2.1)
|
17
|
+
actionpack (= 5.2.1)
|
18
|
+
actionview (= 5.2.1)
|
19
|
+
activejob (= 5.2.1)
|
20
|
+
mail (~> 2.5, >= 2.5.4)
|
21
|
+
rails-dom-testing (~> 2.0)
|
22
|
+
actionpack (5.2.1)
|
23
|
+
actionview (= 5.2.1)
|
24
|
+
activesupport (= 5.2.1)
|
25
|
+
rack (~> 2.0)
|
26
|
+
rack-test (>= 0.6.3)
|
27
|
+
rails-dom-testing (~> 2.0)
|
28
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
29
|
+
actionview (5.2.1)
|
30
|
+
activesupport (= 5.2.1)
|
31
|
+
builder (~> 3.1)
|
32
|
+
erubi (~> 1.4)
|
33
|
+
rails-dom-testing (~> 2.0)
|
34
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
35
|
+
activejob (5.2.1)
|
36
|
+
activesupport (= 5.2.1)
|
37
|
+
globalid (>= 0.3.6)
|
38
|
+
activemodel (5.2.1)
|
39
|
+
activesupport (= 5.2.1)
|
40
|
+
activerecord (5.2.1)
|
41
|
+
activemodel (= 5.2.1)
|
42
|
+
activesupport (= 5.2.1)
|
43
|
+
arel (>= 9.0)
|
44
|
+
activestorage (5.2.1)
|
45
|
+
actionpack (= 5.2.1)
|
46
|
+
activerecord (= 5.2.1)
|
47
|
+
marcel (~> 0.3.1)
|
48
|
+
activesupport (5.2.1)
|
49
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
50
|
+
i18n (>= 0.7, < 2)
|
51
|
+
minitest (~> 5.1)
|
52
|
+
tzinfo (~> 1.1)
|
53
|
+
appraisal (2.2.0)
|
54
|
+
bundler
|
55
|
+
rake
|
56
|
+
thor (>= 0.14.0)
|
57
|
+
arel (9.0.0)
|
58
|
+
ast (2.4.0)
|
59
|
+
builder (3.2.3)
|
60
|
+
carrierwave (1.2.3)
|
61
|
+
activemodel (>= 4.0.0)
|
62
|
+
activesupport (>= 4.0.0)
|
63
|
+
mime-types (>= 1.16)
|
64
|
+
concurrent-ruby (1.1.3)
|
65
|
+
crass (1.0.4)
|
66
|
+
database_cleaner (1.7.0)
|
67
|
+
erubi (1.7.1)
|
68
|
+
globalid (0.4.1)
|
69
|
+
activesupport (>= 4.2.0)
|
70
|
+
i18n (1.1.1)
|
71
|
+
concurrent-ruby (~> 1.0)
|
72
|
+
jaro_winkler (1.5.1)
|
73
|
+
loofah (2.2.3)
|
74
|
+
crass (~> 1.0.2)
|
75
|
+
nokogiri (>= 1.5.9)
|
76
|
+
mail (2.7.1)
|
77
|
+
mini_mime (>= 0.1.1)
|
78
|
+
marcel (0.3.3)
|
79
|
+
mimemagic (~> 0.3.2)
|
80
|
+
method_source (0.9.2)
|
81
|
+
mime-types (3.2.2)
|
82
|
+
mime-types-data (~> 3.2015)
|
83
|
+
mime-types-data (3.2018.0812)
|
84
|
+
mimemagic (0.3.2)
|
85
|
+
mini_mime (1.0.1)
|
86
|
+
mini_portile2 (2.3.0)
|
87
|
+
minitest (5.11.3)
|
88
|
+
nio4r (2.3.1)
|
89
|
+
nokogiri (1.8.5)
|
90
|
+
mini_portile2 (~> 2.3.0)
|
91
|
+
parallel (1.12.1)
|
92
|
+
parser (2.5.3.0)
|
93
|
+
ast (~> 2.4.0)
|
94
|
+
pg (1.1.3)
|
95
|
+
powerpack (0.1.2)
|
96
|
+
rack (2.0.6)
|
97
|
+
rack-test (1.1.0)
|
98
|
+
rack (>= 1.0, < 3)
|
99
|
+
rails (5.2.1)
|
100
|
+
actioncable (= 5.2.1)
|
101
|
+
actionmailer (= 5.2.1)
|
102
|
+
actionpack (= 5.2.1)
|
103
|
+
actionview (= 5.2.1)
|
104
|
+
activejob (= 5.2.1)
|
105
|
+
activemodel (= 5.2.1)
|
106
|
+
activerecord (= 5.2.1)
|
107
|
+
activestorage (= 5.2.1)
|
108
|
+
activesupport (= 5.2.1)
|
109
|
+
bundler (>= 1.3.0)
|
110
|
+
railties (= 5.2.1)
|
111
|
+
sprockets-rails (>= 2.0.0)
|
112
|
+
rails-dom-testing (2.0.3)
|
113
|
+
activesupport (>= 4.2.0)
|
114
|
+
nokogiri (>= 1.6)
|
115
|
+
rails-html-sanitizer (1.0.4)
|
116
|
+
loofah (~> 2.2, >= 2.2.2)
|
117
|
+
railties (5.2.1)
|
118
|
+
actionpack (= 5.2.1)
|
119
|
+
activesupport (= 5.2.1)
|
120
|
+
method_source
|
121
|
+
rake (>= 0.8.7)
|
122
|
+
thor (>= 0.19.0, < 2.0)
|
123
|
+
rainbow (3.0.0)
|
124
|
+
rake (12.3.1)
|
125
|
+
rubocop (0.60.0)
|
126
|
+
jaro_winkler (~> 1.5.1)
|
127
|
+
parallel (~> 1.10)
|
128
|
+
parser (>= 2.5, != 2.5.1.1)
|
129
|
+
powerpack (~> 0.1)
|
130
|
+
rainbow (>= 2.2.2, < 4.0)
|
131
|
+
ruby-progressbar (~> 1.7)
|
132
|
+
unicode-display_width (~> 1.4.0)
|
133
|
+
ruby-progressbar (1.10.0)
|
134
|
+
sprockets (3.7.2)
|
135
|
+
concurrent-ruby (~> 1.0)
|
136
|
+
rack (> 1, < 3)
|
137
|
+
sprockets-rails (3.2.1)
|
138
|
+
actionpack (>= 4.0)
|
139
|
+
activesupport (>= 4.0)
|
140
|
+
sprockets (>= 3.0.0)
|
141
|
+
thor (0.20.3)
|
142
|
+
thread_safe (0.3.6)
|
143
|
+
tzinfo (1.2.5)
|
144
|
+
thread_safe (~> 0.1)
|
145
|
+
unicode-display_width (1.4.0)
|
146
|
+
websocket-driver (0.7.0)
|
147
|
+
websocket-extensions (>= 0.1.0)
|
148
|
+
websocket-extensions (0.1.3)
|
149
|
+
|
150
|
+
PLATFORMS
|
151
|
+
ruby
|
152
|
+
|
153
|
+
DEPENDENCIES
|
154
|
+
appraisal (~> 2.2.0)
|
155
|
+
bundler (>= 1.0)
|
156
|
+
carrierwave (~> 1.0)
|
157
|
+
carrierwave-postgresql-table!
|
158
|
+
database_cleaner (~> 1.7.0)
|
159
|
+
minitest (~> 5.11)
|
160
|
+
rack-test (>= 0.6)
|
161
|
+
rails (~> 5.2.0)
|
162
|
+
rake (~> 12.3)
|
163
|
+
rubocop (>= 0.60)
|
164
|
+
|
165
|
+
BUNDLED WITH
|
166
|
+
1.17.1
|
@@ -1,19 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module CarrierWave
|
2
4
|
module PostgresqlTable
|
3
5
|
class RackApp
|
4
|
-
READ_CHUNK_SIZE =
|
6
|
+
READ_CHUNK_SIZE = 16_384
|
5
7
|
|
6
8
|
def call(env)
|
7
9
|
request = Rack::Request.new(env)
|
8
10
|
|
9
11
|
strip_prefix = "/"
|
10
|
-
if(defined?(Rails) && Rails.application && Rails.application.config.relative_url_root)
|
12
|
+
if (defined?(Rails) && Rails.application && Rails.application.config.relative_url_root)
|
11
13
|
strip_prefix = File.join(Rails.application.config.relative_url_root, "/")
|
12
14
|
end
|
13
15
|
path = request.path.sub(/^#{Regexp.escape(strip_prefix)}/, "")
|
14
16
|
file = CarrierWave::Storage::PostgresqlTable::File.new(path)
|
15
17
|
|
16
|
-
unless
|
18
|
+
unless file.exists?
|
17
19
|
return [404, { "Content-Type" => "text/plain" }, ["Not Found"]]
|
18
20
|
end
|
19
21
|
|
@@ -23,12 +25,12 @@ module CarrierWave
|
|
23
25
|
"Content-Disposition" => "inline",
|
24
26
|
}
|
25
27
|
|
26
|
-
if(request.params["download"] == "true")
|
28
|
+
if (request.params["download"] == "true")
|
27
29
|
headers["Content-Disposition"] = "attachment; filename=#{file.filename}"
|
28
30
|
end
|
29
31
|
|
30
32
|
body = Enumerator.new do |response_body|
|
31
|
-
while(chunk = file.read(READ_CHUNK_SIZE))
|
33
|
+
while (chunk = file.read(READ_CHUNK_SIZE))
|
32
34
|
response_body << chunk
|
33
35
|
end
|
34
36
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module CarrierWave
|
2
4
|
module Storage
|
3
5
|
class PostgresqlTable < Abstract
|
4
6
|
def store!(file)
|
5
|
-
if(uploader.move_to_store && file.kind_of?(CarrierWave::Storage::PostgresqlTable::File))
|
7
|
+
if (uploader.move_to_store && file.kind_of?(CarrierWave::Storage::PostgresqlTable::File))
|
6
8
|
file.move_to(uploader.store_path)
|
7
9
|
file
|
8
10
|
else
|
@@ -33,7 +35,7 @@ module CarrierWave
|
|
33
35
|
|
34
36
|
def clean_cache!(seconds)
|
35
37
|
time = Time.now - seconds.seconds
|
36
|
-
CarrierWaveFile.delete_all_files("path LIKE #{CarrierWaveFile.
|
38
|
+
CarrierWaveFile.delete_all_files("path LIKE #{CarrierWaveFile.connection.quote(::File.join(uploader.cache_dir, "%"))} AND updated_at < #{CarrierWaveFile.connection.quote(time)}")
|
37
39
|
end
|
38
40
|
|
39
41
|
class CarrierWaveFile < ::ActiveRecord::Base
|
@@ -48,8 +50,8 @@ module CarrierWave
|
|
48
50
|
end
|
49
51
|
|
50
52
|
class File
|
51
|
-
READ_CHUNK_SIZE =
|
52
|
-
STREAM_CHUNK_SIZE =
|
53
|
+
READ_CHUNK_SIZE = 16_384
|
54
|
+
STREAM_CHUNK_SIZE = 16_384
|
53
55
|
|
54
56
|
attr_reader :path
|
55
57
|
|
@@ -66,7 +68,7 @@ module CarrierWave
|
|
66
68
|
|
67
69
|
begin
|
68
70
|
lo = raw_connection.lo_open(@record.pg_largeobject_oid)
|
69
|
-
if
|
71
|
+
if length
|
70
72
|
raw_connection.lo_lseek(lo, @read_pos, PG::SEEK_SET)
|
71
73
|
data = raw_connection.lo_read(lo, length)
|
72
74
|
@read_pos = raw_connection.lo_tell(lo)
|
@@ -74,11 +76,11 @@ module CarrierWave
|
|
74
76
|
data = raw_connection.lo_read(lo, self.size)
|
75
77
|
end
|
76
78
|
ensure
|
77
|
-
raw_connection.lo_close(lo) if
|
79
|
+
raw_connection.lo_close(lo) if lo
|
78
80
|
end
|
79
81
|
end
|
80
82
|
|
81
|
-
if(buffer && data)
|
83
|
+
if (buffer && data)
|
82
84
|
buffer.replace(data)
|
83
85
|
end
|
84
86
|
|
@@ -122,7 +124,7 @@ module CarrierWave
|
|
122
124
|
@record.update_attribute(:content_type, new_content_type)
|
123
125
|
end
|
124
126
|
|
125
|
-
def url(
|
127
|
+
def url(_options = {})
|
126
128
|
::File.join("/", @path)
|
127
129
|
end
|
128
130
|
|
@@ -131,7 +133,7 @@ module CarrierWave
|
|
131
133
|
connection = CarrierWaveFile.connection
|
132
134
|
raw_connection = connection.raw_connection
|
133
135
|
oid = nil
|
134
|
-
if
|
136
|
+
if new_file.kind_of?(CarrierWave::Storage::PostgresqlTable::File)
|
135
137
|
file = new_file
|
136
138
|
else
|
137
139
|
file = new_file.to_file
|
@@ -141,7 +143,7 @@ module CarrierWave
|
|
141
143
|
oid = @record.pg_largeobject_oid || raw_connection.lo_creat
|
142
144
|
handle = raw_connection.lo_open(oid, PG::INV_WRITE)
|
143
145
|
raw_connection.lo_truncate(handle, 0)
|
144
|
-
buffer =
|
146
|
+
buffer = String.new # rubocop:disable Style/EmptyLiteral
|
145
147
|
until file.eof?
|
146
148
|
file.read(READ_CHUNK_SIZE, buffer)
|
147
149
|
raw_connection.lo_write(handle, buffer)
|
@@ -160,9 +162,9 @@ module CarrierWave
|
|
160
162
|
|
161
163
|
# Cleanup old, unused largeobject OIDs if we're updating the
|
162
164
|
# record with a new OID reference.
|
163
|
-
if(old_oid && old_oid != oid)
|
164
|
-
old_references = connection.select_value("SELECT COUNT(*) FROM #{CarrierWaveFile.table_name} WHERE pg_largeobject_oid = #{CarrierWaveFile.
|
165
|
-
if(old_references == 0)
|
165
|
+
if (old_oid && old_oid != oid)
|
166
|
+
old_references = connection.select_value("SELECT COUNT(*) FROM #{CarrierWaveFile.table_name} WHERE pg_largeobject_oid = #{CarrierWaveFile.connection.quote(old_oid)}").to_i
|
167
|
+
if (old_references == 0)
|
166
168
|
raw_connection.lo_unlink(old_oid)
|
167
169
|
end
|
168
170
|
end
|
@@ -180,7 +182,7 @@ module CarrierWave
|
|
180
182
|
def move_to(new_path)
|
181
183
|
CarrierWaveFile.transaction do
|
182
184
|
# Remove any existing files at the current path.
|
183
|
-
CarrierWaveFile.delete_all_files("path = #{CarrierWaveFile.
|
185
|
+
CarrierWaveFile.delete_all_files("path = #{CarrierWaveFile.connection.quote(new_path)} AND id != #{CarrierWaveFile.connection.quote(@record.id)}")
|
184
186
|
|
185
187
|
# Change the current record's path to the new path.
|
186
188
|
@record.update_attribute(:path, new_path)
|
@@ -188,7 +190,7 @@ module CarrierWave
|
|
188
190
|
end
|
189
191
|
|
190
192
|
def delete
|
191
|
-
CarrierWaveFile.delete_all_files("id = #{CarrierWaveFile.
|
193
|
+
CarrierWaveFile.delete_all_files("id = #{CarrierWaveFile.connection.quote(@record.id)}")
|
192
194
|
end
|
193
195
|
|
194
196
|
private
|
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "rails/generators/active_record"
|
2
4
|
|
3
5
|
module CarrierwavePostgresqlTable
|
4
6
|
class MigrationGenerator < Rails::Generators::Base
|
5
7
|
include Rails::Generators::Migration
|
6
|
-
source_root(File.expand_path("
|
8
|
+
source_root(File.expand_path("templates", __dir__))
|
7
9
|
|
8
|
-
def self.next_migration_number(
|
10
|
+
def self.next_migration_number(_dirname)
|
9
11
|
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
10
12
|
end
|
11
13
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carrierwave-postgresql-table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Muerdter
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -58,98 +58,112 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.2.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.
|
68
|
+
version: 2.2.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: database_cleaner
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
89
|
+
version: 1.7.0
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
96
|
+
version: 1.7.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: minitest
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
103
|
+
version: '5.11'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '5.11'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: rack-test
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - "
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
117
|
+
version: '0.6'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - "
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
124
|
+
version: '0.6'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
126
|
+
name: rails
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- - "
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '4.2'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- - "
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '4.2'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: rake
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
145
|
+
version: '12.3'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: '12.3'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
154
|
+
name: rubocop
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- - "
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
159
|
+
version: '0.60'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- - "
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
166
|
+
version: '0.60'
|
153
167
|
description:
|
154
168
|
email:
|
155
169
|
- nick.muerdter@nrel.gov
|
@@ -157,7 +171,9 @@ executables: []
|
|
157
171
|
extensions: []
|
158
172
|
extra_rdoc_files: []
|
159
173
|
files:
|
174
|
+
- ".circleci/config.yml"
|
160
175
|
- ".gitignore"
|
176
|
+
- ".rubocop.yml"
|
161
177
|
- Appraisals
|
162
178
|
- CHANGELOG.md
|
163
179
|
- Gemfile
|
@@ -167,13 +183,22 @@ files:
|
|
167
183
|
- bin/console
|
168
184
|
- bin/setup
|
169
185
|
- carrierwave-postgresql-table.gemspec
|
170
|
-
- circle.yml
|
171
186
|
- gemfiles/carrierwave_0.11_rails_4.2.gemfile
|
172
187
|
- gemfiles/carrierwave_0.11_rails_4.2.gemfile.lock
|
173
|
-
- gemfiles/carrierwave_1.
|
174
|
-
- gemfiles/carrierwave_1.
|
175
|
-
- gemfiles/carrierwave_1.
|
176
|
-
- gemfiles/carrierwave_1.
|
188
|
+
- gemfiles/carrierwave_1.0_rails_4.2.gemfile
|
189
|
+
- gemfiles/carrierwave_1.0_rails_4.2.gemfile.lock
|
190
|
+
- gemfiles/carrierwave_1.1_rails_4.2.gemfile
|
191
|
+
- gemfiles/carrierwave_1.1_rails_4.2.gemfile.lock
|
192
|
+
- gemfiles/carrierwave_1.2_rails_4.2.gemfile
|
193
|
+
- gemfiles/carrierwave_1.2_rails_4.2.gemfile.lock
|
194
|
+
- gemfiles/carrierwave_1.x_rails_4.2.gemfile
|
195
|
+
- gemfiles/carrierwave_1.x_rails_4.2.gemfile.lock
|
196
|
+
- gemfiles/carrierwave_1.x_rails_5.0.gemfile
|
197
|
+
- gemfiles/carrierwave_1.x_rails_5.0.gemfile.lock
|
198
|
+
- gemfiles/carrierwave_1.x_rails_5.1.gemfile
|
199
|
+
- gemfiles/carrierwave_1.x_rails_5.1.gemfile.lock
|
200
|
+
- gemfiles/carrierwave_1.x_rails_5.2.gemfile
|
201
|
+
- gemfiles/carrierwave_1.x_rails_5.2.gemfile.lock
|
177
202
|
- lib/carrierwave-postgresql-table.rb
|
178
203
|
- lib/carrierwave/postgresql_table/rack_app.rb
|
179
204
|
- lib/carrierwave/postgresql_table/version.rb
|
@@ -193,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
218
|
requirements:
|
194
219
|
- - ">="
|
195
220
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
221
|
+
version: 2.2.0
|
197
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
223
|
requirements:
|
199
224
|
- - ">="
|
@@ -201,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
226
|
version: '0'
|
202
227
|
requirements: []
|
203
228
|
rubyforge_project:
|
204
|
-
rubygems_version: 2.6
|
229
|
+
rubygems_version: 2.7.6
|
205
230
|
signing_key:
|
206
231
|
specification_version: 4
|
207
232
|
summary: Store CarrierWave files in PostgreSQL (supporting multiple versions per uploader).
|