nano_rpc 0.13.0 → 0.14.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
  SHA256:
3
- metadata.gz: 577ee5ef54630ae1dbcb7bb7b1d37257dbf9f57be63a2ef42995fcb07db7a254
4
- data.tar.gz: 1d1bb1e816d3ab049a9a61bef87dffda1507a4ad15eb8f9e567bf6258a121428
3
+ metadata.gz: 5424fe4a2dbca86499f38bfb5f6edc927b1b0a491e4ccb441944f7d3ce6c06c4
4
+ data.tar.gz: '08345ae8d7e10c487999192e88deeea27f171926b0a9aaa86ef641ccd37ef1cb'
5
5
  SHA512:
6
- metadata.gz: 5d664a284d29fc69474d22b52637cbecf1d32308cfd15469f80ff772f5516121613395cd6b223df489ba5faf23fc0dc122127c664ba56d6fdcd3881e92d2daba
7
- data.tar.gz: e7374e0985cf7deb27c8d305a9a29ab2f8239b9d96739f5578f05549d940fb394cf5ddbe0480667c4afb7ae7070c4122c33edabbdfeae8b0a6fb3b2c41d76559
6
+ metadata.gz: 4b01154aaded6d5f27d846f0b3147b162a26c2a6d918fd7074de848164cf32be1cc4f9ba6987784420fdf385e6feb0cbe44c09143992a09e85035191d2379739
7
+ data.tar.gz: 044a5c806cf7d2661856f09068e46a9f77ccabc9e8e86700de085d1260bf603d5eece7d4d5016abafb337c6ca05a994431d0952fd50eaf2d8f13002f08953cc2
data/lib/nano_rpc/node.rb CHANGED
@@ -117,9 +117,9 @@ module NanoRpc
117
117
 
118
118
  def rpc_post(params)
119
119
  response = rest_client_post(url, params)
120
- ensure_status_success!(response)
120
+ ensure_status_success(response)
121
121
  data = NanoRpc::Response.new(JSON[response&.body])
122
- ensure_valid_response!(data)
122
+ ensure_valid_response(data)
123
123
 
124
124
  data
125
125
  end
@@ -149,13 +149,13 @@ module NanoRpc
149
149
  end
150
150
  end
151
151
 
152
- def ensure_status_success!(response)
152
+ def ensure_status_success(response)
153
153
  return if response&.code == 200
154
154
  raise NanoRpc::BadRequest,
155
155
  "Error response from node: #{JSON[response&.body]}"
156
156
  end
157
157
 
158
- def ensure_valid_response!(data)
158
+ def ensure_valid_response(data)
159
159
  return unless data['error']
160
160
  raise NanoRpc::InvalidRequest,
161
161
  "Invalid request: #{data['error']}"
@@ -5,14 +5,14 @@ module NanoRpc
5
5
 
6
6
  module NanoToRaw
7
7
  def to_raw
8
- ensure_valid_nano_amount!
8
+ ensure_valid_nano_amount
9
9
  (self * 10**RAW_PRECISION).floor *
10
10
  10**(RAW_FACTOR - RAW_PRECISION)
11
11
  end
12
12
 
13
13
  private
14
14
 
15
- def ensure_valid_nano_amount!
15
+ def ensure_valid_nano_amount
16
16
  raise NanoRpc::InvalidNanoAmount unless valid_nano_amount?
17
17
  end
18
18
 
@@ -24,13 +24,13 @@ module NanoRpc
24
24
 
25
25
  module RawToNano
26
26
  def to_nano
27
- ensure_valid_raw_amount!
27
+ ensure_valid_raw_amount
28
28
  (to_f / 10**RAW_FACTOR).round(RAW_PRECISION)
29
29
  end
30
30
 
31
31
  private
32
32
 
33
- def ensure_valid_raw_amount!
33
+ def ensure_valid_raw_amount
34
34
  raise NanoRpc::InvalidRawAmount unless valid_raw_amount?
35
35
  end
36
36
 
@@ -34,17 +34,23 @@ module NanoRpc::Proxy
34
34
  private
35
35
 
36
36
  def define_proxy_method(meth)
37
- self.class.send(:define_method, method_alias(meth)) do |args = {}|
37
+ self.class
38
+ .send(:define_method, method_alias(meth)) do |args = {}|
38
39
  @meth = meth
39
40
  @call_args = args
40
-
41
- validate_params!
41
+ validate_params
42
42
  execute_call
43
43
  end
44
44
  end
45
45
 
46
46
  def execute_call
47
- expose_nested_data(node.call(@meth, @call_args))
47
+ result = node.call(@meth, @call_args)
48
+ handle_special_methods
49
+ expose_nested_data(result)
50
+ end
51
+
52
+ def handle_special_methods
53
+ @seed = @call_args[:seed] if @meth == :wallet_change_seed
48
54
  end
49
55
 
50
56
  def base_params
@@ -71,10 +77,10 @@ module NanoRpc::Proxy
71
77
  data
72
78
  end
73
79
 
74
- def validate_params!
80
+ def validate_params
75
81
  prepare_params
76
- ensure_required_params!
77
- prevent_forbidden_params!
82
+ ensure_required_params
83
+ prevent_forbidden_params
78
84
  drop_nil_params
79
85
  end
80
86
 
@@ -89,14 +95,14 @@ module NanoRpc::Proxy
89
95
  @call_args.merge!(base_params) if base_params
90
96
  end
91
97
 
92
- def ensure_required_params!
98
+ def ensure_required_params
93
99
  missing_params = required_params - opts_keys
94
100
  return unless missing_params.any?
95
101
  raise NanoRpc::MissingParameters,
96
102
  "Missing required parameter(s): #{missing_params.join(', ')}"
97
103
  end
98
104
 
99
- def prevent_forbidden_params!
105
+ def prevent_forbidden_params
100
106
  forbidden_params = base_param_keys + opts_keys - allowed_params
101
107
  return unless forbidden_params.any?
102
108
  raise NanoRpc::ForbiddenParameter,
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module NanoRpc
3
- VERSION = '0.13.0'
3
+ VERSION = '0.14.0'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nano_rpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Craig-Kuhn (JCK)
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-14 00:00:00.000000000 Z
11
+ date: 2018-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler