bitstamp 0.2.6 → 0.2.7

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.6
1
+ 0.2.7
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bitstamp"
8
- s.version = "0.2.6"
8
+ s.version = "0.2.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeffrey Wilcke"]
12
- s.date = "2013-06-12"
12
+ s.date = "2013-06-25"
13
13
  s.description = "Ruby API for use with bitstamp."
14
14
  s.email = "stygeo@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -32,10 +32,12 @@ Gem::Specification.new do |s|
32
32
  "lib/bitstamp/net.rb",
33
33
  "lib/bitstamp/orders.rb",
34
34
  "lib/bitstamp/ticker.rb",
35
+ "lib/bitstamp/transactions.rb",
35
36
  "spec/bitstamp_spec.rb",
36
37
  "spec/collection_spec.rb",
37
38
  "spec/orders_spec.rb",
38
- "spec/spec_helper.rb"
39
+ "spec/spec_helper.rb",
40
+ "spec/transactions_spec.rb"
39
41
  ]
40
42
  s.homepage = "http://github.com/kojnapp/bitstamp"
41
43
  s.licenses = ["MIT"]
@@ -9,6 +9,7 @@ require 'bitstamp/collection'
9
9
  require 'bitstamp/model'
10
10
 
11
11
  require 'bitstamp/orders'
12
+ require 'bitstamp/transactions'
12
13
  require 'bitstamp/ticker'
13
14
 
14
15
  String.send(:include, ActiveSupport::Inflector)
@@ -30,6 +31,12 @@ module Bitstamp
30
31
  @@orders ||= Bitstamp::Orders.new
31
32
  end
32
33
 
34
+ def self.user_transactions
35
+ self.sanity_check!
36
+
37
+ @@transactions ||= Bitstamp::UserTransactions.new
38
+ end
39
+
33
40
  def self.balance
34
41
  self.sanity_check!
35
42
 
@@ -40,6 +47,10 @@ module Bitstamp
40
47
  return Bitstamp::Ticker.from_api
41
48
  end
42
49
 
50
+ def self.order_book
51
+ return JSON.parse Bitstamp::Net.post('/order_book/').body_str
52
+ end
53
+
43
54
  def self.setup
44
55
  yield self
45
56
  end
@@ -1,6 +1,9 @@
1
1
  module Bitstamp
2
2
  module Helper
3
3
  def self.parse_objects!(string, klass)
4
+ # If Bitstamp returned nothing (which it does if the results yield empty) 'cast' it to an array
5
+ string = "[]" if string == ""
6
+
4
7
  objects = JSON.parse(string)
5
8
  objects.collect do |t_json|
6
9
  parse_object!(t_json, klass)
@@ -1,5 +1,7 @@
1
1
  module Bitstamp
2
2
  class Model
3
+ attr_accessor :error, :message
4
+
3
5
  if ActiveModel::VERSION::MAJOR <= 3
4
6
  include ActiveModel::Validations
5
7
  include ActiveModel::Conversion
@@ -0,0 +1,27 @@
1
+ module Bitstamp
2
+ class UserTransactions < Bitstamp::Collection
3
+ def all(options = {})
4
+ # Default time delta to an hour
5
+ options[:timedelta] = "3600" unless options[:timedelta]
6
+
7
+ Bitstamp::Helper.parse_objects! Bitstamp::Net::post("/user_transactions", options).body_str, self.model
8
+ end
9
+
10
+ def find(order_id)
11
+ all = self.all
12
+ index = all.index {|order| order.id.to_i == order_id}
13
+
14
+ return all[index] if index
15
+ end
16
+
17
+ def create(options = {})
18
+ end
19
+
20
+ def update(options={})
21
+ end
22
+ end
23
+
24
+ class UserTransaction < Bitstamp::Model
25
+ attr_accessor :datetime, :id, :type, :usd, :btc, :fee, :order_id
26
+ end
27
+ end
@@ -28,4 +28,16 @@ describe Bitstamp do
28
28
 
29
29
  Bitstamp.balance.should be_kind_of Hash
30
30
  end
31
+
32
+ it 'should have a order_book method' do
33
+ Bitstamp.order_book.should be_kind_of Hash
34
+ end
35
+
36
+ it 'should have bids and asks in the order_book' do
37
+ order_book = Bitstamp.order_book
38
+ order_book.should have_key("asks")
39
+ order_book.should have_key("bids")
40
+ order_book["asks"].should be_kind_of Array
41
+ order_book["bids"].should be_kind_of Array
42
+ end
31
43
  end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bitstamp::UserTransactions do
4
+ before :each do
5
+ read_bitstamp_yaml
6
+ end
7
+
8
+ it "should return an array when querying for all user transactions" do
9
+ Bitstamp.user_transactions.all.should be_kind_of Array
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitstamp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-12 00:00:00.000000000 Z
12
+ date: 2013-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -146,10 +146,12 @@ files:
146
146
  - lib/bitstamp/net.rb
147
147
  - lib/bitstamp/orders.rb
148
148
  - lib/bitstamp/ticker.rb
149
+ - lib/bitstamp/transactions.rb
149
150
  - spec/bitstamp_spec.rb
150
151
  - spec/collection_spec.rb
151
152
  - spec/orders_spec.rb
152
153
  - spec/spec_helper.rb
154
+ - spec/transactions_spec.rb
153
155
  homepage: http://github.com/kojnapp/bitstamp
154
156
  licenses:
155
157
  - MIT
@@ -165,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
167
  version: '0'
166
168
  segments:
167
169
  - 0
168
- hash: 2106144220517727313
170
+ hash: -1399410324904363812
169
171
  required_rubygems_version: !ruby/object:Gem::Requirement
170
172
  none: false
171
173
  requirements: