tipjoy 0.0.10 → 0.0.11
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 +1 -1
- data/lib/tipjoy.rb +1 -1
- data/lib/tipjoy/account.rb +2 -2
- data/lib/tipjoy/result_error.rb +7 -1
- data/lib/tipjoy/tipjoy_requestor.rb +2 -2
- data/lib/tipjoy/transaction.rb +36 -16
- data/spec/lib/tipjoy/transaction_spec.rb +57 -0
- data/tipjoy.gemspec +1 -1
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.11
|
data/lib/tipjoy.rb
CHANGED
data/lib/tipjoy/account.rb
CHANGED
@@ -3,8 +3,8 @@ module Tipjoy
|
|
3
3
|
include Tipjoy::Requestor
|
4
4
|
include Tipjoy::BulkInitializer
|
5
5
|
|
6
|
-
EXISTS_PATH = "/
|
7
|
-
CREATE_PATH = "/
|
6
|
+
EXISTS_PATH = "/user/exists/"
|
7
|
+
CREATE_PATH = "/createTwitterAccount/"
|
8
8
|
|
9
9
|
attr_accessor :username
|
10
10
|
attr_accessor :user_id
|
data/lib/tipjoy/result_error.rb
CHANGED
@@ -21,7 +21,7 @@ module Tipjoy
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def tipjoy_request(method, url, data={})
|
24
|
-
Tipjoy.logger.error("requesting via #{method} " + url + "with args " + data.inspect)
|
24
|
+
Tipjoy.logger.error("requesting via #{method} " + url + " with args " + data.inspect)
|
25
25
|
response = tipjoy_http_request(method, url, data)
|
26
26
|
|
27
27
|
if !(200..299).include?(response.code.to_i)
|
@@ -34,7 +34,7 @@ module Tipjoy
|
|
34
34
|
|
35
35
|
if json['result'] != 'success'
|
36
36
|
Tipjoy.logger.error(" ResultError " + json.inspect)
|
37
|
-
raise ::Tipjoy::ResultError.new(json
|
37
|
+
raise ::Tipjoy::ResultError.new(json)
|
38
38
|
end
|
39
39
|
|
40
40
|
Tipjoy.logger.error(" response: " + json.inspect)
|
data/lib/tipjoy/transaction.rb
CHANGED
@@ -1,27 +1,47 @@
|
|
1
1
|
module Tipjoy
|
2
2
|
class Transaction
|
3
|
-
|
3
|
+
include Tipjoy::Requestor
|
4
4
|
include Tipjoy::BulkInitializer
|
5
5
|
|
6
|
+
SHOW_SINGLE_PATH = '/transaction/show/'
|
7
|
+
|
6
8
|
attr_accessor :transaction_id,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
9
|
+
:username,
|
10
|
+
:userid,
|
11
|
+
:date_joined,
|
12
|
+
:is_loan,
|
13
|
+
:verified,
|
14
|
+
:permalink,
|
15
|
+
:time,
|
16
|
+
:pretty_time,
|
17
|
+
:amount,
|
18
|
+
:twitter_username,
|
19
|
+
:twitter_user_id,
|
20
|
+
:profile_image_url,
|
21
|
+
:tweet_id,
|
22
|
+
:tweet_message,
|
23
|
+
:tweet_message_html
|
22
24
|
|
23
25
|
def initialize(options={})
|
24
26
|
assign_attributes(options)
|
25
27
|
end
|
28
|
+
|
29
|
+
def amount=(a)
|
30
|
+
@amount = a.to_f
|
31
|
+
end
|
32
|
+
|
33
|
+
def is_loan=(is_loan)
|
34
|
+
@is_loan = (is_loan == 1) ? true : false
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.find(id)
|
38
|
+
json = tipjoy_request(:get, TIPJOY_BASE_URL + SHOW_SINGLE_PATH + "?id=" + id.to_s)
|
39
|
+
|
40
|
+
return Transaction.new(json)
|
41
|
+
|
42
|
+
rescue ResultError => e
|
43
|
+
raise e unless e.json["reason"] == "invalid transaction id"
|
44
|
+
return nil
|
45
|
+
end
|
26
46
|
end
|
27
47
|
end
|
@@ -1,5 +1,62 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
3
|
describe Tipjoy::Transaction do
|
4
|
+
before do
|
5
|
+
@expected_transaction = {"permalink"=>"http://twitter.com/poopr112",
|
6
|
+
"time"=>"2009-05-27 15:53:21",
|
7
|
+
"twitter_username"=>"poopr111",
|
8
|
+
"is_private"=>false,
|
9
|
+
"twitter_user_id"=>"42670876",
|
10
|
+
"username"=>"poopr111",
|
11
|
+
"transaction_id"=>47702,
|
12
|
+
"amount"=>"1.25",
|
13
|
+
"userid"=>56673,
|
14
|
+
"tweet_message"=>"p $1.25 @poopr112 for api test",
|
15
|
+
"prettyTime"=>"4 days ago", "date_joined"=>"2009-05-26 10:24:07",
|
16
|
+
"verified"=>false,
|
17
|
+
"isLoan"=>1,
|
18
|
+
"tweet_id"=>"1939894288",
|
19
|
+
"tweet_message_html"=>"p $1.25 <a href='http://twitter.com/poopr112'>@poopr112</a> for api test",
|
20
|
+
"profile_image_url"=>"http://s3.amazonaws.com/twitter_thumbs/default.jpg"
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
describe ".find" do
|
25
|
+
it "should return a transaction" do
|
26
|
+
transaction = Tipjoy::Transaction.find(@expected_transaction['transaction_id'])
|
27
|
+
transaction.should_not be_nil
|
28
|
+
transaction.transaction_id.should == @expected_transaction['transaction_id']
|
29
|
+
transaction.amount.should == @expected_transaction['amount'].to_f
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return nil if the transaction is not found" do
|
33
|
+
transaction = Tipjoy::Transaction.find(-1)
|
34
|
+
transaction.should be_nil
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "failure" do
|
38
|
+
before do
|
39
|
+
@requestor = Tipjoy::Transaction
|
40
|
+
@request = Proc.new do
|
41
|
+
Tipjoy::Transaction.find(-1)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
it_should_behave_like "tipjoy request maker that might fail"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#is_loan" do
|
50
|
+
it "should be true when response isLoan is 1" do
|
51
|
+
transaction = Tipjoy::Transaction.new({"isLoan"=>1})
|
52
|
+
transaction.is_loan.should be_true
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should be false when response isLoan is 0" do
|
56
|
+
transaction = Tipjoy::Transaction.new({"isLoan"=>0})
|
57
|
+
transaction.is_loan.should be_false
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
4
61
|
|
5
62
|
end
|
data/tipjoy.gemspec
CHANGED