intrinio-realtime 3.1.2 → 4.1.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 +4 -4
- data/lib/intrinio-realtime.rb +9 -5
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df8c1b4a01075b66f59dd7f6fda2daa1f7b3cc1eb395f9016206d6cffe13d8bc
|
4
|
+
data.tar.gz: e1d255b939ed7fa3a27f7eea2cc35fccfaec8b82cb0265d9cab326017685525f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdc6916b86b3823144c2f9d1b1d4905d9c9af4022e229b0a9ece88a9b639fb5ac3bdb8ae44ebce9cec5aed8ab01e6932cd9ed683e2149724ec9b43893b86f02f
|
7
|
+
data.tar.gz: cfda64741414b456b33244dbcdfe67ad0ee9e604984dbee9f6c1f13bb08d0373714b7d94ef592e17db978092e10c40247a8dae9064f2745475c3f5a9b3aa5832
|
data/lib/intrinio-realtime.rb
CHANGED
@@ -251,9 +251,13 @@ module Intrinio
|
|
251
251
|
data.map { |i| [sprintf('%02x',i)].pack('H2') }.join.unpack('V').first
|
252
252
|
end
|
253
253
|
|
254
|
+
def parse_float32(data)
|
255
|
+
data.map { |i| [sprintf('%02x',i)].pack('H2') }.join.unpack('e').first
|
256
|
+
end
|
257
|
+
|
254
258
|
def parse_trade(data, start_index, symbol_length)
|
255
259
|
symbol = data[start_index + 2, symbol_length].map!{|c| c.chr}.join
|
256
|
-
price =
|
260
|
+
price = parse_float32(data[start_index + 2 + symbol_length, 4])
|
257
261
|
size = parse_uint32(data[start_index + 6 + symbol_length, 4])
|
258
262
|
timestamp = parse_uint64(data[start_index + 10 + symbol_length, 8])
|
259
263
|
total_volume = parse_uint32(data[start_index + 18 + symbol_length, 4])
|
@@ -263,7 +267,7 @@ module Intrinio
|
|
263
267
|
def parse_quote(data, start_index, symbol_length, msg_type)
|
264
268
|
type = case when msg_type == 1 then ASK when msg_type == 2 then BID end
|
265
269
|
symbol = data[start_index + 2, symbol_length].map!{|c| c.chr}.join
|
266
|
-
price =
|
270
|
+
price = parse_float32(data[start_index + 2 + symbol_length, 4])
|
267
271
|
size = parse_uint32(data[start_index + 6 + symbol_length, 4])
|
268
272
|
timestamp = parse_uint64(data[start_index + 10 + symbol_length, 8])
|
269
273
|
return Quote.new(type, symbol, price, size, timestamp)
|
@@ -326,7 +330,7 @@ module Intrinio
|
|
326
330
|
http.use_ssl = true if (auth_url.include?("https"))
|
327
331
|
http.start
|
328
332
|
request = Net::HTTP::Get.new(uri.request_uri)
|
329
|
-
request.add_field("Client-Information", "
|
333
|
+
request.add_field("Client-Information", "IntrinioRealtimeRubySDKv4.0")
|
330
334
|
|
331
335
|
unless @api_key
|
332
336
|
request.basic_auth(@username, @password)
|
@@ -366,8 +370,8 @@ module Intrinio
|
|
366
370
|
|
367
371
|
def socket_url
|
368
372
|
case @provider
|
369
|
-
when REALTIME then
|
370
|
-
when MANUAL then
|
373
|
+
when REALTIME then "wss://realtime-mx.intrinio.com/socket/websocket?vsn=1.0.0&token=#{@token}"
|
374
|
+
when MANUAL then "ws://" + @ip_address + "/socket/websocket?vsn=1.0.0&token=#{@token}"
|
371
375
|
end
|
372
376
|
end
|
373
377
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intrinio-realtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Intrinio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
version: 1.4.0
|
69
69
|
description: Intrinio Ruby SDK for Real-Time Stock Prices
|
70
70
|
email:
|
71
|
-
-
|
71
|
+
- admin@intrinio.com
|
72
72
|
executables: []
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '0'
|
95
95
|
requirements: []
|
96
|
-
rubygems_version: 3.
|
96
|
+
rubygems_version: 3.1.6
|
97
97
|
signing_key:
|
98
98
|
specification_version: 4
|
99
99
|
summary: Intrinio provides real-time stock prices from its Multi-Exchange feed, via
|