pasrb 0.0.3 → 0.0.4

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.
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