quadrigacx 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c9c4ae3390c768f6851a78775d7643dd5fed476b
4
+ data.tar.gz: ba0ff32ec309a1f5fd3f1df64227da354adeca16
5
+ SHA512:
6
+ metadata.gz: 76cf50473b9b8a03cbb036ea094cb62dd0606e231b777b2e029a8fcfea296cd560f7edeca13bfc676772bdeecaff6a7a4d11ed069fe1c1ac4d77ca6ce7eadb1a
7
+ data.tar.gz: bee387808b2750c9460981e7e3609b87c7cb2dea22521cd08d4650970f7186083c5b27bb77db6619bd3b38a0347f6c1eba27758e554b3d0d1f0f9931256d43fc
data/.gitignore ADDED
@@ -0,0 +1,36 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+
12
+ ## Specific to RubyMotion:
13
+ .dat*
14
+ .repl_history
15
+ build/
16
+
17
+ ## Documentation cache and generated files:
18
+ /.yardoc/
19
+ /_yardoc/
20
+ /doc/
21
+ /rdoc/
22
+
23
+ ## Environment normalisation:
24
+ /.bundle/
25
+ /lib/bundler/man/
26
+
27
+ # for a library or gem, you might want to ignore these files since the code is
28
+ # intended to run in multiple environments; otherwise, check them in:
29
+ # Gemfile.lock
30
+ # .ruby-version
31
+ # .ruby-gemset
32
+
33
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
34
+ .rvmrc
35
+
36
+ .env
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Maros Hluska
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # QuadrigaCX
2
+
3
+ Ruby wrapper for the QuadrigaCX API
4
+
5
+ Heavily inspired by [localbitcoins](https://github.com/pemulis/localbitcoins).
@@ -0,0 +1,4 @@
1
+ module QuadrigaCX
2
+ module Private
3
+ end
4
+ end
@@ -0,0 +1,13 @@
1
+ module QuadrigaCX
2
+ module Public
3
+ # List all open orders
4
+ #
5
+ # - Optional fields -
6
+ # book - book to return orders for. Default btc_cad.
7
+ # group - group orders with the same price (0 - false; 1 - true). Default: 1.
8
+ def order_book(params={})
9
+ request(:get, '/order_book', params)
10
+ end
11
+ end
12
+ end
13
+
@@ -0,0 +1,27 @@
1
+ require_relative 'client/public'
2
+ require_relative 'client/private'
3
+
4
+ module QuadrigaCX
5
+ class Client
6
+ include QuadrigaCX::Request
7
+ include QuadrigaCX::Public
8
+ include QuadrigaCX::Private
9
+
10
+ attr_reader :api_key, :api_secret
11
+
12
+ # Initialize a LocalBitcoins::Client instance
13
+ #
14
+ # options[:api_key]
15
+ # options[:api_secret]
16
+ #
17
+ def initialize options={}
18
+ unless options.kind_of?(Hash)
19
+ raise ArgumentError, "Options hash required"
20
+ end
21
+
22
+ @use_hmac = true
23
+ @api_key = options[:api_key]
24
+ @api_secret = options[:api_secret]
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,58 @@
1
+ require 'rest-client'
2
+ require 'active_support/core_ext'
3
+ require 'json'
4
+ require 'hashie'
5
+ require 'openssl'
6
+ require 'date'
7
+ require 'uri'
8
+
9
+ module QuadrigaCX
10
+ module Request
11
+ API_URL = "https://api.quadrigacx.com/v2"
12
+
13
+ protected
14
+
15
+ def request(*args)
16
+ resp = @use_hmac ? self.hmac_request(*args) : self.oauth_request(*args)
17
+
18
+ hash = Hashie::Mash.new(JSON.parse(resp.body))
19
+ raise Error.new(hash.error) if hash.error
20
+ raise Error.new(hash.errors.join(',')) if hash.errors
21
+ hash
22
+ end
23
+
24
+ def hmac_request(http_method, path, body={})
25
+ raise 'Client ID and secret required!' unless @api_key && @api_secret
26
+
27
+ digest = OpenSSL::Digest.new('sha256')
28
+ nonce = DateTime.now.strftime('%Q')
29
+ params = URI.encode_www_form(body)
30
+ data = [nonce, @api_key, path, params].join
31
+ signature = OpenSSL::HMAC.hexdigest(digest, @api_secret, data)
32
+ url = "#{API_URL}#{path}"
33
+
34
+ headers = {
35
+ 'Apiauth-Key' => @api_key,
36
+ 'Apiauth-Nonce' => nonce,
37
+ 'Apiauth-Signature' => signature,
38
+ }
39
+
40
+ # TODO(maros): Get the `RestClient::Request.execute` API to work.
41
+ if http_method == :get
42
+ RestClient.get("#{url}?#{params}", headers)
43
+ else
44
+ RestClient.post(url, params, headers)
45
+ end
46
+ end
47
+
48
+ # Perform an OAuth API request. The client must be initialized
49
+ # with a valid OAuth access token to make requests with this method
50
+ #
51
+ # path - Request path
52
+ # body - Parameters for requests - GET and POST
53
+ #
54
+ # TODO(maros): Implement this when QuadrigaCX supports it.
55
+ def oauth_request(http_method, path, body={})
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,5 @@
1
+ module QuadrigaCX
2
+ unless defined?(QuadrigaCX::VERSION)
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
data/lib/quadrigacx.rb ADDED
@@ -0,0 +1,35 @@
1
+ require 'quadrigacx/version'
2
+ require 'quadrigacx/request'
3
+ require 'quadrigacx/client'
4
+
5
+ module QuadrigaCX
6
+ @@options = {}
7
+
8
+ # Define a global configuration
9
+ #
10
+ # options[:api_key]
11
+ # options[:api_secret]
12
+ #
13
+ def self.configure options={}
14
+ unless options.kind_of?(Hash)
15
+ raise ArgumentError, "Options hash required"
16
+ end
17
+
18
+ @@options[:use_hmac] = true
19
+ @@options[:api_key] = options[:api_key]
20
+ @@options[:api_secret] = options[:api_secret]
21
+ @@options
22
+ end
23
+
24
+ # Returns global configuration hash
25
+ #
26
+ def self.configuration
27
+ @@options
28
+ end
29
+
30
+ # Resets the global configuration
31
+ #
32
+ def self.reset_configuration
33
+ @@options = {}
34
+ end
35
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path('../lib/quadrigacx/version', __FILE__)
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "quadrigacx"
5
+ s.version = QuadrigaCX::VERSION.dup
6
+ s.summary = "QuadrigaCX API wrapper"
7
+ s.description = "Ruby wrapper for the QuadrigaCX API"
8
+ s.homepage = "https://github.com/mhluska/quadrigacx"
9
+ s.authors = ["Maros Hluska"]
10
+ s.email = ["mhluska@gmail.com"]
11
+ s.homepage = "http://mhluska.com/"
12
+ s.license = "MIT"
13
+
14
+ s.add_development_dependency 'rspec', '~> 3.1'
15
+ s.add_development_dependency 'webmock', '~> 1.20'
16
+ s.add_development_dependency 'vcr', '~> 2.9'
17
+ s.add_development_dependency 'dotenv', '~> 1.0'
18
+
19
+ s.add_runtime_dependency 'json', '~> 1.8'
20
+ s.add_runtime_dependency 'rest-client', '~> 1.7'
21
+ s.add_runtime_dependency 'hashie', '~> 3.3'
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
26
+ s.require_paths = ["lib"]
27
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe QuadrigaCX::Client do
4
+ subject(:client) { QuadrigaCX::Client.new(
5
+ api_key: ENV['QUADRIGACX_API_KEY'],
6
+ api_secret: ENV['QUADRIGACX_API_SECRET'],
7
+ )}
8
+
9
+ describe '#order_book' do
10
+ it 'returns a list of all open orders' do
11
+ VCR.use_cassette('order_book') do
12
+ order_book = client.order_book
13
+
14
+ expect(order_book.timestamp).to be_present
15
+ expect(order_book.bids.first.length).to equal 2
16
+ expect(order_book.asks.first.length).to equal 2
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.quadrigacx.com/v2/order_book
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Apiauth-Key:
15
+ - kOnVDjfPPh
16
+ Apiauth-Nonce:
17
+ - '1421602450381'
18
+ Apiauth-Signature:
19
+ - 207bf067581aa94fecb7bafafc1c734679d066d6a71e2d92d1ab686421d980f9
20
+ User-Agent:
21
+ - Ruby
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - cloudflare-nginx
29
+ Date:
30
+ - Sun, 18 Jan 2015 17:34:08 GMT
31
+ Content-Type:
32
+ - text/html
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Connection:
36
+ - keep-alive
37
+ Set-Cookie:
38
+ - __cfduid=d16ff60a10a4799ad6dda5797f480be511421602448; expires=Mon, 18-Jan-16
39
+ 17:34:08 GMT; path=/; domain=.quadrigacx.com; HttpOnly
40
+ - ci_session=DDUCNlQwDTcEKw5xXjtaa1E1BjlbeQQiVjNXIAQmAD4NPl9gAV8MalxgAy8EblEiVjhaZVM%2BVG4GcFZnDzpVYVBpBGIPalA1ATtXMldgCGYMYgJoVDcNPQRgDjReZFprUTcGMFs%2BBDVWYFdnBDYAMw1gXzYBNgw1XDADLwRuUSJWOFpnUzxUbgZwVjoPf1VfUDEEZA86UHUBOFd1VyUIJQxvAn9UPw08BGMOOF4jWmtRMgY7W3UEZ1ZlV30EZABjDX9fPAExDDVcJgM2BCZRa1YzWmZTNlR2BidWIA9qVXJQDwRhDzlQYgEzV3JXdAg8DCcCNlQxDTcEcg5QXnRaOFF8BiFbYAQiVmxXYgRmAG0Nc19iAWEMcFxwA1IENFEyVnZaP1N6VD0GJlYqDy1VO1A5BDoPb1AzAW9XN1dgCDcMZgI4VDENNQRrDnFeO1pjUT8GIVsuBCJWM1chBAoAMw0wX3oBYQwhXD8DfgRvUWFWOFp0Uy5UbwYv;
41
+ expires=Sun, 18-Jan-2015 19:34:08 GMT; Max-Age=7200; path=/
42
+ Vary:
43
+ - Accept-Encoding
44
+ X-Frame-Options:
45
+ - SAMEORIGIN
46
+ Cf-Ray:
47
+ - 1aac8aa5a7d1052e-YYZ
48
+ Content-Encoding:
49
+ - gzip
50
+ body:
51
+ encoding: ASCII-8BIT
52
+ string: !binary |-
53
+ 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
93
+ Vt309f0DAAD//wMAPMPYZvkXAAA=
94
+ http_version:
95
+ recorded_at: Sun, 18 Jan 2015 17:34:12 GMT
96
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,14 @@
1
+ require 'vcr'
2
+ require 'dotenv'
3
+ require_relative '../lib/quadrigacx'
4
+
5
+ Dotenv.load
6
+
7
+ RSpec.configure do |config|
8
+ config.color = true
9
+ end
10
+
11
+ VCR.configure do |config|
12
+ config.cassette_library_dir = "spec/fixtures/vcr_cassettes"
13
+ config.hook_into :webmock
14
+ end
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: quadrigacx
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Maros Hluska
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: webmock
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.20'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.20'
41
+ - !ruby/object:Gem::Dependency
42
+ name: vcr
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.9'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dotenv
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.8'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rest-client
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.7'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: hashie
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.3'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.3'
111
+ description: Ruby wrapper for the QuadrigaCX API
112
+ email:
113
+ - mhluska@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - Gemfile
120
+ - LICENSE
121
+ - README.md
122
+ - lib/quadrigacx.rb
123
+ - lib/quadrigacx/client.rb
124
+ - lib/quadrigacx/client/private.rb
125
+ - lib/quadrigacx/client/public.rb
126
+ - lib/quadrigacx/request.rb
127
+ - lib/quadrigacx/version.rb
128
+ - quadrigacx.gemspec
129
+ - spec/client_spec.rb
130
+ - spec/fixtures/vcr_cassettes/order_book.yml
131
+ - spec/spec_helper.rb
132
+ homepage: http://mhluska.com/
133
+ licenses:
134
+ - MIT
135
+ metadata: {}
136
+ post_install_message:
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubyforge_project:
152
+ rubygems_version: 2.2.2
153
+ signing_key:
154
+ specification_version: 4
155
+ summary: QuadrigaCX API wrapper
156
+ test_files:
157
+ - spec/client_spec.rb
158
+ - spec/fixtures/vcr_cassettes/order_book.yml
159
+ - spec/spec_helper.rb