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.
@@ -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
@@ -0,0 +1,3 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start
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