intrinio-realtime 3.1.2 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|