pasrb 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/CHANGELOG +3 -0
  2. data/Rakefile +1 -1
  3. data/lib/pas.rb +6 -11
  4. data/pasrb.gemspec +1 -1
  5. data/spec/pas_spec.rb +9 -14
  6. metadata +3 -3
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ v0.0.4. Changes:
2
+ * Most operations return array of hashes now.
3
+
1
4
  v0.0.3. Changes:
2
5
  * get_member_tracker_stats no longer keeps three forms of keys.
3
6
  Now it only uses "identifier" => data scheme, because it was
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'echoe'
2
- Echoe.new('pasrb', '0.0.3') do |g|
2
+ Echoe.new('pasrb', '0.0.4') do |g|
3
3
  g.description = "PokerAffiliateSupport api querying via ruby"
4
4
  g.url = "http://github.com/markiz/pasrb"
5
5
  g.author = "Markiz"
data/lib/pas.rb CHANGED
@@ -48,13 +48,9 @@ class PAS
48
48
  alias_method :all_members, :list_all_members
49
49
 
50
50
  def list_all_members!
51
- members = (1..member_page_count).inject([]) {|result, page| result + member_page(page) }
52
- members.inject({}) do |result, member|
53
- result[member[:login]] = member
54
- result
55
- end
51
+ (1..member_page_count).inject([]) {|result, page| result + member_page(page) }
56
52
  rescue
57
- {}
53
+ []
58
54
  end
59
55
 
60
56
  # Returns member page count
@@ -103,16 +99,15 @@ class PAS
103
99
  end_date = end_date.strftime("%Y-%m-%d")
104
100
  response = xml_to_hash(make_request("/publisher_members/#{member_id}/stats.xml", "GET", {:start_date => start_date, :end_date => end_date}))
105
101
  trackers = [response["statistics"]["member_trackers"]["member_tracker"]].flatten
106
- trackers.inject({}) do |result, tracker|
107
- id = tracker["id"].to_i
108
- result[tracker["identifier"]] = {
102
+ trackers.inject([]) do |result, tracker|
103
+ result << {
104
+ :id => tracker["id"].to_i,
109
105
  :identifier => tracker["identifier"],
110
106
  :poker_room_id => tracker["poker_room_id"].to_i,
111
107
  :poker_room => tracker["poker_room"],
112
108
  :mgr => tracker["mgr"].to_f,
113
109
  :rakeback => tracker["rakeback"].to_f
114
110
  }
115
- result
116
111
  end
117
112
  rescue
118
113
  nil
@@ -120,7 +115,7 @@ class PAS
120
115
 
121
116
  def get_member_tracker_stats(member_id, tracker_id, start_date, end_date)
122
117
  trackers = get_member_trackers_stats(member_id, start_date, end_date)
123
- trackers ? trackers[tracker_id] : nil
118
+ trackers ? trackers.detect {|t| t[:identifier] == tracker_id || t[:id] == tracker_id } : nil
124
119
  rescue
125
120
  nil
126
121
  end
data/pasrb.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{pasrb}
5
- s.version = "0.0.3"
5
+ s.version = "0.0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Markiz"]
data/spec/pas_spec.rb CHANGED
@@ -134,7 +134,7 @@ describe PAS do
134
134
  describe "#all_members" do
135
135
  before(:each) {
136
136
  stub_request('<?xml version="1.0" encoding="UTF-8"?>
137
- <members current_page="1" next_page="1" total_pages="2" total_entries="2">
137
+ <members current_page="1" next_page="2" total_pages="2" total_entries="2">
138
138
  <member>
139
139
  <id>26371</id>
140
140
  <outside_id></outside_id>
@@ -191,18 +191,13 @@ describe PAS do
191
191
  subject.all_members
192
192
  end
193
193
 
194
- it "should return a hash inaccessible by member id" do
195
- subject.all_members[26380].should be_nil
194
+ it "should return an array with members" do
195
+ subject.all_members[1][:first_name].should == "Dumbo"
196
196
  end
197
197
 
198
- it "should return a hash accessible by member login" do
199
- subject.all_members["durachok"][:first_name].should == "Dumbo"
200
- subject.all_members.should have_exactly(2).items
201
- end
202
-
203
- it "should return empty hash on failures" do
198
+ it "should return empty array on failures" do
204
199
  stub_request("<invalid></xml>")
205
- subject.all_members.should == {}
200
+ subject.all_members.should == []
206
201
  end
207
202
  end
208
203
 
@@ -298,11 +293,9 @@ describe PAS do
298
293
 
299
294
  it "should parse out members" do
300
295
  members = subject.get_member_trackers_stats(member_id, Date.parse("2010-08-01"), Date.parse("2010-08-18"))
301
- members[6].should be_nil
302
- members[2195].should be_nil
303
296
  members.should have_exactly(2).items
304
- members["qq124"][:poker_room_id].should == 293
305
- members["qq1244343"][:poker_room_id].should == 293
297
+ members[0][:poker_room_id].should == 293
298
+ members[1][:poker_room_id].should == 293
306
299
  end
307
300
 
308
301
  it "should return nil on terrible, terrible failures" do
@@ -310,6 +303,7 @@ describe PAS do
310
303
  subject.get_member_trackers_stats(member_id, Date.parse("2010-08-01"), Date.parse("2010-08-18")).should == nil
311
304
  end
312
305
  end
306
+
313
307
  describe "#get_member_tracker_stats" do
314
308
  before(:each) {
315
309
  stub_request('<?xml version="1.0" encoding="UTF-8"?>
@@ -342,6 +336,7 @@ describe PAS do
342
336
 
343
337
  it "should use members stats for specific member" do
344
338
  subject.get_member_tracker_stats(member_id, "qq124", Date.parse("2010-08-01"), Date.parse("2010-08-18"))[:rakeback].should == 218.21
339
+ subject.get_member_tracker_stats(member_id, 6, Date.parse("2010-08-01"), Date.parse("2010-08-18"))[:rakeback].should == 218.21
345
340
  end
346
341
 
347
342
  it "should return nil on terrible, terrible failures" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pasrb
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Markiz