cns 2.1.3 → 2.1.4

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: 7b4f061958b493cf2e1d3dccff8bb7bcc42443e592d0f594c67df399b8d1b000
4
- data.tar.gz: 60204c42355f161bd7db49c4764a58f7642458c17bef96462ba4a723a8f01859
3
+ metadata.gz: b0deb219876c5a8fd82a5338c9d7635b11356feffcdc908514be211fb0bbc909
4
+ data.tar.gz: b188c18e7a9226bded29d42d0f9142280c94e9230fe7d41ff94d4776dc56222c
5
5
  SHA512:
6
- metadata.gz: 7fbdce8e9f9f4498d544e1e1b3adef72da44bdc25892fa7e520fa634a0c2503a0ec1928b6269dde446d988b36fc0d5a54fd1a97be6a67d0e4f8632a5de92f24b
7
- data.tar.gz: e27fe2677a895df93997ad203dec3e1cc34094ab55a50935558ca451d23c417c0076b13e9f04d858271e7218629ef0b0ec9258926ee555042741328927c5a1cc
6
+ metadata.gz: 9833256521bb67118970871725a5ca3da4f5cc371a8aa3d531421238f66510a8040dd778de1a42506b6aeacda1deb581195f449cd883776951ba3b97b2d8bffc
7
+ data.tar.gz: 163a57bfbdfe4ba4a6f864db5ba97266c4e1f5088e2b72543137c20bcc4810bf1799d5bbc03e76aa929c6b8984ad75a212f7756471b1c4c968ba923cb17d8a8c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cns (2.1.3)
4
+ cns (2.1.4)
5
5
  curb
6
6
  faraday
7
7
  faraday-retry
@@ -213,7 +213,7 @@ PLATFORMS
213
213
  DEPENDENCIES
214
214
  bundler
215
215
  cns!
216
- rake (~> 12.0)
216
+ rake (~> 12.0, >= 0)
217
217
  reek
218
218
  rubocop
219
219
  rubocop-rake
@@ -221,4 +221,4 @@ DEPENDENCIES
221
221
  yard
222
222
 
223
223
  BUNDLED WITH
224
- 2.6.9
224
+ 4.0.6
data/lib/cns/apice.rb CHANGED
@@ -71,17 +71,19 @@ module Cns
71
71
  end
72
72
 
73
73
  # Get trades from Kraken
74
+ # @param [Integer] days optional number of days to fetch trades from (last N days)
74
75
  # @return [Hash] trades kraken
75
- def trades_us
76
- pag_us_req('TradesHistory', :trades)
76
+ def trades_us(days = nil)
77
+ pag_us_req('TradesHistory', :trades, days ? {start: days} : {})
77
78
  rescue Curl::Err::CurlError
78
79
  []
79
80
  end
80
81
 
81
82
  # Get ledger from Kraken
83
+ # @param [Integer] days optional number of days to fetch ledger from (last N days)
82
84
  # @return [Hash] ledger kraken
83
- def ledger_us
84
- pag_us_req('Ledgers', :ledger)
85
+ def ledger_us(days = nil)
86
+ pag_us_req('Ledgers', :ledger, days ? {start: days} : {})
85
87
  rescue Curl::Err::CurlError
86
88
  []
87
89
  end
@@ -102,15 +104,16 @@ module Cns
102
104
  # Generic paginated request handler for Kraken
103
105
  # @param [String] uri API endpoint URI
104
106
  # @param [Symbol] key Key to extract from the result
107
+ # @param [Hash] prm Additional options for the request
105
108
  # @yield [Array<Hash>] Block to process each batch of results
106
109
  # @return [Array<Hash>] Combined results from all pages
107
- def pag_us_req(uri, key)
110
+ def pag_us_req(uri, key, prm = {})
108
111
  ary = []
109
112
  ofs = 0
110
113
  loop do
111
114
  # Rate limiting for page requests (2s in Kraken)
112
115
  sleep(@lpag - Time.now + 2) if @lpag && Time.now - @lpag < 2
113
- ops = {nonce: nnc, ofs: ofs}
116
+ ops = prm.merge({nonce: nnc, ofs: ofs})
114
117
  rcrl(@curl, "#{API[:us]}/#{uri}", method: 'POST', post_data: ops, headers: hus(uri, ops))
115
118
  bth = pjsn(@curl).fetch(:result, {}).fetch(key, []).map { |k, v| us_unif(k, v) }
116
119
  break if bth.empty?
data/lib/cns/kraken.rb CHANGED
@@ -155,7 +155,9 @@ module Cns
155
155
 
156
156
  # @return [Hash] dados exchange kraken - saldos & transacoes trades e ledger
157
157
  memoize def exd
158
- {sl: pusa(api.account_us), kt: pust(api.trades_us), kl: pusl(api.ledger_us)}
158
+ # Numero dias para buscar transacoes
159
+ dys = ops&.[](:d)&.positive? ? Integer(Time.now - (ops[:d] * 86_400)) : nil
160
+ {sl: pusa(api.account_us), kt: pust(api.trades_us(dys)), kl: pusl(api.ledger_us(dys))}
159
161
  end
160
162
 
161
163
  # @return [Array<String>] indices trades bigquery
data/lib/cns/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cns
4
- VERSION = '2.1.3'
4
+ VERSION = '2.1.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cns
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hernâni Rodrigues Vaz