provide-ruby 1.0.0 → 1.1.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
  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: []