activestorage-openstack 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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