nano_rpc 0.13.0 → 0.14.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
  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