istox 0.1.57 → 0.1.58

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
  SHA256:
3
- metadata.gz: 74986318625bd49e64d68450b48269eb1b4e5e725ed4632107336993cbbc0687
4
- data.tar.gz: 160afe2adcea113955c0ebc93097dbd0d692b4ebd392eed59f3b240839d02cd7
3
+ metadata.gz: 4d76f139bc204f75de31580c218d9bc5261b62f73ae56d7296510ce9e74fbf8b
4
+ data.tar.gz: b63f7d722ef5441ba09e7dd659587f6a4a1b217ed5eb376346895f3df265d754
5
5
  SHA512:
6
- metadata.gz: dbb06aabe851464e3a3e57fcfeaaffe8bfb7c34c9542def8c33f66d81c102884b848eb5378ea7493968718de11d6ae6a710b3dce57ee03f7414b23e1ae129fe7
7
- data.tar.gz: 24dcb4dd7fa9331fd37ef7ef067978c307b67d551b50cff9f8f1a22e8f5bb5afbe3d8c2327ae7049c7b87fbc2003f68a2c05dc4815d86d161b36f89883a431b2
6
+ metadata.gz: 447446bba295270c40b16fef8be8ea2ac8a2016cac58eee414c3bf57988bf3ccba32f15fa9910da5cb47689c8bacaf0e850f51dace9dab151bb9fa45c1fce023
7
+ data.tar.gz: 8316a7fac0f570e3a868c86c4772228e4653a0ababdb64ac222da3d0e68c93fbe94359be1c506bc2d6f9c1ea137091b86748a640f42002a5046eca8d6524948c
data/Gemfile.lock CHANGED
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- istox (0.1.44)
4
+ istox (0.1.48.5)
5
5
  bunny (>= 2.12.0)
6
6
  graphlient
7
- gruf
7
+ istox_gruf
8
+ listen (~> 3.0.5)
8
9
  paranoia (~> 2.2)
9
10
 
10
11
  GEM
@@ -57,7 +58,7 @@ GEM
57
58
  bullet (5.7.6)
58
59
  activesupport (>= 3.0.0)
59
60
  uniform_notifier (~> 1.11.0)
60
- bunny (2.14.1)
61
+ bunny (2.14.2)
61
62
  amq-protocol (~> 2.3, >= 2.3.0)
62
63
  concurrent-ruby (1.1.4)
63
64
  crass (1.0.4)
@@ -75,31 +76,35 @@ GEM
75
76
  multipart-post (>= 1.2, < 3)
76
77
  faraday_middleware (0.13.1)
77
78
  faraday (>= 0.7.4, < 1.0)
79
+ ffi (1.11.1)
78
80
  globalid (0.4.2)
79
81
  activesupport (>= 4.2.0)
80
- google-protobuf (3.7.0-universal-darwin)
81
- googleapis-common-protos-types (1.0.3)
82
+ google-protobuf (3.8.0)
83
+ googleapis-common-protos-types (1.0.4)
82
84
  google-protobuf (~> 3.0)
83
85
  graphlient (0.3.5)
84
86
  faraday
85
87
  faraday_middleware
86
88
  graphql-client
87
- graphql (1.9.3)
89
+ graphql (1.9.6)
88
90
  graphql-client (0.14.0)
89
91
  activesupport (>= 3.0, < 6.0)
90
92
  graphql (~> 1.6)
91
- grpc (1.19.0-universal-darwin)
92
- google-protobuf (~> 3.1)
93
- googleapis-common-protos-types (~> 1.0.0)
94
- grpc-tools (1.19.0)
95
- gruf (2.5.2)
96
- activesupport
97
- concurrent-ruby
93
+ grpc (1.21.0)
94
+ google-protobuf (~> 3.7)
95
+ googleapis-common-protos-types (~> 1.0)
96
+ grpc-tools (1.21.0)
97
+ i18n (0.9.5)
98
+ concurrent-ruby (~> 1.0)
99
+ istox_gruf (2.7.1)
100
+ activesupport (> 4)
101
+ concurrent-ruby (> 1)
98
102
  grpc (~> 1.10)
99
103
  grpc-tools (~> 1.10)
100
104
  slop (~> 4.6)
101
- i18n (0.9.5)
102
- concurrent-ruby (~> 1.0)
105
+ listen (3.0.8)
106
+ rb-fsevent (~> 0.9, >= 0.9.4)
107
+ rb-inotify (~> 0.9, >= 0.9.7)
103
108
  loofah (2.2.3)
104
109
  crass (~> 1.0.2)
105
110
  nokogiri (>= 1.5.9)
@@ -112,12 +117,12 @@ GEM
112
117
  mini_mime (1.0.1)
113
118
  mini_portile2 (2.4.0)
114
119
  minitest (5.11.3)
115
- multipart-post (2.0.0)
120
+ multipart-post (2.1.1)
116
121
  nio4r (2.3.1)
117
122
  nokogiri (1.10.1)
118
123
  mini_portile2 (~> 2.4.0)
119
- paranoia (2.4.1)
120
- activerecord (>= 4.0, < 5.3)
124
+ paranoia (2.4.2)
125
+ activerecord (>= 4.0, < 6.1)
121
126
  rack (2.0.6)
122
127
  rack-test (1.1.0)
123
128
  rack (>= 1.0, < 3)
@@ -146,6 +151,9 @@ GEM
146
151
  rake (>= 0.8.7)
147
152
  thor (>= 0.19.0, < 2.0)
148
153
  rake (10.5.0)
154
+ rb-fsevent (0.10.3)
155
+ rb-inotify (0.10.0)
156
+ ffi (~> 1.0)
149
157
  rspec (3.8.0)
150
158
  rspec-core (~> 3.8.0)
151
159
  rspec-expectations (~> 3.8.0)
data/README.md CHANGED
@@ -2,8 +2,6 @@ to publish new version
2
2
 
3
3
  1. Change version number in version.rb
4
4
 
5
- 2. `gem build istox`
5
+ 2. gem build istox
6
6
 
7
- 3. `gem push istox-<VERSION>.gem`
8
-
9
- 4. in local repo: `bundle install istox --full-index`
7
+ 3. gem push istox-<VERSION>.gem
data/istox.gemspec CHANGED
@@ -32,10 +32,10 @@ Gem::Specification.new do |spec|
32
32
  spec.require_paths = ["lib"]
33
33
 
34
34
  spec.add_dependency "bunny", ">= 2.12.0"
35
- spec.add_dependency "gruf"
36
- spec.add_dependency 'vault', '~> 0.1'
35
+ spec.add_dependency "istox_gruf"
37
36
  spec.add_dependency "paranoia", "~> 2.2"
38
37
  spec.add_dependency "graphlient"
38
+ spec.add_dependency 'listen', '~> 3.0.5'
39
39
  spec.add_development_dependency "bundler", "~> 1.16"
40
40
  spec.add_development_dependency "rake", "~> 10.0"
41
41
  spec.add_development_dependency "rspec", "~> 3.0"
data/lib/istox.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'active_record'
2
2
  require 'paranoia'
3
+ require "gruf"
3
4
  require "istox/version"
4
5
 
5
6
  module Istox
@@ -13,10 +14,10 @@ module Istox
13
14
  require "istox/interfaces/chainhub/transaction"
14
15
  require "istox/helpers/publisher"
15
16
  require "istox/helpers/bunny_boot"
16
- require "istox/helpers/vault"
17
17
  require "istox/helpers/order_book"
18
18
  require "istox/helpers/grpc_client"
19
19
  require "istox/helpers/graphql_client"
20
+ require "istox/helpers/gruf_listener_hook"
20
21
  require "istox/helpers/message_service"
21
22
  require "istox/helpers/blockchain_receipt_service"
22
23
  require "istox/models/blockchain_receipt"
@@ -0,0 +1,21 @@
1
+ module Istox
2
+ class GrufListenerHook < ::Gruf::Hooks::Base
3
+ def before_server_start(server:)
4
+ # do my thing before the server starts
5
+
6
+ @listener = Listen.to('app/rpc') do |modified, added, removed|
7
+ puts "modified absolute path: #{modified}"
8
+ puts "added absolute path: #{added}"
9
+ puts "removed absolute path: #{removed}"
10
+
11
+ server.init_restart
12
+ end
13
+ @listener.start # not blocking
14
+ end
15
+
16
+ def after_server_stop(server:)
17
+ # do my thing after the server stops
18
+ @listener.stop
19
+ end
20
+ end
21
+ end
data/lib/istox/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Istox
2
- VERSION = "0.1.57"
2
+ VERSION = "0.1.58"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: istox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.57
4
+ version: 0.1.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Siong Leng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2019-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.12.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: gruf
28
+ name: istox_gruf
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,47 +39,47 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: vault
42
+ name: paranoia
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.1'
47
+ version: '2.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.1'
54
+ version: '2.2'
55
55
  - !ruby/object:Gem::Dependency
56
- name: paranoia
56
+ name: graphlient
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '2.2'
61
+ version: '0'
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: '2.2'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: graphlient
70
+ name: listen
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 3.0.5
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 3.0.5
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -243,10 +243,10 @@ files:
243
243
  - lib/istox/helpers/bunny_boot.rb
244
244
  - lib/istox/helpers/graphql_client.rb
245
245
  - lib/istox/helpers/grpc_client.rb
246
+ - lib/istox/helpers/gruf_listener_hook.rb
246
247
  - lib/istox/helpers/message_service.rb
247
248
  - lib/istox/helpers/order_book.rb
248
249
  - lib/istox/helpers/publisher.rb
249
- - lib/istox/helpers/vault.rb
250
250
  - lib/istox/interfaces/chainhub/transaction.rb
251
251
  - lib/istox/migrations/create_blockchain_receipts.rb
252
252
  - lib/istox/models/blockchain_receipt.rb
@@ -271,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
271
  version: '0'
272
272
  requirements: []
273
273
  rubyforge_project:
274
- rubygems_version: 2.7.8
274
+ rubygems_version: 2.7.9
275
275
  signing_key:
276
276
  specification_version: 4
277
277
  summary: istox backend shared gem
@@ -1,96 +0,0 @@
1
- require 'vault'
2
-
3
- module Istox
4
- module Vault
5
- module TOTP
6
- class << self
7
-
8
- def create(sid, params={})
9
- Rails.logger.debug { "Generate vault TOTP for key #{totp_key(sid).inspect}" }
10
-
11
- write_data(totp_key(sid),
12
- generate: true,
13
- issuer: params[:host],
14
- account_name: sid,
15
- qr_size: 300)
16
- end
17
-
18
- def generate_code(sid)
19
- Rails.logger.debug { "Generate 6-digit OTP code: key #{totp_code_key(sid)}" }
20
- code = read_data(totp_code_key(sid)).data[:code]
21
- code
22
- end
23
-
24
- def validate?(sid, code)
25
- return false unless exist?(sid)
26
- Rails.logger.debug { "Validate TOTP code: key #{totp_code_key(sid)}, code: #{code}" }
27
- result = write_data(totp_code_key(sid), code: code).data[:valid]
28
-
29
- unless result
30
- code = read_data(totp_code_key(sid)).data[:code]
31
- Rails.logger.debug { "Code is not valid, it should be #{code}" }
32
- end
33
-
34
- result
35
- end
36
-
37
- private
38
-
39
- def read_data(key)
40
- ::Vault.logical.read(key)
41
- end
42
-
43
- def write_data(key, params)
44
- Rails.logger.debug { "in write data method" }
45
- Rails.logger.debug { ::Vault }
46
- ::Vault.logical.write(key, params)
47
- end
48
-
49
- def totp_key(sid)
50
- "totp/keys/#{sid}"
51
- end
52
-
53
- def totp_code_key(sid)
54
- "totp/code/#{sid}"
55
- end
56
- end
57
- end
58
-
59
- class << self
60
-
61
- def logical
62
- Rails.logger.debug { 'in logical method' }
63
- ::Vault.logical
64
- end
65
-
66
- def initialize(secret_key, file_location)
67
- ::Vault.configure do |config|
68
- config.address = secret_key
69
-
70
- if File.exist?(file_location)
71
- token = File.read(file_location).strip
72
- config.token = token
73
- config.ssl_verify = false
74
- config.timeout = 60
75
- else
76
- Rails.logger.info 'Vault token not found, OTP will not be able to use'
77
- end
78
- end
79
- end
80
-
81
- def get_otp(sid, host)
82
- ::Istox::Vault::TOTP.create(sid, host)
83
- otp = Istox::Vault::TOTP.generate_code(sid)
84
-
85
- return otp
86
- end
87
-
88
- def validate_otp(sid, otp)
89
- return ::Istox::Vault::TOTP.validate?(sid, otp)
90
- rescue => e
91
- raise e
92
- false
93
- end
94
- end
95
- end
96
- end