oanda_api_v20 2.1.0 → 2.1.1

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
  SHA1:
3
- metadata.gz: c705d6ed7e93994a827ab0f090c3ffb210af8abf
4
- data.tar.gz: 9beca7942edcad3e584e29c2607ace094b38c3dd
3
+ metadata.gz: 145cfc6151144fbd433437480a84ade5979e0925
4
+ data.tar.gz: be705bc8e001aa7130fb737bb4d293398d00cc14
5
5
  SHA512:
6
- metadata.gz: b3206d93bf544c75b273a3685acb11a5485877e99127925c51df9173f50fd968ae7b335f7b40f7e67493fdc61e55ac977cef11a2d900eb6b737ce68119db203f
7
- data.tar.gz: da31de41ee3bfd5cb0a245ce1e185e0e4ba1773d0e192efade7cd9536ffe9ce96ca8c2f5e1d507abf89cc629e62ff356d9625626b41d1490174e101146fbbc29
6
+ metadata.gz: 01e1f96777e51ff3313c7d842a0fce4eb9730b4f127a7af5794a7292f516fd67c10fb9df437df9a9becca6afd4fb8607e7ce3afcff0acb7315be9ac8f374fc57
7
+ data.tar.gz: ef476fb280a946cf30f8624c4482655ee1fb8fb54bc8bf6117d38fdd6461daba1a77759a791aab7b69ca5035a98f733df0a9d35e8286f67242669c61997d781c
@@ -1,3 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6
7
+ - jruby-9.2.5.0
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 2.1.1
4
+ #### 2019-10-05
5
+ * Fix to pricing_stream method. This fixes the currency pair rate being reused over and over no matter the value read in the HTTP chunk. Big thanks to @joseluis-fw & @salrepe.
6
+
3
7
  ## 2.1.0
4
8
  #### 2019-02-01
5
9
  * New pricing_stream endpoint. Big thanks to @joseluis-fw.
@@ -8,26 +8,28 @@ module OandaApiV20
8
8
 
9
9
  # GET /v3/accounts/:account_id/pricing/stream
10
10
  def pricing_stream(options, &block)
11
- buffer = StringIO.new
11
+ buffer = String.new
12
12
 
13
13
  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/pricing/stream", headers: headers, query: options, stream_body: true) do |fragment|
14
- begin
15
- next if fragment.empty?
16
-
14
+ if !fragment.empty?
17
15
  buffer << fragment
18
- next unless fragment.match(/\n\Z/)
19
-
20
- buffer.string.split("\n").each do |message|
21
- cleaned_message = message.strip
22
- next if cleaned_message.empty?
23
- yield JSON.parse(cleaned_message)
24
- end
25
- rescue JSON::ParseError => e
26
- raise OandaApiV20::ParseError, "#{e.message} in '#{fragment}'"
27
- ensure
28
- buffer.flush
16
+ parse(buffer, fragment, &block) if fragment.match(/\n\Z/)
29
17
  end
30
18
  end
31
19
  end
20
+
21
+ private
22
+
23
+ def parse(buffer, fragment, &block)
24
+ buffer.split("\n").each do |message|
25
+ cleaned_message = message.strip
26
+ next if cleaned_message.empty?
27
+ yield JSON.parse(cleaned_message)
28
+ end
29
+ rescue JSON::ParserError => e
30
+ raise OandaApiV20::ParseError, "#{e.message} in '#{fragment}'"
31
+ ensure
32
+ buffer.clear
33
+ end
32
34
  end
33
35
  end
@@ -1,3 +1,3 @@
1
1
  module OandaApiV20
2
- VERSION = '2.1.0'
2
+ VERSION = '2.1.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oanda_api_v20
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kobus Joubert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-01 00:00:00.000000000 Z
11
+ date: 2019-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty