buttercoin 0.0.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 +7 -0
- data/.gitignore +7 -0
- data/.rspec +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +3 -0
- data/LICENSE +22 -0
- data/README.md +302 -0
- data/Rakefile +10 -0
- data/buttercoin.gemspec +26 -0
- data/lib/buttercoin.rb +78 -0
- data/lib/buttercoin/cert/ca-cert.crt +629 -0
- data/lib/buttercoin/client.rb +135 -0
- data/lib/buttercoin/client/account_query_methods.rb +32 -0
- data/lib/buttercoin/client/order_methods.rb +66 -0
- data/lib/buttercoin/client/transaction_methods.rb +89 -0
- data/lib/buttercoin/client/unauth_methods.rb +23 -0
- data/lib/buttercoin/version.rb +3 -0
- data/spec/buttercoin/client_spec.rb +105 -0
- data/spec/buttercoin_spec.rb +79 -0
- data/spec/spec_helper.rb +3 -0
- metadata +146 -0
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rspec'
|
3
|
+
require 'buttercoin'
|
4
|
+
|
5
|
+
describe Buttercoin do
|
6
|
+
describe "Setup default client" do
|
7
|
+
describe "configuring from environment variables" do
|
8
|
+
before do
|
9
|
+
Buttercoin.instance_variable_set(:@default_client, nil)
|
10
|
+
ENV['BUTTERCOIN_PUBLIC_KEY'] = "PUBLIC_KEY"
|
11
|
+
ENV['BUTTERCOIN_SECRET_KEY'] = "SECRET_KEY"
|
12
|
+
ENV['BUTTERCOIN_MODE'] = "MODE"
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:client) { Buttercoin.send(:default_client) }
|
16
|
+
|
17
|
+
it "should pick up public key from environment" do
|
18
|
+
expect(client.public_key).to eq "PUBLIC_KEY"
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should pick up secret key from environment" do
|
22
|
+
expect(client.secret_key).to eq "SECRET_KEY"
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should pick up public key from environment" do
|
26
|
+
expect(client.mode).to eq "MODE"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "Default client delegation" do
|
32
|
+
it "should overwrite value in default client, retaining settings" do
|
33
|
+
Buttercoin.public_key = "NEW_PUBLIC_KEY"
|
34
|
+
expect(Buttercoin.public_key).to eq "NEW_PUBLIC_KEY"
|
35
|
+
end
|
36
|
+
|
37
|
+
after do
|
38
|
+
Buttercoin.instance_variable_set(:@default_client, nil)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "forwardable" do
|
43
|
+
before do
|
44
|
+
@default_client = double("client")
|
45
|
+
allow(Buttercoin).to receive(:default_client).and_return(@default_client)
|
46
|
+
end
|
47
|
+
|
48
|
+
[:public_key, :secret_key, :mode].each do |_method|
|
49
|
+
it "should forward the #{_method} method" do
|
50
|
+
expect(@default_client).to receive _method
|
51
|
+
Buttercoin.send(_method)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# pull the Unauthenticated methods list at runtime in order to ensure
|
56
|
+
# any new methods have a corresponding delegator
|
57
|
+
Buttercoin::Client::UnauthMethods.instance_methods.each do |_method|
|
58
|
+
it "should forward the #{_method} unauth method" do
|
59
|
+
allow(@default_client). to receive(_method)
|
60
|
+
Buttercoin.send(_method)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# pull the AccountQuery methods list at runtime in order to ensure
|
65
|
+
# any new methods have a corresponding delegator
|
66
|
+
Buttercoin::Client::AccountQueryMethods.instance_methods.each do |_method|
|
67
|
+
it "should forward the #{_method} account query method" do
|
68
|
+
allow(@default_client). to receive(_method).with(1444444444444)
|
69
|
+
Buttercoin.send(_method, 1444444444444)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "logger" do
|
75
|
+
it "should be set to info" do
|
76
|
+
expect(Buttercoin.logger.level).to eq Logger::INFO
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: buttercoin
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kevin Adams
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-08-10 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: simplecov
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.9.0
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.9.0
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.9.0
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.9.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: fakeweb
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.3'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '1.3'
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.3'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '1.3'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: httparty
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 0.13.1
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.13.1
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.13.1
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.13.1
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: hashie
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 3.2.0
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.2.0
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.2.0
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 3.2.0
|
93
|
+
description: '["Ruby Gem to connect to the Buttercoin API"]'
|
94
|
+
email:
|
95
|
+
- kevin@buttercoin.com
|
96
|
+
executables: []
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- ".gitignore"
|
101
|
+
- ".rspec"
|
102
|
+
- ".travis.yml"
|
103
|
+
- Gemfile
|
104
|
+
- LICENSE
|
105
|
+
- README.md
|
106
|
+
- Rakefile
|
107
|
+
- buttercoin.gemspec
|
108
|
+
- lib/buttercoin.rb
|
109
|
+
- lib/buttercoin/cert/ca-cert.crt
|
110
|
+
- lib/buttercoin/client.rb
|
111
|
+
- lib/buttercoin/client/account_query_methods.rb
|
112
|
+
- lib/buttercoin/client/order_methods.rb
|
113
|
+
- lib/buttercoin/client/transaction_methods.rb
|
114
|
+
- lib/buttercoin/client/unauth_methods.rb
|
115
|
+
- lib/buttercoin/version.rb
|
116
|
+
- spec/buttercoin/client_spec.rb
|
117
|
+
- spec/buttercoin_spec.rb
|
118
|
+
- spec/spec_helper.rb
|
119
|
+
homepage: https://developer.buttercoin.com/
|
120
|
+
licenses:
|
121
|
+
- MIT
|
122
|
+
metadata: {}
|
123
|
+
post_install_message:
|
124
|
+
rdoc_options: []
|
125
|
+
require_paths:
|
126
|
+
- lib
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
requirements: []
|
138
|
+
rubyforge_project:
|
139
|
+
rubygems_version: 2.2.2
|
140
|
+
signing_key:
|
141
|
+
specification_version: 4
|
142
|
+
summary: '["Buttercoin API Ruby SDK"]'
|
143
|
+
test_files:
|
144
|
+
- spec/buttercoin/client_spec.rb
|
145
|
+
- spec/buttercoin_spec.rb
|
146
|
+
- spec/spec_helper.rb
|