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 +8 -8
- data/lib/RailsRunSignUp/races.rb +68 -46
- data/lib/RailsRunSignUp/users.rb +3 -0
- data/lib/RailsRunSignUp/version.rb +1 -1
- data/spec/RailsRunSignUp_spec.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDU2NTllZWY3NWRkMDhlYmE3OTEzNjAxYjA3YzdkYjRlOGU4MzNiZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTBiNWQ4ZDBkYTA0MzRmNmJmOGI2YTVhMWJlZmRiMGIyMWZlNDIwZQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTE2ZGZkNWU0YmI3Yzc1NDU2ZDhlNzE1NzY4MjBmMDMxMTMwN2VlY2RkYTAz
|
10
|
+
ZTYwZWQ0MjJjZTU4ODVlYzlhYTIxNzc1ZDA2NzlmMWUzNDQ3ZmQwNzU4MmNh
|
11
|
+
Nzg3NzFhZjhmODY5MWEzZTY0MjkyYTZhNjQxZjczNzBhMjYxZjg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzNjMDczNmFjMzUxODViMTg3MzFkZDM4MzBlNzU2NzQ0ODI0MTNhYmY5YzY0
|
14
|
+
MzA4ZDI4M2Q3ZDI0ZjJmZGM1YzEwODM5MDczZmM2YzMwN2JiOWM0MGIyZjVk
|
15
|
+
MjcyM2E3Nzg4ODgwZTVjMmFjZTk0N2E0MDYyYTM1OWY4MjA5Njk=
|
data/lib/RailsRunSignUp/races.rb
CHANGED
@@ -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 =
|
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
|
data/lib/RailsRunSignUp/users.rb
CHANGED
@@ -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
|
|
data/spec/RailsRunSignUp_spec.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2013-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|