activestorage-openstack 0.5.0 → 1.0.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 +4 -4
- data/README.md +6 -3
- data/lib/active_storage/openstack/version.rb +1 -1
- data/lib/active_storage/service/open_stack_service.rb +13 -5
- metadata +10 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 67ca4d8907ac5b47c65046317560958658f26e6ce30e4ff9d3d3c109e1b05aeb
|
|
4
|
+
data.tar.gz: 21e727fabf9deb5d6345b1fa53a8bc65d284f9a7fb63dc0c944a43e6ffca8c04
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eadb0cc54cecf91689d513d643d5daa8c2e1d69302d3e61a457e13956a94ff34b51ee79e113b971f1a547eca991553f532451fe99c678280cebd275f3a0b02c7
|
|
7
|
+
data.tar.gz: 43bb20617980222e0fb2c4013dc36e338b34c1403b6ede92591de9633e4afd9d76ca7431d27aec2d619a0a1a0975241aeb140e52f3513f3a75288ec5ebafda4e
|
data/README.md
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
# ActiveStorage::Openstack
|
|
2
|
-
This rails plugin wraps the OpenStack Swift provider as an Active Storage service.
|
|
2
|
+
This rails plugin wraps the OpenStack Swift provider as an Active Storage service. It is now compatible with rails 6.
|
|
3
3
|
|
|
4
4
|
[](https://badge.fury.io/rb/activestorage-openstack)
|
|
5
5
|
[](https://travis-ci.com/chaadow/activestorage-openstack)
|
|
6
6
|
[](https://codeclimate.com/github/chaadow/activestorage-openstack/maintainability)
|
|
7
7
|
[](https://codeclimate.com/github/chaadow/activestorage-openstack/test_coverage)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
Starting from version `0.4`, this gem enforces version `>= 0.2.2` of `fog-openstack` which introduces breaking changes to the configuration keys in `config/storage.yml`. Please read the [MIGRATING from `0.1.x` to `0.2.x`](#migrating-from-fog-openstack-01x-to-02x) section
|
|
11
|
+
|
|
12
|
+
**This gem currently supports `fog-openstack` version `~ 1.0`**
|
|
10
13
|
|
|
11
14
|
## Installation
|
|
12
15
|
Add this line to your application's Gemfile:
|
|
13
16
|
|
|
14
17
|
```ruby
|
|
15
|
-
gem 'activestorage-openstack'
|
|
18
|
+
gem 'activestorage-openstack', '1.0'
|
|
16
19
|
```
|
|
17
20
|
|
|
18
21
|
And then execute:
|
|
@@ -11,7 +11,7 @@ module ActiveStorage
|
|
|
11
11
|
@container = Fog::OpenStack.escape(container)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
def upload(key, io, checksum: nil)
|
|
14
|
+
def upload(key, io, checksum: nil, **)
|
|
15
15
|
instrument :upload, key: key, checksum: checksum do
|
|
16
16
|
params = { 'Content-Type' => guess_content_type(io) }
|
|
17
17
|
params['ETag'] = convert_base64digest_to_hexdigest(checksum) if checksum
|
|
@@ -34,6 +34,8 @@ module ActiveStorage
|
|
|
34
34
|
object_for(key).body
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
|
+
rescue Fog::OpenStack::Storage::NotFound
|
|
38
|
+
raise ActiveStorage::FileNotFoundError
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
def download_chunk(key, range)
|
|
@@ -45,9 +47,10 @@ module ActiveStorage
|
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
chunk_buffer.join[range]
|
|
50
|
+
rescue Fog::OpenStack::Storage::NotFound
|
|
51
|
+
raise ActiveStorage::FileNotFoundError
|
|
48
52
|
end
|
|
49
53
|
end
|
|
50
|
-
|
|
51
54
|
def delete(key)
|
|
52
55
|
instrument :delete, key: key do
|
|
53
56
|
begin
|
|
@@ -82,9 +85,14 @@ module ActiveStorage
|
|
|
82
85
|
def url(key, expires_in:, disposition:, filename:, **)
|
|
83
86
|
instrument :url, key: key do |payload|
|
|
84
87
|
expire_at = unix_timestamp_expires_at(expires_in)
|
|
85
|
-
generated_url =
|
|
88
|
+
generated_url =
|
|
89
|
+
client.get_object_https_url(
|
|
90
|
+
container,
|
|
91
|
+
key,
|
|
92
|
+
expire_at,
|
|
93
|
+
filename: filename
|
|
94
|
+
)
|
|
86
95
|
generated_url += '&inline' if disposition.to_s != 'attachment'
|
|
87
|
-
generated_url += "&filename=#{Fog::OpenStack.escape(filename.to_s)}" unless filename.nil?
|
|
88
96
|
# unfortunately OpenStack Swift cannot overwrite the content type of an object via a temp url
|
|
89
97
|
# so we just ignore the content_type argument here
|
|
90
98
|
payload[:url] = generated_url
|
|
@@ -123,7 +131,7 @@ module ActiveStorage
|
|
|
123
131
|
'Content-Type' => content_type)
|
|
124
132
|
true
|
|
125
133
|
rescue Fog::OpenStack::Storage::NotFound
|
|
126
|
-
|
|
134
|
+
raise ActiveStorage::FileNotFoundError
|
|
127
135
|
end
|
|
128
136
|
|
|
129
137
|
private
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activestorage-openstack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chedli Bourguiba
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-10-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fog-openstack
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0
|
|
19
|
+
version: '1.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0
|
|
26
|
+
version: '1.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: marcel
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -56,16 +56,16 @@ dependencies:
|
|
|
56
56
|
name: rails
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - "<="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
61
|
+
version: '6'
|
|
62
62
|
type: :runtime
|
|
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:
|
|
68
|
+
version: '6'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: sqlite3
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -135,15 +135,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
135
135
|
requirements:
|
|
136
136
|
- - ">="
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 2.
|
|
138
|
+
version: 2.5.0
|
|
139
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
140
|
requirements:
|
|
141
141
|
- - ">="
|
|
142
142
|
- !ruby/object:Gem::Version
|
|
143
143
|
version: 1.8.11
|
|
144
144
|
requirements: []
|
|
145
|
-
|
|
146
|
-
rubygems_version: 2.7.6
|
|
145
|
+
rubygems_version: 3.0.3
|
|
147
146
|
signing_key:
|
|
148
147
|
specification_version: 4
|
|
149
148
|
summary: ActiveStorage wrapper for OpenStack Storage
|