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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02fce9a3d10d94819312729de194056aa869f0e444b46b795961653c8d94e79c
4
- data.tar.gz: c9bb4f57f92cb8566ce975810bbe18780e5aa357e1bd99647dd9cd5fe34f257f
3
+ metadata.gz: 67ca4d8907ac5b47c65046317560958658f26e6ce30e4ff9d3d3c109e1b05aeb
4
+ data.tar.gz: 21e727fabf9deb5d6345b1fa53a8bc65d284f9a7fb63dc0c944a43e6ffca8c04
5
5
  SHA512:
6
- metadata.gz: d092fc6ec2f872a2d2c134821b85866c897c294c4083402b0e7aba113472e49dccd7d290aa4460660bbb8771409474d28e67338b324e875048e9b8bfd6b14b6e
7
- data.tar.gz: 76a30316abea049e86df2ca3b7f471a4fd1afb23961cb1a10bc9c7b28fe9ea00b5edf1a4147c7ced6f3875f0c9f33c8893cf58bcaf5b86b88700caf883b0908e
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
  [![Gem Version](https://badge.fury.io/rb/activestorage-openstack.svg)](https://badge.fury.io/rb/activestorage-openstack)
5
5
  [![Build Status](https://travis-ci.com/chaadow/activestorage-openstack.svg?branch=master)](https://travis-ci.com/chaadow/activestorage-openstack)
6
6
  [![Maintainability](https://api.codeclimate.com/v1/badges/4c070c101f86a579516f/maintainability)](https://codeclimate.com/github/chaadow/activestorage-openstack/maintainability)
7
7
  [![Test Coverage](https://api.codeclimate.com/v1/badges/4c070c101f86a579516f/test_coverage)](https://codeclimate.com/github/chaadow/activestorage-openstack/test_coverage)
8
8
 
9
- 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
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:
@@ -1,5 +1,5 @@
1
1
  module ActiveStorage
2
2
  module Openstack
3
- VERSION = '0.5.0'
3
+ VERSION = '1.0.0'
4
4
  end
5
5
  end
@@ -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 = client.get_object_https_url(container, key, expire_at)
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
- false
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.5.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: 2018-09-19 00:00:00.000000000 Z
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.3'
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.3'
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: 5.2.0
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: 5.2.0
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.2.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
- rubyforge_project:
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