max_exchange_api 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 +4 -4
- data/README.md +12 -2
- data/lib/max_exchange_api/base_api.rb +9 -2
- data/lib/max_exchange_api/config.rb +10 -3
- data/lib/max_exchange_api/private_api.rb +2 -2
- data/lib/max_exchange_api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47011d6e19cad34466caa491f4aca3e9500167275377019fd8803dbfa81d0acf
|
4
|
+
data.tar.gz: 3642c750db63d9e66fc38a9d8f6b4502251b7911be8c30a506c1d02369973aff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9243e4bb8bd16c8de3bc0d2290791242b4337dfec90f4105f5c191485f30e4664213ed8cea8e99f83460606d647ac5e9964a52de522521bae75c0c716cf67e7
|
7
|
+
data.tar.gz: f41f4c2d3d62bfa2c0d9d3d379734ffcd290988365848cc582259b6732d0701f9a3d3ea2daa608d7e9ad2700fe7b90bd58529794273d864f66d3525e0670d4d1
|
data/README.md
CHANGED
@@ -37,19 +37,29 @@ Or install it yourself as:
|
|
37
37
|
|
38
38
|
## Configuration
|
39
39
|
|
40
|
-
###
|
40
|
+
### Set timeout time
|
41
41
|
|
42
42
|
```rb
|
43
|
+
# default config
|
43
44
|
MaxExchangeApi.default_config.timeout = 3 # seconds
|
45
|
+
|
46
|
+
# custom config
|
47
|
+
MaxExchangeApi::PublicApi.new(config: { timeout: 12 })
|
48
|
+
MaxExchangeApi::PrivateApi.new(access_key, secret_key, config: { timeout: 12 })
|
44
49
|
```
|
45
50
|
|
46
|
-
###
|
51
|
+
### Logging
|
47
52
|
|
48
53
|
```rb
|
49
54
|
require 'logger'
|
50
55
|
|
56
|
+
# default config
|
51
57
|
MaxExchangeApi.default_config.logger = Logger.new(STDOUT) # print log to stdand output
|
52
58
|
MaxExchangeApi.default_config.logger = Logger.new('log/api.log')
|
59
|
+
|
60
|
+
# custom config
|
61
|
+
MaxExchangeApi::PublicApi.new(config: { logger: Logger.new(STDOUT) })
|
62
|
+
MaxExchangeApi::PrivateApi.new(access_key, secret_key, config: { logger: Logger.new(STDOUT) })
|
53
63
|
```
|
54
64
|
|
55
65
|
## Usage
|
@@ -7,6 +7,13 @@ module MaxExchangeApi
|
|
7
7
|
class BaseApi
|
8
8
|
include HTTParty
|
9
9
|
|
10
|
+
attr_reader :config
|
11
|
+
|
12
|
+
def initialize(config: nil)
|
13
|
+
@config = Config.new(config)
|
14
|
+
@config.reverse_merge!(MaxExchangeApi.default_config)
|
15
|
+
end
|
16
|
+
|
10
17
|
protected
|
11
18
|
|
12
19
|
def send_request(method, path, headers, query)
|
@@ -19,7 +26,7 @@ module MaxExchangeApi
|
|
19
26
|
path,
|
20
27
|
headers: headers,
|
21
28
|
query: query,
|
22
|
-
timeout:
|
29
|
+
timeout: @config.timeout,
|
23
30
|
).parsed_response
|
24
31
|
|
25
32
|
print_log(:info, "[API] #{uuid} response #{response}")
|
@@ -33,7 +40,7 @@ module MaxExchangeApi
|
|
33
40
|
private
|
34
41
|
|
35
42
|
def print_log(method, message)
|
36
|
-
logger =
|
43
|
+
logger = @config.logger
|
37
44
|
logger.send(method, message) if logger
|
38
45
|
end
|
39
46
|
end
|
@@ -5,13 +5,20 @@ module MaxExchangeApi
|
|
5
5
|
attr_accessor :timeout
|
6
6
|
attr_accessor :logger
|
7
7
|
|
8
|
-
def initialize
|
9
|
-
|
10
|
-
@
|
8
|
+
def initialize(data = nil)
|
9
|
+
data ||= {}
|
10
|
+
@timeout = data[:timeout]
|
11
|
+
@logger = data[:logger]
|
12
|
+
end
|
13
|
+
|
14
|
+
def reverse_merge!(other)
|
15
|
+
@timeout ||= other.timeout
|
16
|
+
@logger ||= other.logger
|
11
17
|
end
|
12
18
|
end
|
13
19
|
|
14
20
|
@default_config = Config.new
|
21
|
+
@default_config.timeout = 3
|
15
22
|
|
16
23
|
class << self
|
17
24
|
attr_reader :default_config
|
@@ -6,8 +6,8 @@ module MaxExchangeApi
|
|
6
6
|
class PrivateApi < BaseApi
|
7
7
|
base_uri 'https://max-api.maicoin.com/api/v2'
|
8
8
|
|
9
|
-
def initialize(access_key, secret_key)
|
10
|
-
super()
|
9
|
+
def initialize(access_key, secret_key, config: nil)
|
10
|
+
super(config: config)
|
11
11
|
|
12
12
|
@access_key = access_key
|
13
13
|
@secret_key = secret_key
|