provide-ruby 1.0.0 → 1.1.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
  SHA1:
3
- metadata.gz: 53a9bff6f3eda57e08c2b17f6f88f95dda20fe01
4
- data.tar.gz: b4eb5234c2122753ed1c8cbd469ebb1ceac78b1d
3
+ metadata.gz: c77db740e1af03f44fbd98cbedc9afc105953b8f
4
+ data.tar.gz: b6c6f076e7d3588c995839fb3e76cea80a393d24
5
5
  SHA512:
6
- metadata.gz: f532be2a25e14390cb14761fb5a399f1f481c92ec52a02cee8f6ded81c354cbb4ae7c1a50614037b319fdf9352aac7e2bf17c56137f4c4a5b4555e41d570f58c
7
- data.tar.gz: 21238fc64e95ba8b280e21498b96e587d590f46a9d9d488f6c33ec0cc6211653ad19bbb7ef0f1c13a758e4e1b203db43caccdd12c59d9e63f68a7433a3708d35
6
+ metadata.gz: d59eaa5bcd17930d5d627732f54c60afaff8bb9ee3c2997522526555292a491bec0f06456e6ce904bd645868e1686f4703ec7e4cc5d339b6a770c1b7a15f3c8c
7
+ data.tar.gz: 33437e8efdb3c79ccaeda376999ce4eef16311497a307cba197c81735439d0e27e798df856998511fcf49ca187b63c03c1eb46dd781d008226a026d15e205b6c
data/lib/provide-ruby.rb CHANGED
@@ -5,7 +5,7 @@ require 'provide-ruby/version'
5
5
  require 'provide-ruby/api_client'
6
6
 
7
7
  require 'provide-ruby/services/bookie'
8
- require 'provide-ruby/services/goldmine'
8
+ require 'provide-ruby/services/nchain'
9
9
  require 'provide-ruby/services/ident'
10
10
  require 'provide-ruby/services/tourguide'
11
11
 
@@ -1,6 +1,6 @@
1
1
  module Provide
2
2
  module Services
3
- class Goldmine < Provide::ApiClient
3
+ class NChain < Provide::ApiClient
4
4
 
5
5
  def initialize(scheme = 'http', host, token)
6
6
  @scheme = scheme
@@ -0,0 +1,80 @@
1
+ module Provide
2
+ module Services
3
+ class Vault < Provide::ApiClient
4
+
5
+ def initialize(scheme = 'http', host, token)
6
+ @scheme = scheme
7
+ @host = host
8
+ @token = token
9
+ end
10
+
11
+ def create_key(vault_id)
12
+ parse client.post "vaults/#{vault_id}"
13
+ end
14
+
15
+ def delete_key(vault_id, key_id)
16
+ parse client.delete "vaults/#{vault_id}/keys/#{key_id}"
17
+ end
18
+
19
+ def derive_key(vault_id, key_id)
20
+ parse client.post "vaults/#{vault_id}/keys/#{key_id}/derive"
21
+ end
22
+
23
+ def encrypt(vault_id, key_id, data)
24
+ parse client.post "vaults/#{vault_id}/keys/#{key_id}/encrypt", data
25
+ end
26
+
27
+ def decrypt(vault_id, key_id, data)
28
+ parse client.post "vaults/#{vault_id}/keys/#{key_id}/decrypt", data
29
+ end
30
+
31
+ def list_keys(vault_id)
32
+ parse client.get "vaults/#{vault_id}/keys"
33
+ end
34
+
35
+ def list_secrets(vault_id)
36
+ parse client.get "vaults/#{vault_id}/secrets"
37
+ end
38
+
39
+ def store_secret(vault_id, secret)
40
+ parse client.post "vaults/#{vault_id}/secrets", secret
41
+ end
42
+
43
+ def retrieve_secret(vault_id, secret_id)
44
+ parse client.get "vaults/#{vault_id}/secrets/#{secret_id}"
45
+ end
46
+
47
+ def delete_secret(vault_id, secret_id)
48
+ parse client.delete "vaults/#{vault_id}/secrets/#{secret_id}"
49
+ end
50
+
51
+ def create_vault(params)
52
+ parse client.post 'vaults', params
53
+ end
54
+
55
+ def list_vaults(params = nil)
56
+ parse client.get 'vaults', (params || {})
57
+ end
58
+
59
+ private
60
+
61
+ def client
62
+ @client ||= begin
63
+ Provide::ApiClient.new(@scheme, @host, 'api/v1/', @token)
64
+ end
65
+ end
66
+
67
+ def parse(response)
68
+ begin
69
+ body = response.code == 204 ? nil : JSON.parse(response.body)
70
+ return response.code, response.headers, body
71
+ rescue
72
+ raise Exception.new({
73
+ :code => response.code,
74
+ })
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+
@@ -1,3 +1,3 @@
1
1
  module Provide
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
data/provide-ruby.gemspec CHANGED
@@ -7,10 +7,10 @@ Gem::Specification.new do |spec|
7
7
  spec.name = 'provide-ruby'
8
8
  spec.version = Provide::VERSION
9
9
  spec.authors = ['Kyle Thomas']
10
- spec.email = ['k.thomas@unmarkedconsulting.com']
10
+ spec.email = ['kyle@provide.services']
11
11
 
12
- spec.summary = 'Ruby client library for provide.services APIs'
13
- spec.homepage = 'https://github.com/provideservices/provide-ruby.git'
12
+ spec.summary = 'Provide Ruby API client library'
13
+ spec.homepage = 'https://github.com/provideplatform/provide-ruby.git'
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: provide-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Thomas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-18 00:00:00.000000000 Z
11
+ date: 2021-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -96,7 +96,7 @@ dependencies:
96
96
  version: '3.3'
97
97
  description:
98
98
  email:
99
- - k.thomas@unmarkedconsulting.com
99
+ - kyle@provide.services
100
100
  executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
@@ -115,12 +115,13 @@ files:
115
115
  - lib/provide-ruby.rb
116
116
  - lib/provide-ruby/api_client.rb
117
117
  - lib/provide-ruby/services/bookie.rb
118
- - lib/provide-ruby/services/goldmine.rb
119
118
  - lib/provide-ruby/services/ident.rb
119
+ - lib/provide-ruby/services/nchain.rb
120
120
  - lib/provide-ruby/services/tourguide.rb
121
+ - lib/provide-ruby/services/vault.rb
121
122
  - lib/provide-ruby/version.rb
122
123
  - provide-ruby.gemspec
123
- homepage: https://github.com/provideservices/provide-ruby.git
124
+ homepage: https://github.com/provideplatform/provide-ruby.git
124
125
  licenses:
125
126
  - MIT
126
127
  metadata: {}
@@ -143,5 +144,5 @@ rubyforge_project:
143
144
  rubygems_version: 2.6.13
144
145
  signing_key:
145
146
  specification_version: 4
146
- summary: Ruby client library for provide.services APIs
147
+ summary: Provide Ruby API client library
147
148
  test_files: []