stashify-google-cloud-storage 3.1.0 → 3.1.1
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/.rubocop.yml +0 -3
- data/Gemfile.lock +7 -7
- data/README.md +28 -6
- data/lib/stashify/directory/google/cloud/storage.rb +5 -0
- data/lib/stashify/file/google/cloud/storage.rb +4 -0
- data/lib/stashify/google/cloud/storage/version.rb +1 -1
- data/stashify-google-cloud-storage.gemspec +38 -0
- metadata +5 -6
- data/.reek.yml +0 -3
- data/lib/stashify/google/cloud/storage.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd0b2c9765b2e4114b50cef616bcb39bcbb263d5f6d591da9b36be9e25fd0fc4
|
4
|
+
data.tar.gz: 589647aa4834c56c9c1afac29f69a5ddcdc8693259e6e5040d1509724655ba03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6a04e2f86e2689f32c3c567bfac1431ea5e1e7512ec6c161d9f19196d524422c468be1e08ec6221983d605b7b52210c48b2b7af2f605fc86b6ada5e9e5b5d67
|
7
|
+
data.tar.gz: a323d70da2277db57b53061ee23dde13824dca04d2645e9dbab09aece2ab6f50c801212dc398a913b1c97223f271ee12baee0e8fa28b8416026d458714d88149
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stashify-google-cloud-storage (3.1.
|
4
|
+
stashify-google-cloud-storage (3.1.1)
|
5
5
|
google-cloud-storage (~> 1.44.0)
|
6
|
-
stashify (~> 3.1
|
6
|
+
stashify (~> 3.2.1)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.8.
|
11
|
+
addressable (2.8.3)
|
12
12
|
public_suffix (>= 2.0.2, < 6.0)
|
13
13
|
ast (2.4.2)
|
14
14
|
byebug (11.1.3)
|
@@ -95,7 +95,7 @@ GEM
|
|
95
95
|
shellany (~> 0.0)
|
96
96
|
os (1.1.4)
|
97
97
|
parallel (1.22.1)
|
98
|
-
parser (3.2.
|
98
|
+
parser (3.2.2.0)
|
99
99
|
ast (~> 2.4.1)
|
100
100
|
pry (0.14.2)
|
101
101
|
coderay (~> 1.1)
|
@@ -131,14 +131,14 @@ GEM
|
|
131
131
|
diff-lcs (>= 1.2.0, < 2.0)
|
132
132
|
rspec-support (~> 3.12.0)
|
133
133
|
rspec-support (3.12.0)
|
134
|
-
rubocop (1.
|
134
|
+
rubocop (1.49.0)
|
135
135
|
json (~> 2.3)
|
136
136
|
parallel (~> 1.10)
|
137
137
|
parser (>= 3.2.0.0)
|
138
138
|
rainbow (>= 2.2.2, < 4.0)
|
139
139
|
regexp_parser (>= 1.8, < 3.0)
|
140
140
|
rexml (>= 3.2.5, < 4.0)
|
141
|
-
rubocop-ast (>= 1.
|
141
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
142
142
|
ruby-progressbar (~> 1.7)
|
143
143
|
unicode-display_width (>= 2.4.0, < 3.0)
|
144
144
|
rubocop-ast (1.28.0)
|
@@ -151,7 +151,7 @@ GEM
|
|
151
151
|
faraday (>= 0.17.5, < 3.a)
|
152
152
|
jwt (>= 1.5, < 3.0)
|
153
153
|
multi_json (~> 1.10)
|
154
|
-
stashify (3.1
|
154
|
+
stashify (3.2.1)
|
155
155
|
stashify-contract (1.0.1)
|
156
156
|
rantly (~> 2.0.0)
|
157
157
|
rspec (~> 3.0)
|
data/README.md
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
# Stashify::GoogleCloudStorage
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
This is an implementation of the [Stashify](https://rubydoc.info/gems/stashify) abstraction for Google Cloud Storage. It operates under the assumption that the "/" in file names has the typical meaning of a path separater.
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
9
7
|
Add this line to your application's Gemfile:
|
10
8
|
|
11
9
|
```ruby
|
12
|
-
gem 'stashify-
|
10
|
+
gem 'stashify-google-cloud-storage'
|
13
11
|
```
|
14
12
|
|
15
13
|
And then execute:
|
@@ -18,11 +16,35 @@ And then execute:
|
|
18
16
|
|
19
17
|
Or install it yourself as:
|
20
18
|
|
21
|
-
$ gem install stashify-
|
19
|
+
$ gem install stashify-google-cloud-storage
|
22
20
|
|
23
21
|
## Usage
|
24
22
|
|
25
|
-
|
23
|
+
This implementation is built on top of an instance of `Google::Cloud::Storage::Bucket`. The following usage is an abbreviated form to illustrate how to engage in this particular library. For a more extensive example see [Stashify's Usage](https://rubydoc.info/gems/stashify#usage).
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
> require "google/cloud/storage"
|
27
|
+
=> true
|
28
|
+
> storage = Google::Cloud::Storage.new(project_id: "some-project-id")
|
29
|
+
> bucket = storage.bucket("some-bucket-name")
|
30
|
+
> require "stashify/file/google/cloud/storage"
|
31
|
+
=> true
|
32
|
+
> file = Stashify::File::Google::Cloud::Storage.new(bucket: bucket, path: "pa
|
33
|
+
th/to/file")
|
34
|
+
=>
|
35
|
+
#<Stashify::File::Google::Cloud::Storage:0x000055af8eb86800
|
36
|
+
...
|
37
|
+
> file.contents
|
38
|
+
=> "foo"
|
39
|
+
> require "stashify/directory/google/cloud/storage"
|
40
|
+
=> true
|
41
|
+
> dir = Stashify::Directory::Google::Cloud::Storage.new(bucket: bucket, path: "path/to")
|
42
|
+
=>
|
43
|
+
#<Stashify::Directory::Google::Cloud::Storage:0x000055af8ebd6918
|
44
|
+
...
|
45
|
+
> dir.find("file") == file
|
46
|
+
=> true
|
47
|
+
```
|
26
48
|
|
27
49
|
## Development
|
28
50
|
|
@@ -8,6 +8,11 @@ module Stashify
|
|
8
8
|
class Directory
|
9
9
|
module Google
|
10
10
|
module Cloud
|
11
|
+
# An implementation for interacting with Google Cloud Storage
|
12
|
+
# buckets as if they had directories with "/" as a path
|
13
|
+
# separator. In addition to a path, it also needs a
|
14
|
+
# Google::Cloud::Storage::Bucket object representing the
|
15
|
+
# bucket the file resides within.
|
11
16
|
class Storage < Stashify::Directory
|
12
17
|
attr_reader :bucket
|
13
18
|
|
@@ -6,6 +6,10 @@ module Stashify
|
|
6
6
|
class File
|
7
7
|
module Google
|
8
8
|
module Cloud
|
9
|
+
# An implementation for interacting with files in Google Cloud
|
10
|
+
# Storage buckets. The constructor needs an instance of
|
11
|
+
# Google::Cloud::Storage::Bucket in order to know which bucket
|
12
|
+
# to interact with.
|
9
13
|
class Storage < Stashify::File
|
10
14
|
def initialize(bucket:, path:)
|
11
15
|
@bucket = bucket
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/stashify/google/cloud/storage/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "stashify-google-cloud-storage"
|
7
|
+
spec.version = Stashify::Google::Cloud::Storage::VERSION
|
8
|
+
spec.authors = ["Lambda Null"]
|
9
|
+
spec.email = ["lambda.null.42@gmail.com"]
|
10
|
+
|
11
|
+
spec.summary = "A Google Cloud Storage implementation of the Stashify abstraction"
|
12
|
+
spec.description = "Interact with Google Cloud Storage using the common building blocks provided by Stashify"
|
13
|
+
spec.homepage = "https://github.com/Lambda-Null/stashify-google-cloud-storage"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.6.0"
|
16
|
+
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
18
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
19
|
+
|
20
|
+
# Specify which files should be added to the gem when it is released.
|
21
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
22
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
23
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
24
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
25
|
+
end
|
26
|
+
end
|
27
|
+
spec.bindir = "exe"
|
28
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
29
|
+
spec.require_paths = ["lib"]
|
30
|
+
|
31
|
+
# Uncomment to register a new dependency of your gem
|
32
|
+
spec.add_dependency "google-cloud-storage", "~> 1.44.0"
|
33
|
+
spec.add_dependency "stashify", "~> 3.2.1"
|
34
|
+
|
35
|
+
# For more information and examples about making a new gem, checkout our
|
36
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
37
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
38
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stashify-google-cloud-storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lambda Null
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-storage
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.1
|
33
|
+
version: 3.2.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.1
|
40
|
+
version: 3.2.1
|
41
41
|
description: Interact with Google Cloud Storage using the common building blocks provided
|
42
42
|
by Stashify
|
43
43
|
email:
|
@@ -46,7 +46,6 @@ executables: []
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
-
- ".reek.yml"
|
50
49
|
- ".rspec"
|
51
50
|
- ".rubocop.yml"
|
52
51
|
- CODE_OF_CONDUCT.md
|
@@ -60,9 +59,9 @@ files:
|
|
60
59
|
- bin/setup
|
61
60
|
- lib/stashify/directory/google/cloud/storage.rb
|
62
61
|
- lib/stashify/file/google/cloud/storage.rb
|
63
|
-
- lib/stashify/google/cloud/storage.rb
|
64
62
|
- lib/stashify/google/cloud/storage/version.rb
|
65
63
|
- sig/stashify/google_cloud_storage.rbs
|
64
|
+
- stashify-google-cloud-storage.gemspec
|
66
65
|
homepage: https://github.com/Lambda-Null/stashify-google-cloud-storage
|
67
66
|
licenses:
|
68
67
|
- MIT
|
data/.reek.yml
DELETED