RailsRunSignUp 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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjQ5MWNlNzlmNDI2M2MyNjYzZDgzMWE1ZmU5YzA2Njc3YmQ5YWZiNg==
4
+ NDU2NTllZWY3NWRkMDhlYmE3OTEzNjAxYjA3YzdkYjRlOGU4MzNiZA==
5
5
  data.tar.gz: !binary |-
6
- MmI4YzY4NzczZTIyZTM0N2UzNzhmNjM3M2Q2MDlhYjFjNDQwMTdiMw==
6
+ ZTBiNWQ4ZDBkYTA0MzRmNmJmOGI2YTVhMWJlZmRiMGIyMWZlNDIwZQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MmRhZTA3OGYzNWRkNzQxYTc2MjAyNjA0MzI3ZjgxOGZiOTFhMmQ3Nzg3NDFk
10
- OTZkNGY3ZThhYTU0OWFhNGU5YmFmNDgyYzU3OTNlNjIxYTBkNWM5OWU3MTYw
11
- ZmNjYjk0MTY4NWY3NWFiMzEyNjg4NjY1NjA1OWMyNzE0YzU4NGM=
9
+ OTE2ZGZkNWU0YmI3Yzc1NDU2ZDhlNzE1NzY4MjBmMDMxMTMwN2VlY2RkYTAz
10
+ ZTYwZWQ0MjJjZTU4ODVlYzlhYTIxNzc1ZDA2NzlmMWUzNDQ3ZmQwNzU4MmNh
11
+ Nzg3NzFhZjhmODY5MWEzZTY0MjkyYTZhNjQxZjczNzBhMjYxZjg=
12
12
  data.tar.gz: !binary |-
13
- NTE4Yjc1NzEyN2EyZGM5YjliZDU1OGI1NmZhNzNmMzY4MGUyM2FjM2ViNTVj
14
- ZTJiZGRjYWRjOTYyZTBiYTk4ZDljMWYyYTFmMjA4ODdjMDUxMWEyZjdjZDcw
15
- NzhiZTM1OWNhNmYwODYwMmI4M2Y1MzMyNTI4NGY2OWNjMmUwYmQ=
13
+ NzNjMDczNmFjMzUxODViMTg3MzFkZDM4MzBlNzU2NzQ0ODI0MTNhYmY5YzY0
14
+ MzA4ZDI4M2Q3ZDI0ZjJmZGM1YzEwODM5MDczZmM2YzMwN2JiOWM0MGIyZjVk
15
+ MjcyM2E3Nzg4ODgwZTVjMmFjZTk0N2E0MDYyYTM1OWY4MjA5Njk=
@@ -36,6 +36,23 @@ module RailsRunSignUp
36
36
  self.races
37
37
  end
38
38
 
39
+ # Retrieve all info for a race using race_id
40
+ #
41
+ # @author Khang Le
42
+ # param[race_id] int specifies the race to get (mandatory)
43
+ # see runsignup api documentation for extra parameters
44
+ def get_race opts
45
+ raise RailsRunSignUp::RaceError, "Missing parameter {race_id}" if opts[:race_id].nil?
46
+
47
+ response = @access_token.get("/rest/race/#{opts[:race_id]}/?format=json&race_id=#{opts[:race_id]}")
48
+ json_response = JSON.parse(response.body)
49
+ opts[:events] = "T"
50
+
51
+ raise RailsRunSignUp::RaceError, "RailsRunSignUp race.get Error: #{json_response['error']['error_code']} - #{json_response['error']['error_msg']}" unless json_response['error'].nil?
52
+
53
+ parse_race json_response, opts
54
+ end
55
+
39
56
  def parse_json json_response, opts
40
57
  races = []
41
58
  count = 0
@@ -43,57 +60,62 @@ module RailsRunSignUp
43
60
  return if json_response['races'].nil?
44
61
 
45
62
  json_response['races'].each do |race|
46
- _race = RailsRunSignUp::Model::Race.new(
47
- :access_token => @access_token,
48
- :api_key => @api_key,
49
- :api_secret => @api_secret,
50
- :id => race['race']['race_id'],
51
- :name => race['race']['name'],
52
- :description => race['race']['description'],
53
- :url => race['race']['url'],
54
- :next_date => race['race']['next_date'],
55
- :last_date => race['race']['last_date'],
56
- :is_registration_open => race['race']['is_registration_open'],
57
- :is_draft_race => race['race']['is_draft_race'],
58
- :street => race['race']['address']['street'],
59
- :city => race['race']['address']['city'],
60
- :state => race['race']['address']['state'],
61
- :zip_code => race['race']['address']['zip_code'],
62
- :country_code => race['race']['address']['country_code']
63
- )
64
-
65
- if !opts[:events].nil? && opts[:events] === "T"
66
- race['race']['events'].each do |event|
67
- _event = RailsRunSignUp::Model::Event.new(
68
- :id => event['id'],
69
- :name => event['name'],
70
- :details => event['details'],
71
- :start_time => event['start_time'],
72
- :registration_opens => event['registration_opens'],
73
- :event_type => event['event_type'],
74
- :distance => event['distance'],
75
- :volunteer => event['volunteer'],
76
- :require_dob => event['require_dob'],
77
- :require_phone => event['require_phone'],
78
- :give_away => event['give_away']
79
- )
80
-
81
- event['registration_periods'].each do |period|
82
- _period = RailsRunSignUp::Model::RegistrationPeriod.new(
83
- :registration_opens => period['registration_opens'],
84
- :registration_closes => period['registration_closes'],
85
- :race_fee => period['race_fee']
86
- )
87
- _event.add_registration_period _period
88
- end
89
- _race.add_event _event
90
- end
91
- end
63
+ _race = parse_race race, opts
92
64
  races << _race
93
65
  count = count + 1
94
66
  break if !opts[:limit].nil? && count >= opts[:limit].to_i
95
67
  end
96
68
  races
97
69
  end
70
+
71
+ def parse_race race, opts
72
+ _race = RailsRunSignUp::Model::Race.new(
73
+ :access_token => @access_token,
74
+ :api_key => @api_key,
75
+ :api_secret => @api_secret,
76
+ :id => race['race']['race_id'],
77
+ :name => race['race']['name'],
78
+ :description => race['race']['description'],
79
+ :url => race['race']['url'],
80
+ :next_date => race['race']['next_date'],
81
+ :last_date => race['race']['last_date'],
82
+ :is_registration_open => race['race']['is_registration_open'],
83
+ :is_draft_race => race['race']['is_draft_race'],
84
+ :street => race['race']['address']['street'],
85
+ :city => race['race']['address']['city'],
86
+ :state => race['race']['address']['state'],
87
+ :zip_code => race['race']['address']['zip_code'],
88
+ :country_code => race['race']['address']['country_code']
89
+ )
90
+
91
+ if !opts[:events].nil? && opts[:events] === "T"
92
+ race['race']['events'].each do |event|
93
+ _event = RailsRunSignUp::Model::Event.new(
94
+ :id => event['id'],
95
+ :name => event['name'],
96
+ :details => event['details'],
97
+ :start_time => event['start_time'],
98
+ :registration_opens => event['registration_opens'],
99
+ :event_type => event['event_type'],
100
+ :distance => event['distance'],
101
+ :volunteer => event['volunteer'],
102
+ :require_dob => event['require_dob'],
103
+ :require_phone => event['require_phone'],
104
+ :give_away => event['give_away']
105
+ )
106
+
107
+ event['registration_periods'].each do |period|
108
+ _period = RailsRunSignUp::Model::RegistrationPeriod.new(
109
+ :registration_opens => period['registration_opens'],
110
+ :registration_closes => period['registration_closes'],
111
+ :race_fee => period['race_fee']
112
+ )
113
+ _event.add_registration_period _period
114
+ end
115
+ _race.add_event _event
116
+ end
117
+ end
118
+ _race
119
+ end
98
120
  end
99
121
  end
@@ -24,6 +24,9 @@ module RailsRunSignUp
24
24
  # @param page The page number to view participants on
25
25
  # @param after_registration_id Get registrations after the given registration id
26
26
  def get_participants opts = {}
27
+ raise RailsRunSignUp::ParticipantsError, "Parameter missing {race_id}" if opts[:race_id].nil?
28
+ raise RailsRunSignUp::ParticipantsError, "Parameter missing {event_id}" if opts[:event_id].nil?
29
+
27
30
  response = @access_token.get("/Rest/race/#{opts[:race_id]}/participants/?format=json&#{opts.map{|k, v| "#{k}=#{v}"}.join('&')}")
28
31
  json_response = JSON.parse(response.body).first #response is encased in an array?
29
32
 
@@ -1,3 +1,3 @@
1
1
  module RailsRunSignUp
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -16,6 +16,12 @@ describe RailsRunSignUp do
16
16
  races.should_not be_nil
17
17
  end
18
18
 
19
+ it "should retrieve a single race" do
20
+ rails_sign_up = RailsRunSignUp::Races.new(session)
21
+ race = rails_sign_up.get_race :race_id => "3422"
22
+ race.should_not be_nil
23
+ end
24
+
19
25
  it "should retrieve race list from search" do
20
26
  rails_sign_up = RailsRunSignUp::Races.new(session)
21
27
  opts = { :events => "T", :name => "Run+Til" }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RailsRunSignUp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Slone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-26 00:00:00.000000000 Z
11
+ date: 2013-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler