gcs-signer 0.1.0 → 0.2.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gcs_signer.rb +6 -3
  3. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9da9710c3ec0d2781bb3d0002fc104a9f898ad9
4
- data.tar.gz: 8027a48a1276f076f9d0a46a5bd9aa0841da712e
3
+ metadata.gz: a74dad977177130c33d5b0ba0ca0ead47b5c3a82
4
+ data.tar.gz: 7926bd9cb2d5d2f48af827afb5f1392555f6e4e9
5
5
  SHA512:
6
- metadata.gz: 3b1303e21df8a93d2cd23a8ef1636a30d79ff3238643524adfc52efa7b082df53fdcb2d5fbdaa85e6a89b2ef06323d31d481a906106a895ca42bc6b7fb4687d5
7
- data.tar.gz: 8e37da7d200265cdeb64ae82a0395a6c66a26ae92b1f9bb7d1e25698b30a349be783d372114cacb2605a3238e9afcb99fa8909fd8f4586421dbe7edb77edda6f
6
+ metadata.gz: 5188880d7e0d8abc3a7ae068714256a235f96f659be957866e3938dacfa9e7be20b0b7899b7aa717fdfa4b92566655c40c8eea706c1820bd5f0868e3dd856f8c
7
+ data.tar.gz: 975ee1df451b55e8a774a9cab6e7ffff22348310be3febca46db623fa5c390230681a86e4230c2b4276ecdde4948d252beaf4d807eec566e72ece403e4d1cd4b
data/lib/gcs_signer.rb CHANGED
@@ -10,21 +10,24 @@ require "json"
10
10
  # signer.sign "your-bucket", "object/name"
11
11
  # # => "https://storage.googleapis.com/your-bucket/object/name?..."
12
12
  class GcsSigner
13
- VERSION = "0.1.0"
13
+ VERSION = "0.2.1"
14
14
 
15
15
  # gcs-signer requires credential that can access to GCS.
16
16
  # [path] the path of the service_account json file.
17
17
  # [json_string] ...or the content of the service_account json file.
18
+ # [gcs_host] Custom GCS host when signing a url.
18
19
  #
19
20
  # or if you also use \+google-cloud+ gem. you can authenticate
20
21
  # using environment variable that uses.
21
- def initialize(path: nil, json_string: nil)
22
+ def initialize(path: nil, json_string: nil, gcs_host: nil)
22
23
  json_string ||= File.read(path) unless path.nil?
23
24
  json_string = look_for_environment_variables if json_string.nil?
24
25
 
25
26
  fail AuthError, "No credentials given." if json_string.nil?
26
27
  @credentials = JSON.parse(json_string)
27
28
  @key = OpenSSL::PKey::RSA.new(@credentials["private_key"])
29
+
30
+ @gcs_host = gcs_host || "https://storage.googleapis.com"
28
31
  end
29
32
 
30
33
  # @return [String] Signed url
@@ -58,7 +61,7 @@ class GcsSigner
58
61
  def sign_url(bucket, object_name, options = {})
59
62
  options = apply_default_options(options)
60
63
 
61
- url = URI.join "https://storage.googleapis.com",
64
+ url = URI.join @gcs_host,
62
65
  URI.escape("/#{bucket}/"), URI.escape(object_name)
63
66
  signature = sign string_that_will_be_signed(url, options)
64
67
  url.query = query_for_signed_url(signature, options)
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gcs-signer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sangwon Yi
8
+ - Minku Lee
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-12-27 00:00:00.000000000 Z
12
+ date: 2017-05-25 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rake
@@ -57,6 +58,7 @@ description: |2
57
58
  No additional gems and API requests required to generate signed URL.
58
59
  email:
59
60
  - sangwon@sha.kr
61
+ - minku@sha.kr
60
62
  executables: []
61
63
  extensions: []
62
64
  extra_rdoc_files: []
@@ -83,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
85
  version: '0'
84
86
  requirements: []
85
87
  rubyforge_project:
86
- rubygems_version: 2.5.2
88
+ rubygems_version: 2.6.10
87
89
  signing_key:
88
90
  specification_version: 4
89
91
  summary: Simple signed URL generator for Google Cloud Storage.