Active 0.0.24 → 0.0.25

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.
@@ -8,7 +8,7 @@ module Active
8
8
  attr_accessor
9
9
 
10
10
  attr_accessor :title, :url, :categories, :address, :start_date, :start_time, :end_time, :end_date, :category, :desc,
11
- :asset_id, :asset_type_id, :data, :contact_name, :contact_email
11
+ :asset_id, :asset_type_id, :data
12
12
 
13
13
  attr_reader :asset_type_id
14
14
 
@@ -12,10 +12,16 @@ module Active
12
12
  attr_reader :datasources_loaded
13
13
 
14
14
  # data is a GSA object
15
- def initialize(gsa,preload_data=false)
15
+ def initialize(iactivity,preload_data=false)
16
16
  @datasources_loaded=false
17
17
 
18
- @gsa = gsa
18
+ if iactivity.source==:gsa
19
+ @gsa = iactivity
20
+ elsif iactivity.source==:ats
21
+ @ats = iactivity
22
+ else
23
+ @primary_source = iactivity
24
+ end
19
25
 
20
26
  # if data.respond_to?('source')
21
27
  # @ats = gsa if data.source == :ats
@@ -46,18 +52,41 @@ module Active
46
52
 
47
53
  def ats
48
54
  return @ats if @ats
49
- return @ats = ATS.find_by_id(@gsa.asset_id)
55
+ return @ats = ATS.find_by_id(asset_id)
56
+ end
57
+
58
+ def gsa
59
+ return @gsa if @gsa
60
+ s = Search.search({:asset_id=>asset_id, :start_date=>"01/01/2000"})
61
+ if s.results.length > 0
62
+ @gsa = s.results.first
63
+ else
64
+ nil
65
+ end
66
+
50
67
  end
51
68
 
52
69
  def primary_source
53
70
  return @primary_source if @primary_source
54
- if @gsa.asset_type_id == REG_CENTER_ASSET_TYPE_ID || @gsa.asset_type_id == REG_CENTER_ASSET_TYPE_ID2
55
- return @primary_source = RegCenter.find_by_id(@gsa.substitutionUrl)
56
- elsif @gsa.asset_type_id == ACTIVE_WORKS_ASSET_TYPE_ID
57
- return @primary_source = ActiveWorks.find_by_id(@gsa.substitutionUrl)
71
+ if asset_type_id == REG_CENTER_ASSET_TYPE_ID || asset_type_id == REG_CENTER_ASSET_TYPE_ID2
72
+ return @primary_source = RegCenter.find_by_id(substitutionUrl)
73
+ elsif asset_type_id == ACTIVE_WORKS_ASSET_TYPE_ID
74
+ return @primary_source = ActiveWorks.find_by_id(substitutionUrl)
58
75
  end
59
76
  end
60
77
 
78
+ def primary_loaded?
79
+ return true if @primary_source else false
80
+ end
81
+
82
+ def ats_loaded?
83
+ return true if @ats else false
84
+ end
85
+
86
+ def gsa_loaded?
87
+ return true if @gsa else false
88
+ end
89
+
61
90
  # def load_datasources
62
91
  # return if @datasources_loaded==true
63
92
  #
@@ -76,25 +105,26 @@ module Active
76
105
  # end
77
106
 
78
107
  def title
79
- return @gsa.title unless @gsa.nil?
108
+ return @primary_source.title if primary_loaded?
109
+ return @ats.title if ats_loaded?
110
+ return @gsa.title if gsa_loaded?
80
111
  return nil
81
112
  end
82
-
83
- # id within a system
84
- def asset_id=(value)
85
- @gsa.asset_id
86
- # @asset_id = (value.class==Array) ? value[0] : value
113
+
114
+ def _title
115
+ primary_source.title || ats.title || gsa.title || nil
87
116
  end
88
- # The asset type id lets us know what system is came from
89
- def asset_type_id
90
- return @gsa.asset_type_id unless @gsa.nil?
117
+
118
+ def url
119
+ return @primary_source.url if primary_loaded?
120
+ return @ats.url if ats_loaded?
121
+ return @gsa.url if gsa_loaded?
91
122
  return nil
92
123
  end
93
124
 
94
- def url
125
+ def _url
95
126
  #prefer seo a2 url first, then non seo a2 url, then primary url
96
- load_datasources
97
- sources = [@ats,@primary,@gsa]
127
+ sources = [ats,primary_source,gsa]
98
128
  sources.each do |source|
99
129
  return source.url if source.url.downcase.index("www.active.com") && !source.url.downcase.index("detail")
100
130
  end
@@ -102,27 +132,162 @@ module Active
102
132
  return source.url if source.url.downcase.index("www.active.com")
103
133
  end
104
134
 
105
- return @primary.url unless @primary.nil?
106
- return @ats.url unless @ats.nil?
107
- return @gsa.url unless @gsa.nil?
108
- return @url if @url
135
+ return primary_source.url unless primary_source.nil?
136
+ return ats.url unless ats.nil?
137
+ return gsa.url unless gsa.nil?
109
138
  return nil
110
139
  end
111
140
 
112
141
  def categories
113
- return @primary.categories unless @primary.nil?
114
- load_datasources
115
- return @ats.categories unless @ats.nil?
116
- return @gsa.categories unless @gsa.nil?
117
- return @categories if @categories
142
+ return primary_source.categories if primary_loaded?
143
+ return ats.categories if ats_loaded?
144
+ return gsa.categories if gsa_loaded?
145
+ return []
146
+ end
147
+
148
+ def _categories
149
+ return primary_source.categories unless primary_source.nil? || primary_source.categories.length==0
150
+ return ats.categories unless ats.nil? || ats.categories.length==0
151
+ return gsa.categories unless gsa.nil? || gsa.categories.length==0
118
152
  return []
119
153
  end
120
154
 
121
- def asset_id
122
- return @gsa.asset_id unless @gsa.nil?
155
+ def address
156
+ return @primary_source.address if primary_loaded?
157
+ return @ats.address if ats_loaded?
158
+ return @gsa.address if gsa_loaded?
159
+ return nil
160
+ end
161
+
162
+ def _address
163
+ return primary_source.address unless primary_source.nil? || primary_source.address["address"].nil?
164
+ return ats.address unless ats.nil? || ats.address["address"].nil?
165
+ return gsa.address unless gsa.nil? || gsa.address["address"].nil?
166
+ return nil
167
+ end
168
+
169
+ def start_date
170
+ return @primary_source.start_date if primary_loaded?
171
+ return @ats.start_date if ats_loaded?
172
+ return @gsa.start_date if gsa_loaded?
173
+ return nil
174
+ end
175
+
176
+ def _start_date
177
+ return primary_source.start_date unless primary_source.nil? || primary_source.start_date.nil?
178
+ return ats.start_date unless ats.nil? || ats.start_date.nil?
179
+ return gsa.start_date unless gsa.nil? || gsa.start_date.nil?
180
+ return nil
181
+ end
182
+
183
+ def start_time
184
+ return @primary_source.start_time if primary_loaded?
185
+ return @ats.start_time if ats_loaded?
186
+ return @gsa.start_time if gsa_loaded?
187
+ return nil
188
+ end
189
+
190
+ def _start_time
191
+ return primary_source.start_time unless primary_source.nil? || primary_source.start_time.nil?
192
+ return ats.start_time unless ats.nil? || ats.start_time.nil?
193
+ return gsa.start_time unless gsa.nil? || gsa.start_time.nil?
194
+ return nil
195
+ end
196
+
197
+
198
+ def end_date
199
+ return @primary_source.end_date if primary_loaded?
200
+ return @ats.end_date if ats_loaded?
201
+ return @gsa.end_date if gsa_loaded?
202
+ return nil
203
+ end
204
+
205
+ def _end_date
206
+ return primary_source.end_date unless primary_source.nil? || primary_source.end_date.nil?
207
+ return ats.end_date unless ats.nil? || ats.end_date.nil?
208
+ return gsa.end_date unless gsa.nil? || gsa.end_date.nil?
209
+ return nil
210
+ end
211
+
212
+ def end_time
213
+ return @primary_source.end_time if primary_loaded?
214
+ return @ats.end_time if ats_loaded?
215
+ return @gsa.end_time if gsa_loaded?
216
+ return nil
217
+ end
218
+
219
+ def _end_time
220
+ return primary_source.end_time unless primary_source.nil? || primary_source.end_time.nil?
221
+ return ats.end_time unless ats.nil? || ats.end_time.nil?
222
+ return gsa.end_time unless gsa.nil? || gsa.end_time.nil?
223
+ return nil
224
+ end
225
+
226
+ def category
227
+ return @primary_source.category if primary_loaded?
228
+ return @ats.category if ats_loaded?
229
+ return @gsa.category if gsa_loaded?
230
+ return nil
231
+ end
232
+
233
+ def _category
234
+ return primary_source.category unless primary_source.nil? || primary_source.category.nil?
235
+ return ats.category unless ats.nil? || ats.category.nil?
236
+ return gsa.category unless gsa.nil? || gsa.category.nil?
123
237
  return nil
124
238
  end
125
239
 
240
+ def desc
241
+ return @primary_source.desc if primary_loaded?
242
+ return @ats.desc if ats_loaded?
243
+ return @gsa.desc if gsa_loaded?
244
+ return nil
245
+ end
246
+
247
+ def _desc
248
+ return primary_source.desc unless primary_source.nil? || primary_source.desc.nil?
249
+ return ats.desc unless ats.nil? || ats.desc.nil?
250
+ return gsa.desc unless gsa.nil? || gsa.desc.nil?
251
+ return nil
252
+ end
253
+
254
+ def asset_id
255
+ return @primary_source.asset_id if primary_loaded?
256
+ return @ats.asset_id if ats_loaded?
257
+ return @gsa.asset_id if gsa_loaded?
258
+ return nil
259
+ end
260
+
261
+ def _asset_id
262
+ return primary_source.asset_id unless primary_source.nil? || primary_source.asset_id.nil?
263
+ return ats.asset_id unless ats.nil? || ats.asset_id.nil?
264
+ return gsa.asset_id unless gsa.nil? || gsa.asset_id.nil?
265
+ return nil
266
+ end
267
+
268
+ def asset_type_id
269
+ return @primary_source.asset_type_id if primary_loaded?
270
+ return @ats.asset_type_id if ats_loaded?
271
+ return @gsa.asset_type_id if gsa_loaded?
272
+ return nil
273
+ end
274
+
275
+ def _asset_type_id
276
+ return primary_source.asset_type_id unless primary_source.nil? || primary_source.asset_type_id.nil?
277
+ return ats.asset_type_id unless ats.nil? || ats.asset_type_id.nil?
278
+ return gsa.asset_type_id unless gsa.nil? || gsa.asset_type_id.nil?
279
+ return nil
280
+ end
281
+
282
+ # id within a system
283
+ def asset_id=(value)
284
+ @gsa.asset_id
285
+ # @asset_id = (value.class==Array) ? value[0] : value
286
+ end
287
+ # The asset type id lets us know what system is came from
288
+
289
+
290
+
126
291
  def primary_category
127
292
  return @primary.primary_category unless @primary.nil?
128
293
  load_datasources
@@ -152,8 +317,8 @@ module Active
152
317
  # end
153
318
 
154
319
  # returns the best address possible from the data returned by the GSA
155
- def address
156
- @gsa.address
320
+ #def address
321
+ # @gsa.address
157
322
  # returned_address = validated_address({})
158
323
  # returned_address = @primary.address unless (@primary.nil? || @primary.address.nil?)
159
324
  # load_datasources
@@ -182,7 +347,7 @@ module Active
182
347
  # end
183
348
  #
184
349
  # return returned_address
185
- end
350
+ #end
186
351
  # returns the best address possible by loading other data sources
187
352
  # 2. if the primary data source is unknow (ex asset_type_id is unknow ) we will return the GSA address.
188
353
  # 3. if no address but we have lat/lng we'll do a reverse look up
@@ -217,7 +382,9 @@ module Active
217
382
  end
218
383
 
219
384
  def user
220
- return @gsa.user
385
+ return @gsa.user if !@gsa.nil?
386
+ return @ats.user if !@ats.nil?
387
+ return @primary.user if !@primary.nil?
221
388
  end
222
389
 
223
390
  def _user
@@ -231,34 +398,8 @@ module Active
231
398
  u
232
399
  end
233
400
 
234
- def start_date
235
- return @gsa.start_date unless @gsa.nil?
236
- return nil
237
- end
238
-
239
- def start_time
240
- return @gsa.start_time unless @gsa.nil?
241
- return nil
242
- end
243
-
244
- def end_date
245
- return @gsa.end_date unless @gsa.nil?
246
- return nil
247
- end
248
401
 
249
- def end_time
250
- return @gsa.end_time unless @gsa.nil?
251
- return nil
252
- end
253
402
 
254
- def category
255
- return @primary.category unless @primary.nil?
256
- load_datasources
257
- return @ats.category unless @ats.nil?
258
- return @gsa.category unless @gsa.nil?
259
- return @category if @category
260
- primary_category
261
- end
262
403
 
263
404
  def contact_name
264
405
  return @primary.contact_name unless @primary.nil?
@@ -278,21 +419,12 @@ module Active
278
419
  return nil
279
420
  end
280
421
 
281
- def desc
282
- return @primary.desc unless @primary.nil?
283
- load_datasources
284
- return @ats.desc unless @ats.nil?
285
- return @gsa.desc unless @gsa.nil?
286
- return @desc if @desc
287
- return nil
288
- end
289
422
 
290
423
  def substitutionUrl
291
- return @primary.substitutionUrl unless @primary.nil?
292
- load_datasources
293
- return @ats.substitutionUrl unless @ats.nil?
294
- return @gsa.substitutionUrl unless @gsa.nil?
295
- return @substitutionUrl if @substitutionUrl
424
+ return @gsa.substitutionUrl if !@gsa.nil?
425
+ return @ats.substitutionUrl if !@ats.nil?
426
+ return @primary.substitutionUrl if !@primary.nil?
427
+
296
428
  return nil
297
429
  end
298
430
 
@@ -302,23 +434,25 @@ module Active
302
434
  # Activity.find_by_asset_id(:asset_id => "A9EF9D79-F859-4443-A9BB-91E1833DF2D5", :asset_type_id => "EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65")
303
435
  # Activity.find_by_asset_id(:asset_id => "A9EF9D79-F859-4443-A9BB-91E1833DF2D5")
304
436
  #
305
- def self.find_by_asset_id(data)
306
- if data.has_key?(:asset_id) and data.has_key?(:asset_type_id) == false
307
- @asset_id = data[:asset_id]
308
- begin
309
- return Activity.new(ATS.find_by_id(@asset_id))
310
- rescue ATSError => e
311
- raise ActivityFindError, "We could not find the activity with the asset_id of #{@asset_id}"
312
- end
313
- elsif data.has_key?(:substitutionUrl) and data.has_key?(:asset_type_id)
437
+ def self.find(data)
438
+ data = HashWithIndifferentAccess.new(data) || HashWithIndifferentAccess.new
439
+ if data.has_key?(:substitutionUrl) and data.has_key?(:asset_type_id)
314
440
  puts "look up data form the original source"
315
441
 
316
442
  if data[:asset_type_id]==REG_CENTER_ASSET_TYPE_ID || data[:asset_type_id]==REG_CENTER_ASSET_TYPE_ID2
317
443
  return Activity.new(RegCenter.find_by_id(data[:substitutionUrl]))
318
444
  elsif data[:asset_type_id]==ACTIVE_WORKS_ASSET_TYPE_ID
319
445
  return Activity.new(ActiveWorks.find_by_id(data[:substitutionUrl]))
446
+ else
447
+ return Activity.new(ATS.find_by_id(@asset_id))
448
+ end
449
+ elsif data.has_key?(:asset_id)
450
+ @asset_id = data[:asset_id]
451
+ begin
452
+ return Activity.new(ATS.find_by_id(@asset_id))
453
+ rescue ATSError => e
454
+ raise ActivityFindError, "We could not find the activity with the asset_id of #{@asset_id}"
320
455
  end
321
-
322
456
  end
323
457
  raise ActivityFindError, "We could not find the activity with the asset_id of #{@asset_id}"
324
458
 
@@ -134,7 +134,146 @@ describe Activity do
134
134
  g.user.email.should eql("eventinfo@sfaf.org")
135
135
  end
136
136
 
137
+ # title
138
+ it "should have a gsa title" do
139
+ @a.title.should eql("2011 Rohto Ironman 70.3 California")
140
+ end
141
+ it "should have a primary title" do
142
+ @a.primary_loaded?.should eql(false)
143
+ @a._title.should eql("2011 Rohto Ironman 70.3 California")
144
+ @a.primary_loaded?.should eql(true)
145
+ end
146
+ it "should have a gsa url" do
147
+ @a.url.should eql("http://www.active.com/triathlon/oceanside-ca/rohto-ironman-703-california-2011")
148
+ end
149
+ it "should have an ats url" do
150
+ @a.ats_loaded?.should eql(false)
151
+ @a._url.should eql("http://www.active.com/triathlon/oceanside-ca/rohto-ironman-703-california-2011")
152
+ @a.ats_loaded?.should eql(true)
153
+ end
154
+ it "should have a gsa categories" do
155
+ @a.categories.should eql(["Triathlon"])
156
+ end
157
+ it "should have an primary source categories" do
158
+ @a.primary_loaded?.should eql(false)
159
+ @a._categories.should eql(["Triathlon"])
160
+ @a.primary_loaded?.should eql(true)
161
+ end
162
+ it "should have a gsa address" do
163
+ @a.primary_loaded?.should eql(false)
164
+ @a.address["address"].should eql("1540 Harbor Drive North")
165
+ @a.primary_loaded?.should eql(false)
166
+ end
167
+ it "should have an primary source address" do
168
+ @a.primary_loaded?.should eql(false)
169
+ @a._address["address"].should eql("1540 Harbor Drive North")
170
+ @a.primary_loaded?.should eql(true)
171
+ end
172
+ it "should have a gsa start_date" do
173
+ @a.primary_loaded?.should eql(false)
174
+ @a.start_date.should be_an_instance_of(DateTime)
175
+ @a.primary_loaded?.should eql(false)
176
+ end
177
+ it "should have an primary source start_date" do
178
+ @a.primary_loaded?.should eql(false)
179
+ @a._start_date.should be_an_instance_of(DateTime)
180
+ @a.primary_loaded?.should eql(true)
181
+ end
182
+ it "should have a gsa start_time" do
183
+ @a.primary_loaded?.should eql(false)
184
+ @a.start_time.should be_an_instance_of(DateTime)
185
+ @a.primary_loaded?.should eql(false)
186
+ end
187
+ it "should have an primary source start_time" do
188
+ @a.primary_loaded?.should eql(false)
189
+ @a._start_time.should be_an_instance_of(DateTime)
190
+ @a.primary_loaded?.should eql(true)
191
+ end
192
+
193
+ it "should have a gsa end_date" do
194
+ @a.primary_loaded?.should eql(false)
195
+ @a.end_date.should be_an_instance_of(DateTime)
196
+ @a.primary_loaded?.should eql(false)
197
+ end
198
+ it "should have an primary source end_date" do
199
+ @a.primary_loaded?.should eql(false)
200
+ @a._end_date.should be_an_instance_of(DateTime)
201
+ @a.primary_loaded?.should eql(true)
202
+ end
137
203
 
204
+ it "should have a gsa end_time" do
205
+ @a.primary_loaded?.should eql(false)
206
+ @a.end_time.should be_an_instance_of(DateTime)
207
+ @a.primary_loaded?.should eql(false)
208
+ end
209
+ it "should have an primary source end_time" do
210
+ @a.primary_loaded?.should eql(false)
211
+ @a._end_time.should be_an_instance_of(DateTime)
212
+ @a.primary_loaded?.should eql(true)
213
+ end
214
+
215
+ it "should have a gsa category" do
216
+ @a.primary_loaded?.should eql(false)
217
+ @a.category.should eql("Triathlon")
218
+ @a.primary_loaded?.should eql(false)
219
+ end
220
+ it "should have an ats category" do
221
+ ats = Activity.new(ATS.find_by_id("77acabbd-ba83-4c78-925d-ce49deddf20c"))
222
+ ats.gsa_loaded?.should eql(false)
223
+ ats.category.should eql("Triathlon")
224
+ ats.primary_loaded?.should eql(false)
225
+ end
226
+ it "should have an primary source category" do
227
+ @a.primary_loaded?.should eql(false)
228
+ @a._category.should eql("Triathlon")
229
+ @a.primary_loaded?.should eql(true)
230
+ end
231
+
232
+ it "should have a gsa desc" do
233
+ @a.primary_loaded?.should eql(false)
234
+ @a.desc.should eql("")
235
+ @a.primary_loaded?.should eql(false)
236
+ end
237
+ it "should have an primary source desc" do
238
+ @a.primary_loaded?.should eql(false)
239
+ @a._desc.should_not eql("")
240
+ @a.primary_loaded?.should eql(true)
241
+ end
138
242
 
243
+ it "should have a gsa asset_id" do
244
+ @a.primary_loaded?.should eql(false)
245
+ @a.asset_id.should eql("77ACABBD-BA83-4C78-925D-CE49DEDDF20C")
246
+ @a.primary_loaded?.should eql(false)
247
+ end
248
+ it "should have an primary source asset_id" do
249
+ @a.primary_loaded?.should eql(false)
250
+ @a._asset_id.should eql("77acabbd-ba83-4c78-925d-ce49deddf20c")
251
+ @a.primary_loaded?.should eql(true)
252
+ end
253
+
254
+ it "should have a gsa asset_type_id" do
255
+ @a.primary_loaded?.should eql(false)
256
+ @a.asset_type_id.should eql("3BF82BBE-CF88-4E8C-A56F-78F5CE87E4C6")
257
+ @a.primary_loaded?.should eql(false)
258
+ end
259
+ it "should have an primary source asset_type_id" do
260
+ @a.primary_loaded?.should eql(false)
261
+ @a._asset_type_id.should eql("EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65")
262
+ @a.primary_loaded?.should eql(true)
263
+ end
264
+ it "should find by asset_id" do
265
+ @a = Activity.find({:asset_id=>"3292945B-08DE-41E5-BF6E-95ED5E59E800"})
266
+ @a.primary_loaded?.should eql(false)
267
+ @a._asset_type_id.should eql("EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65")
268
+ @a.primary_loaded?.should eql(true)
269
+ end
270
+ it "should find by substitutionUrl and asset_type_id" do
271
+ @a = Activity.find({:substitutionUrl=>"1877935", :asset_type_id=>"EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65"})
272
+ @a.primary_loaded?.should eql(true)
273
+ @a.gsa_loaded?.should eql(false)
274
+ @a.ats_loaded?.should eql(false)
275
+ @a._url.should eql("http://www.active.com/not-specified-recware-activities/antioch-ca/young-rembrandts-drawing-612-yrs-2010")
276
+ @a.ats_loaded?.should eql(true)
277
+ end
139
278
  end
140
279
  end
@@ -7,19 +7,22 @@ include Active::Services
7
7
  # x.report("array:") { Search.new({:keywords => %w(running swimming yoga)}) }
8
8
  # x.report("Array:") { Search.new({:keywords => ["running","swimming","yoga"]}) }
9
9
  # end
10
- arr = []
11
- Search.search(:num_results => 100, :page => 1).results.each do |a|
12
- match = (a.user.email == a.ats.contact_email)
13
- email = "--"
14
- if a.primary_source
15
- email = a.primary_source.user.email
16
- end
17
- arr << "#{a.asset_id}"
18
- arr << " GSA= #{a.user.email} ATS= #{a.ats.user.email} #{a.primary_source}=> #{email} "
19
- end
20
- puts " "
21
- puts " "
22
- puts " "
23
- puts " "
24
- puts " "
25
- puts arr
10
+
11
+ # arr = []
12
+ # Search.search(:num_results => 100, :page => 1).results.each do |a|
13
+ # match = (a.user.email == a.ats.contact_email)
14
+ # email = "--"
15
+ # if a.primary_source
16
+ # email = a.primary_source.user.email
17
+ # end
18
+ # arr << "#{a.asset_id}"
19
+ # arr << " GSA= #{a.user.email} ATS= #{a.ats.user.email} #{a.primary_source}=> #{email} "
20
+ # end
21
+ # puts " "
22
+ # puts " "
23
+ # puts " "
24
+ # puts " "
25
+ # puts " "
26
+ # puts arr
27
+
28
+ puts Search.search(:asset_id => "FBF1EF76-B8BF-427A-85DD-D310DB9E075D")
data/spec/gsa_spec.rb CHANGED
@@ -181,7 +181,12 @@ describe GSA do
181
181
  g.user.first_name.should eql("City")
182
182
  g.user.last_name.should eql("of San Diego")
183
183
  end
184
-
184
+ it "should have a valid first and last name" do
185
+ g = GSA.new(JSON.parse('{"escapedUrl":"http://www.active.com/running/san-ramon-ca/primos-run-for-education-2010","language":"en","title":"Primo\u0026#39;s Run for Education | San Ramon, California 94568 \u003cb\u003e...\u003c/b\u003e","url":"http://www.active.com/running/san-ramon-ca/primos-run-for-education-2010","summary":"Active partnered with ESPN. United States. United Kingdom Ireland France\u003cbr\u003e Italy Spain Sweden Germany Portugal Netherlands Austria Australia \u003cb\u003e...\u003c/b\u003e ","meta":{"startDate":"2010-10-11","eventDate":"2010-10-11T00:00:00-07:00","location":"Iron Horse School","tag":["event:10","Running:10"],"state":"California","eventLongitude":"-121.9074859","endDate":"2010-10-11","lastModifiedDateTime":"2010-10-12 10:16:46.88","splitMediaType":["Event","5K","Half Marathon","\u003ddifficulty:Beginner","\u003ddifficulty:Intermediate"],"locationName":"Iron Horse School","endTime":"0:00:00","mediaType":["Event","Event\\5K","Event\\Half Marathon","\u003ddifficulty:Beginner","\u003ddifficulty:Intermediate"],"city":"San Ramon","google-site-verification":"","estParticipants":"10000","startTime":"0:00:00","assetId":["FBF1EF76-B8BF-427A-85DD-D310DB9E075D","fbf1ef76-b8bf-427a-85dd-d310db9e075d"],"eventId":"1899115","participationCriteria":"Family","description":"","longitude":"-121.9074859","onlineDonationAvailable":"0","substitutionUrl":"1899115","assetName":["Primo\'s Run for Education","Primo\'s Run for Education"],"zip":"94568","contactPhone":"925-875-0405","sortDate":"2000-10-11","eventState":"California","eventLatitude":"37.7130380","keywords":"Event","eventResults":"http://results.active.com/pages/page.jsp?eventID\u003d1899115\u0026pubID\u003d3","contactEmail":"buzz@bwp.com","onlineMembershipAvailable":"0","dma":"San Francisco - Oakland - San Jose","trackbackurl":"http://www.active.com/running/san-ramon-ca/primos-run-for-education-2010","seourl":"http://www.active.com/running/san-ramon-ca/primos-run-for-education-2010","country":"United States","onlineRegistrationAvailable":"false","category":"Activities","market":"San Francisco - Oakland - San Jose","contactName":"Buzz Ayola# (ED_Use this one)","assetTypeId":"EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65","lastModifiedDate":"2010-10-12","eventZip":"94568","UpdateDateTime":"9/22/2010 11:46:24 AM","latitude":"37.7130380","channel":"Running"}}'))
186
+ g.user.first_name.should eql("Buzz")
187
+ g.user.last_name.should eql("Ayola")
188
+ g.title.should eql("Primo's Run for Education")
189
+ end
185
190
  it "should pull primary category from seo url" do
186
191
  g = GSA.new(JSON.parse('{"escapedUrl":"http://www.active.com/cycling/san-francisco-ca/seismic-challenge-30-2010","language":"en","title":"Seismic Challenge 3.0 | San Francisco, California 94101 \u003cb\u003e...\u003c/b\u003e","url":"http://www.active.com/cycling/san-francisco-ca/seismic-challenge-30-2010","summary":"","meta":{"startDate":"2010-10-02","eventDate":"2010-10-02T00:00:00-07:00","location":"San Francisco Bay","tag":"event:10","state":"California","eventLongitude":"-122.42","endDate":"2010-10-03","lastModifiedDateTime":"2010-10-04 03:08:51.65","splitMediaType":"Event","locationName":"San Francisco Bay","endTime":"0:00:00","mediaType":"Event","city":"San Francisco","google-site-verification":"","estParticipants":"2000","startTime":"0:00:00","assetId":["35A99FCB-E238-4D78-9205-96179F827CB0","35a99fcb-e238-4d78-9205-96179f827cb0"],"eventId":"1883181","participationCriteria":"All","description":"","longitude":"-122.42","onlineDonationAvailable":"0","substitutionUrl":"1883181","assetName":["Seismic Challenge 3.0","Seismic Challenge 3.0"],"eventURL":"http://greaterthanone.org/events/seismic-challenge/","zip":"94101","contactPhone":"415-487-3053","sortDate":"2000-10-02","eventState":"California","eventLatitude":"37.78","keywords":"Event","contactEmail":"eventinfo@sfaf.org","onlineMembershipAvailable":"0","dma":"San Francisco - Oakland - San Jose","trackbackurl":"http://www.active.com/cycling/san-francisco-ca/seismic-challenge-30-2010","seourl":"http://www.active.com/cycling/san-francisco-ca/seismic-challenge-30-2010","country":"United States","onlineRegistrationAvailable":"false","category":"Activities","market":"San Francisco - Oakland - San Jose","assetTypeId":"EA4E860A-9DCD-4DAA-A7CA-4A77AD194F65","lastModifiedDate":"2010-10-04","eventZip":"94101","UpdateDateTime":"9/22/2010 11:46:24 AM","latitude":"37.78","channel":"Running,Cycling"}}'))
187
192
  g.primary_category.should eql("Cycling")
data/version.txt CHANGED
@@ -1 +1 @@
1
- 0.0.24
1
+ 0.0.25
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 24
9
- version: 0.0.24
8
+ - 25
9
+ version: 0.0.25
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jonathan Spooner, Brian Levine
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-11 00:00:00 -07:00
17
+ date: 2010-10-12 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency