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.
- data/CHANGELOG +3 -0
- data/Rakefile +1 -1
- data/lib/pas.rb +6 -11
- data/pasrb.gemspec +1 -1
- data/spec/pas_spec.rb +9 -14
- metadata +3 -3
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    
    
        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 | 
            -
                 | 
| 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( | 
| 107 | 
            -
                   | 
| 108 | 
            -
             | 
| 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
    
    
    
        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=" | 
| 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  | 
| 195 | 
            -
                  subject.all_members[ | 
| 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  | 
| 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[ | 
| 305 | 
            -
                  members[ | 
| 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