cryptomarket-sdk 1.0.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.
@@ -0,0 +1,59 @@
1
+ require 'json'
2
+ require 'faye/websocket'
3
+ require 'eventmachine'
4
+
5
+ require_relative '../exceptions'
6
+
7
+ module Cryptomarket
8
+ module Websocket
9
+ class WSManager
10
+ def initialize(handler, url:)
11
+ @url = url
12
+ @handler = handler
13
+ @connected = false
14
+ end
15
+
16
+ def connected?
17
+ return @connected
18
+ end
19
+
20
+ def connect()
21
+ @thread = Thread.new do
22
+ EM.run {
23
+ @ws = Faye::WebSocket::Client.new(@url)
24
+
25
+ @ws.onopen = lambda do |event|
26
+ @connected = true
27
+ @handler.on_open()
28
+ end
29
+
30
+ @ws.onclose = lambda do |close|
31
+ @handler.onclose()
32
+ EM.stop
33
+ end
34
+
35
+ @ws.onerror = lambda do |error|
36
+ @handler.onerror(error)
37
+ end
38
+
39
+ @ws.onmessage = lambda do |message|
40
+ @handler.handle(JSON.parse(message.data.to_s))
41
+ end
42
+ }
43
+ end
44
+ end
45
+
46
+ def close
47
+ @ws.close
48
+ @connected = false
49
+ end
50
+
51
+ def send hash
52
+ if not @connected
53
+ raise Cryptomarket::SDKException.new, "connection closed"
54
+ end
55
+ @ws.send hash.to_json
56
+ end
57
+ end
58
+ end
59
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cryptomarket-sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - T. Ismael Verdugo
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-06-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faye-websocket
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.11.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.11.0
41
+ description: Cryptomarket sdk for rest connection and websocket connection for the
42
+ ruby language
43
+ email:
44
+ - ismael@dysopsis.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files:
48
+ - README.md
49
+ files:
50
+ - LICENSE.md
51
+ - README.md
52
+ - lib/cryptomarket/HttpManager.rb
53
+ - lib/cryptomarket/client.rb
54
+ - lib/cryptomarket/exceptions.rb
55
+ - lib/cryptomarket/utils.rb
56
+ - lib/cryptomarket/websocket/accountClient.rb
57
+ - lib/cryptomarket/websocket/authClient.rb
58
+ - lib/cryptomarket/websocket/callbackCache.rb
59
+ - lib/cryptomarket/websocket/methods.rb
60
+ - lib/cryptomarket/websocket/orderbookCache.rb
61
+ - lib/cryptomarket/websocket/publicClient.rb
62
+ - lib/cryptomarket/websocket/tradingClient.rb
63
+ - lib/cryptomarket/websocket/wsClientBase.rb
64
+ - lib/cryptomarket/websocket/wsManager.rb
65
+ homepage: https://github.com/cryptomkt/cryptomkt-ruby
66
+ licenses: []
67
+ metadata: {}
68
+ post_install_message:
69
+ rdoc_options:
70
+ - "--main"
71
+ - README.md
72
+ - "--markup"
73
+ - markdown
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubygems_version: 3.1.2
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: Cryptomarket sdk for ruby
91
+ test_files: []