osm 0.2.0 → 0.2.2
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.md +22 -0
- data/lib/osm/activity.rb +21 -0
- data/lib/osm/api_access.rb +1 -0
- data/lib/osm/event.rb +24 -0
- data/lib/osm/flexi_record.rb +37 -11
- data/lib/osm/grouping.rb +6 -0
- data/lib/osm/meeting.rb +16 -17
- data/lib/osm/member.rb +10 -0
- data/lib/osm/model.rb +25 -1
- data/lib/osm/register.rb +19 -1
- data/lib/osm/section.rb +10 -20
- data/lib/osm/term.rb +5 -19
- data/spec/osm/activity_spec.rb +44 -11
- data/spec/osm/api_access_spec.rb +8 -0
- data/spec/osm/event_spec.rb +37 -15
- data/spec/osm/flexi_record_spec.rb +67 -36
- data/spec/osm/grouping_spec.rb +10 -0
- data/spec/osm/meeting_spec.rb +23 -10
- data/spec/osm/member_spec.rb +14 -0
- data/spec/osm/model_spec.rb +54 -6
- data/spec/osm/register_spec.rb +21 -1
- data/spec/osm/section_spec.rb +8 -6
- data/spec/osm/term_spec.rb +1 -1
- data/version.rb +1 -1
- metadata +20 -20
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## Version 0.2.2
|
2
|
+
|
3
|
+
* Add comparing and sorting (using <=>, <, <=, >, >= and between?) to each model
|
4
|
+
* Activity - id then version
|
5
|
+
* Activity::File - activity\_id then name
|
6
|
+
* Activity::Version - activity\_id then version
|
7
|
+
* ApiAccess - id
|
8
|
+
* Event - start, name then id (shortcuts, returning 0 if ids are equal)
|
9
|
+
* Event::Column - event then id
|
10
|
+
* Event::Attendance - event then row
|
11
|
+
* FlexiRecord - section\_id then name
|
12
|
+
* FlexiRecord::Column - flexi\_record then id (system ones first then user ones)
|
13
|
+
* FlexiRecord::Data - flexi\_record, grouping\_id then member\_id
|
14
|
+
* Grouping - section\_id then name
|
15
|
+
* Meeting - section\_id, date, start\_time then id
|
16
|
+
* Meeting::Activity - title then activity\_id
|
17
|
+
* Member - section\_id, grouping\_id, grouping\_leader (descending), last\_name then first\_name
|
18
|
+
* Register::Field - id
|
19
|
+
* Register::Attendance - section\_id, grouping\_id, last\_name then first\_name
|
20
|
+
* Section - group\_name, type (by age) then name
|
21
|
+
* Term - section\_id, start then id
|
22
|
+
|
1
23
|
## Version 0.2.0
|
2
24
|
|
3
25
|
* Raises Forbidden exception if:
|
data/lib/osm/activity.rb
CHANGED
@@ -253,6 +253,13 @@ module Osm
|
|
253
253
|
end
|
254
254
|
end
|
255
255
|
|
256
|
+
# Compare Activity based on id then version
|
257
|
+
def <=>(another)
|
258
|
+
result = self.id <=> another.try(:id)
|
259
|
+
result = self.version <=> another.try(:version) if result == 0
|
260
|
+
return result
|
261
|
+
end
|
262
|
+
|
256
263
|
|
257
264
|
private
|
258
265
|
class File
|
@@ -284,6 +291,13 @@ module Osm
|
|
284
291
|
# Initialize a new Term
|
285
292
|
# @param [Hash] attributes The hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
286
293
|
|
294
|
+
# Compare File based on activity_id then name
|
295
|
+
def <=>(another)
|
296
|
+
result = self.activity_id <=> another.try(:activity_id)
|
297
|
+
result = self.name <=> another.try(:name) if result == 0
|
298
|
+
return result
|
299
|
+
end
|
300
|
+
|
287
301
|
end # Class Activity::File
|
288
302
|
|
289
303
|
class Badge
|
@@ -356,6 +370,13 @@ module Osm
|
|
356
370
|
# Initialize a new Version
|
357
371
|
# @param [Hash] attributes The hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
358
372
|
|
373
|
+
# Compare Version based on activity_id then version
|
374
|
+
def <=>(another)
|
375
|
+
result = self.activity_id <=> another.try(:activity_id)
|
376
|
+
result = self.version <=> another.try(:version) if result == 0
|
377
|
+
return result
|
378
|
+
end
|
379
|
+
|
359
380
|
end # Class Activity::Version
|
360
381
|
|
361
382
|
end # Class Activity
|
data/lib/osm/api_access.rb
CHANGED
data/lib/osm/event.rb
CHANGED
@@ -321,6 +321,15 @@ module Osm
|
|
321
321
|
return attendance_limit - attendees(api)
|
322
322
|
end
|
323
323
|
|
324
|
+
# Compare Event based on start, name then id
|
325
|
+
def <=>(another)
|
326
|
+
return 0 if self.id == another.try(:id)
|
327
|
+
result = self.start <=> another.try(:start)
|
328
|
+
result = self.name <=> another.try(:name) if result == 0
|
329
|
+
result = self.id <=> another.try(:id) if result == 0
|
330
|
+
return result
|
331
|
+
end
|
332
|
+
|
324
333
|
|
325
334
|
private
|
326
335
|
def attendees(api)
|
@@ -357,6 +366,7 @@ module Osm
|
|
357
366
|
end
|
358
367
|
event.columns = columns
|
359
368
|
return event
|
369
|
+
|
360
370
|
end
|
361
371
|
|
362
372
|
|
@@ -437,6 +447,13 @@ module Osm
|
|
437
447
|
return true
|
438
448
|
end
|
439
449
|
|
450
|
+
# Compare Column based on event then id
|
451
|
+
def <=>(another)
|
452
|
+
result = self.event <=> another.try(:event)
|
453
|
+
result = self.id <=> another.try(:id) if result == 0
|
454
|
+
return result
|
455
|
+
end
|
456
|
+
|
440
457
|
end # class Column
|
441
458
|
|
442
459
|
|
@@ -502,6 +519,13 @@ module Osm
|
|
502
519
|
end
|
503
520
|
end
|
504
521
|
|
522
|
+
# Compare Activity based on event then row
|
523
|
+
def <=>(another)
|
524
|
+
result = self.event <=> another.try(:event)
|
525
|
+
result = self.row <=> another.try(:row) if result == 0
|
526
|
+
return result
|
527
|
+
end
|
528
|
+
|
505
529
|
end # Class Attendance
|
506
530
|
|
507
531
|
end # Class Event
|
data/lib/osm/flexi_record.rb
CHANGED
@@ -28,7 +28,7 @@ module Osm
|
|
28
28
|
cache_key = ['flexi_record_columns', self.id]
|
29
29
|
|
30
30
|
if !options[:no_cache] && Osm::Model.cache_exist?(api, cache_key)
|
31
|
-
return
|
31
|
+
return cache_read(api, cache_key)
|
32
32
|
end
|
33
33
|
|
34
34
|
data = api.perform_query("extras.php?action=getExtra§ionid=#{self.section_id}&extraid=#{self.id}")
|
@@ -44,7 +44,7 @@ module Osm
|
|
44
44
|
)
|
45
45
|
end
|
46
46
|
end
|
47
|
-
|
47
|
+
cache_write(api, cache_key, structure)
|
48
48
|
|
49
49
|
return structure
|
50
50
|
end
|
@@ -65,7 +65,7 @@ module Osm
|
|
65
65
|
ActiveSupport::JSON.decode(data['config']).each do |field|
|
66
66
|
if field['name'] == name
|
67
67
|
# The cached fields for the flexi record will be out of date - remove them
|
68
|
-
|
68
|
+
cache_delete(api, ['flexi_record_columns', id])
|
69
69
|
return true
|
70
70
|
end
|
71
71
|
end
|
@@ -85,7 +85,7 @@ module Osm
|
|
85
85
|
cache_key = ['flexi_record_data', id, term_id]
|
86
86
|
|
87
87
|
if !options[:no_cache] && Osm::Model.cache_exist?(api, cache_key)
|
88
|
-
return
|
88
|
+
return cache_read(api, cache_key)
|
89
89
|
end
|
90
90
|
|
91
91
|
data = api.perform_query("extras.php?action=getExtraRecords§ionid=#{section.id}&extraid=#{id}&termid=#{term_id}§ion=#{section.type}")
|
@@ -112,17 +112,15 @@ module Osm
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
|
115
|
+
cache_write(api, cache_key, to_return)
|
116
116
|
return to_return
|
117
117
|
end
|
118
118
|
|
119
|
-
|
119
|
+
# Compare Activity based on section_id then name
|
120
120
|
def <=>(another)
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
return 1
|
125
|
-
end
|
121
|
+
result = self.section_id <=> another.try(:section_id)
|
122
|
+
result = self.name <=> another.try(:name) if result == 0
|
123
|
+
return result
|
126
124
|
end
|
127
125
|
|
128
126
|
|
@@ -208,6 +206,26 @@ module Osm
|
|
208
206
|
return true
|
209
207
|
end
|
210
208
|
|
209
|
+
# Compare Column based on flexi_record then id
|
210
|
+
def <=>(another)
|
211
|
+
result = self.flexi_record <=> another.try(:flexi_record)
|
212
|
+
if result == 0
|
213
|
+
if id.match(/\Af_\d+\Z/)
|
214
|
+
# This is a user column
|
215
|
+
unless another.try(:id).to_s.match(/\Af_\d+\Z/)
|
216
|
+
return 1
|
217
|
+
end
|
218
|
+
else
|
219
|
+
# This is a system column
|
220
|
+
if another.try(:id).to_s.match(/\Af_\d+\Z/)
|
221
|
+
return -1
|
222
|
+
end
|
223
|
+
end
|
224
|
+
result = self.id <=> another.try(:id)
|
225
|
+
end
|
226
|
+
return result
|
227
|
+
end
|
228
|
+
|
211
229
|
end # Class FlexiRecord::Column
|
212
230
|
|
213
231
|
|
@@ -280,6 +298,14 @@ module Osm
|
|
280
298
|
return updated
|
281
299
|
end
|
282
300
|
|
301
|
+
# Compare Data based on flexi_record, grouping_id then member_id
|
302
|
+
def <=>(another)
|
303
|
+
result = self.flexi_record <=> another.try(:flexi_record)
|
304
|
+
result = self.grouping_id <=> another.try(:grouping_id) if result == 0
|
305
|
+
result = self.member_id <=> another.try(:member_id) if result == 0
|
306
|
+
return result
|
307
|
+
end
|
308
|
+
|
283
309
|
end # Class FlexiRecord::Data
|
284
310
|
|
285
311
|
end # Class FlexiRecord
|
data/lib/osm/grouping.rb
CHANGED
@@ -104,6 +104,12 @@ module Osm
|
|
104
104
|
return result
|
105
105
|
end
|
106
106
|
|
107
|
+
# Compare Grouping based on section_id then name
|
108
|
+
def <=>(another)
|
109
|
+
result = self.section_id <=> another.try(:section_id)
|
110
|
+
result = self.name <=> another.try(:name) if result == 0
|
111
|
+
return result
|
112
|
+
end
|
107
113
|
|
108
114
|
end # Class Grouping
|
109
115
|
|
data/lib/osm/meeting.rb
CHANGED
@@ -241,26 +241,18 @@ module Osm
|
|
241
241
|
return data
|
242
242
|
end
|
243
243
|
|
244
|
-
|
244
|
+
# Compare Meeting based on section_id, date, start_time then id
|
245
245
|
def <=>(another)
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
compare = self.date <=> another.date
|
251
|
-
return compare unless compare == 0
|
252
|
-
|
246
|
+
result = self.section_id <=> another.try(:section_id)
|
247
|
+
result = self.date <=> another.try(:date) if result == 0
|
248
|
+
if result == 0
|
253
249
|
my_start_time = self.start_time.split(':').map{ |i| i.to_i }
|
254
250
|
another_start_time = another.start_time.split(':').map{ |i| i.to_i }
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
return self.id <=> another.id
|
261
|
-
rescue NoMethodError
|
262
|
-
return 0
|
263
|
-
end
|
251
|
+
result = my_start_time[0] <=> another_start_time[0] if result == 0
|
252
|
+
result = compare = my_start_time[1] <=> another_start_time[1] if result == 0
|
253
|
+
end
|
254
|
+
result = self.id <=> another.try(:id) if result == 0
|
255
|
+
return result
|
264
256
|
end
|
265
257
|
|
266
258
|
|
@@ -289,6 +281,13 @@ module Osm
|
|
289
281
|
# Initialize a new Meeting::Activity
|
290
282
|
# @param [Hash] attributes The hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
291
283
|
|
284
|
+
# Compare Activity based on title then activity_id
|
285
|
+
def <=>(another)
|
286
|
+
result = self.title <=> another.try(:title)
|
287
|
+
result = self.activity_id <=> another.try(:activity_id) if result == 0
|
288
|
+
return result
|
289
|
+
end
|
290
|
+
|
292
291
|
end # Class Meeting::Activity
|
293
292
|
|
294
293
|
end # Class Meeting
|
data/lib/osm/member.rb
CHANGED
@@ -389,6 +389,16 @@ module Osm
|
|
389
389
|
return "https://www.onlinescoutmanager.co.uk/parents/#{link_to}.php?sc=#{self.id}&se=#{section_id}&c=#{@myscout_link_key}"
|
390
390
|
end
|
391
391
|
|
392
|
+
# Compare Activity based on section_id, grouping_id, grouping_leader (descending), last_name then first_name
|
393
|
+
def <=>(another)
|
394
|
+
result = self.section_id <=> another.try(:section_id)
|
395
|
+
result = self.grouping_id <=> another.try(:grouping_id) if result == 0
|
396
|
+
result = -(self.grouping_leader <=> another.try(:grouping_leader)) if result == 0
|
397
|
+
result = self.last_name <=> another.try(:last_name) if result == 0
|
398
|
+
result = self.first_name <=> another.try(:last_name) if result == 0
|
399
|
+
return result
|
400
|
+
end
|
401
|
+
|
392
402
|
end # Class Member
|
393
403
|
|
394
404
|
end # Module
|
data/lib/osm/model.rb
CHANGED
@@ -38,10 +38,34 @@ module Osm
|
|
38
38
|
end
|
39
39
|
|
40
40
|
|
41
|
+
# Default to_i conversion is of id
|
41
42
|
def to_i
|
42
|
-
id
|
43
|
+
id.to_i
|
43
44
|
end
|
44
45
|
|
46
|
+
# Default compare based on id
|
47
|
+
def <=>(another)
|
48
|
+
return self.id <=> another.try(:id)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Add other compare functions
|
52
|
+
def <(another)
|
53
|
+
send('<=>', another) < 0
|
54
|
+
end
|
55
|
+
def <=(another)
|
56
|
+
send('<=>', another) <= 0
|
57
|
+
end
|
58
|
+
def >(another)
|
59
|
+
send('<=>', another) > 0
|
60
|
+
end
|
61
|
+
def >=(another)
|
62
|
+
send('<=>', another) >= 0
|
63
|
+
end
|
64
|
+
def between?(min, max)
|
65
|
+
(send('<=>', min) > 0) && (send('<=>', max) < 0)
|
66
|
+
end
|
67
|
+
|
68
|
+
|
45
69
|
# Get a list of attributes which have changed
|
46
70
|
# @return Array[String] the names of attributes which have changed
|
47
71
|
def changed_attributes
|
data/lib/osm/register.rb
CHANGED
@@ -143,10 +143,17 @@ module Osm
|
|
143
143
|
validates_presence_of :name
|
144
144
|
validates_presence_of :tooltip, :allow_blank => true
|
145
145
|
|
146
|
+
|
146
147
|
# @!method initialize
|
147
148
|
# Initialize a new RegisterField
|
148
149
|
# @param [Hash] attributes The hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
149
150
|
|
151
|
+
|
152
|
+
# Compare Field based on id then version
|
153
|
+
def <=>(another)
|
154
|
+
return self.id <=> another.try(:id)
|
155
|
+
end
|
156
|
+
|
150
157
|
end # Class Register::Field
|
151
158
|
|
152
159
|
|
@@ -185,11 +192,22 @@ module Osm
|
|
185
192
|
|
186
193
|
validates :attendance, :hash => {:key_type => Date, :value_in => ['Yes', 'No', nil]}
|
187
194
|
|
195
|
+
|
188
196
|
# @!method initialize
|
189
197
|
# Initialize a new registerData
|
190
198
|
# @param [Hash] attributes The hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
191
199
|
|
192
|
-
|
200
|
+
|
201
|
+
# Compare Attendance based on section_id, grouping_id, last_name then first_name
|
202
|
+
def <=>(another)
|
203
|
+
result = self.section_id <=> another.try(:section_id)
|
204
|
+
result = self.grouping_id <=> another.try(:grouping_id) if result == 0
|
205
|
+
result = self.last_name <=> another.try(:last_name) if result == 0
|
206
|
+
result = self.first_name <=> another.try(:last_name) if result == 0
|
207
|
+
return result
|
208
|
+
end
|
209
|
+
|
210
|
+
end # Class Register::Attendance
|
193
211
|
|
194
212
|
end # Class Register
|
195
213
|
|
data/lib/osm/section.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
module Osm
|
2
2
|
|
3
3
|
class Section < Osm::Model
|
4
|
-
class FlexiRecord; end # Ensure the constant exists for the validators
|
5
|
-
|
6
4
|
# @!attribute [rw] id
|
7
5
|
# @return [Fixnum] the id for the section
|
8
6
|
# @!attribute [rw] name
|
@@ -134,6 +132,7 @@ module Osm
|
|
134
132
|
validates :intouch_fields, :hash => {:key_type => Symbol, :value_in => [true, false]}
|
135
133
|
validates :mobile_fields, :hash => {:key_type => Symbol, :value_in => [true, false]}
|
136
134
|
validates :myscout_emails, :hash => {:key_in => [:email1, :email2, :email3, :email4], :value_in => [true, false]}
|
135
|
+
validates :flexi_records, :array_of => {:item_type => Osm::FlexiRecord, :item_valid => true}
|
137
136
|
|
138
137
|
|
139
138
|
# @!method initialize
|
@@ -356,27 +355,18 @@ module Osm
|
|
356
355
|
}[subscription_level]
|
357
356
|
end
|
358
357
|
|
358
|
+
# Compare Section based on group_name type (age order), then name
|
359
359
|
def <=>(another)
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
return -1 if type == type
|
367
|
-
return 1 if another.type == type
|
360
|
+
result = self.group_name <=> another.try(:group_name)
|
361
|
+
result = 0 if self.type == another.try(:type) && result == 0
|
362
|
+
[:beavers, :cubs, :scouts, :explorers, :waiting, :adults].each do |type|
|
363
|
+
if result == 0
|
364
|
+
result = -1 if self.type == type
|
365
|
+
result = 1 if another.try(:type) == type
|
368
366
|
end
|
369
|
-
rescue NoMethodError
|
370
|
-
return 1
|
371
|
-
end
|
372
|
-
end
|
373
|
-
|
374
|
-
def ==(another)
|
375
|
-
begin
|
376
|
-
return self.id == another.id
|
377
|
-
rescue NoMethodError
|
378
|
-
return false
|
379
367
|
end
|
368
|
+
result = self.name <=> another.try(:name) if result == 0
|
369
|
+
return result
|
380
370
|
end
|
381
371
|
|
382
372
|
end # Class Section
|
data/lib/osm/term.rb
CHANGED
@@ -222,26 +222,12 @@ module Osm
|
|
222
222
|
return (start <= date) && (finish >= date)
|
223
223
|
end
|
224
224
|
|
225
|
+
# Compare Term based on section_id, start then id
|
225
226
|
def <=>(another_term)
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
compare = self.start <=> another_term.start
|
231
|
-
return compare unless compare == 0
|
232
|
-
|
233
|
-
return self.id <=> another_term.id
|
234
|
-
rescue NoMethodError
|
235
|
-
return 0
|
236
|
-
end
|
237
|
-
end
|
238
|
-
|
239
|
-
def ==(another_term)
|
240
|
-
begin
|
241
|
-
return self.id == another_term.id
|
242
|
-
rescue NoMethodError
|
243
|
-
return false
|
244
|
-
end
|
227
|
+
result = self.section_id <=> another_term.section_id
|
228
|
+
result = self.start <=> another_term.start if result == 0
|
229
|
+
result = self.id <=> another_term.id if result == 0
|
230
|
+
return result
|
245
231
|
end
|
246
232
|
|
247
233
|
end # Class Term
|
data/spec/osm/activity_spec.rb
CHANGED
@@ -3,18 +3,51 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe "Activity" do
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
6
|
+
it "Get OSM link" do
|
7
|
+
activity = Osm::Activity.new(
|
8
|
+
:id => 1,
|
9
|
+
:running_time => 10,
|
10
|
+
:title => 'Title',
|
11
|
+
:description => 'Description',
|
12
|
+
:resources => 'Resources',
|
13
|
+
:instructions => 'Instructions',
|
14
|
+
:location => :indoors,
|
15
|
+
)
|
16
|
+
activity.osm_link.should == 'https://www.onlinescoutmanager.co.uk/?l=p1'
|
17
|
+
end
|
18
|
+
|
19
|
+
it "Sorts by id then version" do
|
20
|
+
a1 = Osm::Activity.new(:id => 1, :version => 1)
|
21
|
+
a2 = Osm::Activity.new(:id => 2, :version => 1)
|
22
|
+
a3 = Osm::Activity.new(:id => 2, :version => 2)
|
23
|
+
|
24
|
+
activities = [a2, a3, a1]
|
25
|
+
activities.sort.should == [a1, a2, a3]
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
describe "Activity::File" do
|
30
|
+
it "Sorts by activity_id then name" do
|
31
|
+
a1 = Osm::Activity::File.new(:activity_id => 1, :name => 'a')
|
32
|
+
a2 = Osm::Activity::File.new(:activity_id => 2, :name => 'a')
|
33
|
+
a3 = Osm::Activity::File.new(:activity_id => 2, :name => 'b')
|
34
|
+
|
35
|
+
activities = [a2, a3, a1]
|
36
|
+
activities.sort.should == [a1, a2, a3]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
describe "Activity::Version" do
|
42
|
+
it "Sorts by activity_id then version" do
|
43
|
+
a1 = Osm::Activity::File.new(:activity_id => 1, :version => 1)
|
44
|
+
a2 = Osm::Activity::File.new(:activity_id => 2, :version => 1)
|
45
|
+
a3 = Osm::Activity::File.new(:activity_id => 2, :version => 2)
|
46
|
+
|
47
|
+
activities = [a2, a3, a1]
|
48
|
+
activities.sort.should == [a1, a2, a3]
|
17
49
|
end
|
50
|
+
end
|
18
51
|
|
19
52
|
|
20
53
|
describe "Using The API" do
|
data/spec/osm/api_access_spec.rb
CHANGED
@@ -18,6 +18,14 @@ describe "API Access" do
|
|
18
18
|
api_access.valid?.should be_true
|
19
19
|
end
|
20
20
|
|
21
|
+
it "Sorts by id" do
|
22
|
+
a1 = Osm::ApiAccess.new(:id => 1)
|
23
|
+
a2 = Osm::ApiAccess.new(:id => 2)
|
24
|
+
|
25
|
+
data = [a2, a1]
|
26
|
+
data.sort.should == [a1, a2]
|
27
|
+
end
|
28
|
+
|
21
29
|
|
22
30
|
describe "Using the API" do
|
23
31
|
|
data/spec/osm/event_spec.rb
CHANGED
@@ -51,24 +51,46 @@ describe "Event" do
|
|
51
51
|
Osm::Event.new(:attendance_limit => 1).limited_attendance?.should be_true
|
52
52
|
end
|
53
53
|
|
54
|
+
it "Sorts by start, name then ID (unless IDs are equal)" do
|
55
|
+
e1 = Osm::Event.new(:start => '2000-01-01 01:00:00', :name => 'An event', :id => 1)
|
56
|
+
e2 = Osm::Event.new(:start => '2000-01-02 01:00:00', :name => 'An event', :id => 2)
|
57
|
+
e3 = Osm::Event.new(:start => '2000-01-02 01:00:00', :name => 'Event name', :id => 3)
|
58
|
+
e4 = Osm::Event.new(:start => '2000-01-02 01:00:00', :name => 'Event name', :id => 4)
|
59
|
+
events = [e2, e4, e3, e1]
|
60
|
+
|
61
|
+
events.sort.should == [e1, e2, e3, e4]
|
62
|
+
(Osm::Event.new(:id => 1) <=> Osm::Event.new(:id => 1)).should == 0
|
63
|
+
end
|
54
64
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
65
|
+
describe "Event::Attendance" do
|
66
|
+
|
67
|
+
it "Create" do
|
68
|
+
data = {
|
69
|
+
:member_id => 1,
|
70
|
+
:grouping_id => 2,
|
71
|
+
:row => 3,
|
72
|
+
:columns => [],
|
73
|
+
:event => Osm::Event.new(:id => 1, :section_id => 1, :name => 'Name', :columns => [])
|
74
|
+
}
|
63
75
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
76
|
+
ea = Osm::Event::Attendance.new(data)
|
77
|
+
ea.member_id.should == 1
|
78
|
+
ea.grouping_id.should == 2
|
79
|
+
ea.fields.should == {}
|
80
|
+
ea.row.should == 3
|
81
|
+
ea.valid?.should be_true
|
82
|
+
end
|
83
|
+
|
84
|
+
it "Sorts by event ID then row" do
|
85
|
+
ea1 = Osm::Event::Attendance.new(:event => Osm::Event.new(:id => 1), :row => 1)
|
86
|
+
ea2 = Osm::Event::Attendance.new(:event => Osm::Event.new(:id => 2), :row => 1)
|
87
|
+
ea3 = Osm::Event::Attendance.new(:event => Osm::Event.new(:id => 2), :row => 2)
|
88
|
+
event_attendances = [ea3, ea2, ea1]
|
71
89
|
|
90
|
+
event_attendances.sort.should == [ea1, ea2, ea3]
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
72
94
|
|
73
95
|
describe "Using the API" do
|
74
96
|
|
@@ -17,25 +17,58 @@ describe "Flexi Record" do
|
|
17
17
|
fr.valid?.should be_true
|
18
18
|
end
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
describe "FlexiRecord::Column" do
|
21
|
+
|
22
|
+
it "Create" do
|
23
|
+
field = Osm::FlexiRecord::Column.new(
|
24
|
+
:id => "f_1",
|
25
|
+
:name => "Field Name",
|
26
|
+
:editable => true,
|
27
|
+
:flexi_record => Osm::FlexiRecord.new(),
|
28
|
+
)
|
29
|
+
|
30
|
+
field.id.should == 'f_1'
|
31
|
+
field.name.should == 'Field Name'
|
32
|
+
field.editable.should be_true
|
33
|
+
field.valid?.should be_true
|
34
|
+
end
|
35
|
+
|
36
|
+
it "Sorts by flexirecord then id (system first then user)" do
|
37
|
+
frc1 = Osm::FlexiRecord::Column.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 1), :id => 'f_1')
|
38
|
+
frc2 = Osm::FlexiRecord::Column.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :id => 'a')
|
39
|
+
frc3 = Osm::FlexiRecord::Column.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :id => 'b')
|
40
|
+
frc4 = Osm::FlexiRecord::Column.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :id => 'f_1')
|
41
|
+
frc5 = Osm::FlexiRecord::Column.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :id => 'f_2')
|
42
|
+
|
43
|
+
columns = [frc3, frc2, frc1, frc5, frc4]
|
44
|
+
columns.sort.should == [frc1, frc2, frc3, frc4, frc5]
|
45
|
+
end
|
27
46
|
|
28
|
-
field.id.should == 'f_1'
|
29
|
-
field.name.should == 'Field Name'
|
30
|
-
field.editable.should be_true
|
31
|
-
field.valid?.should be_true
|
32
47
|
end
|
33
48
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
49
|
+
|
50
|
+
describe "FlexiRecord::Data" do
|
51
|
+
|
52
|
+
it "Create" do
|
53
|
+
rd = Osm::FlexiRecord::Data.new(
|
54
|
+
:member_id => 1,
|
55
|
+
:grouping_id => 2,
|
56
|
+
:fields => {
|
57
|
+
'firstname' => 'First',
|
58
|
+
'lastname' => 'Last',
|
59
|
+
'dob' => Date.new(1899, 11, 30),
|
60
|
+
'total' => 3,
|
61
|
+
'completed' => nil,
|
62
|
+
'age' => nil,
|
63
|
+
'f_1' => 'a',
|
64
|
+
'f_2' => 'b',
|
65
|
+
},
|
66
|
+
:flexi_record => Osm::FlexiRecord.new()
|
67
|
+
)
|
68
|
+
|
69
|
+
rd.member_id.should == 1
|
70
|
+
rd.grouping_id.should == 2
|
71
|
+
rd.fields.should == {
|
39
72
|
'firstname' => 'First',
|
40
73
|
'lastname' => 'Last',
|
41
74
|
'dob' => Date.new(1899, 11, 30),
|
@@ -44,29 +77,27 @@ describe "Flexi Record" do
|
|
44
77
|
'age' => nil,
|
45
78
|
'f_1' => 'a',
|
46
79
|
'f_2' => 'b',
|
47
|
-
}
|
48
|
-
|
49
|
-
|
80
|
+
}
|
81
|
+
rd.valid?.should be_true
|
82
|
+
end
|
83
|
+
|
84
|
+
it "Sorts by flexirecord, grouping_id then member_id" do
|
85
|
+
frd1 = Osm::FlexiRecord::Data.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 1), :grouping_id => 1, :member_id => 1)
|
86
|
+
frd2 = Osm::FlexiRecord::Data.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :grouping_id => 1, :member_id => 1)
|
87
|
+
frd3 = Osm::FlexiRecord::Data.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :grouping_id => 2, :member_id => 1)
|
88
|
+
frd4 = Osm::FlexiRecord::Data.new(:flexi_record => Osm::FlexiRecord.new(:section_id => 2), :grouping_id => 2, :member_id => 2)
|
89
|
+
|
90
|
+
datas = [frd3, frd2, frd1, frd4]
|
91
|
+
datas.sort.should == [frd1, frd2, frd3, frd4]
|
92
|
+
end
|
50
93
|
|
51
|
-
rd.member_id.should == 1
|
52
|
-
rd.grouping_id.should == 2
|
53
|
-
rd.fields.should == {
|
54
|
-
'firstname' => 'First',
|
55
|
-
'lastname' => 'Last',
|
56
|
-
'dob' => Date.new(1899, 11, 30),
|
57
|
-
'total' => 3,
|
58
|
-
'completed' => nil,
|
59
|
-
'age' => nil,
|
60
|
-
'f_1' => 'a',
|
61
|
-
'f_2' => 'b',
|
62
|
-
}
|
63
|
-
rd.valid?.should be_true
|
64
94
|
end
|
65
95
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
96
|
+
|
97
|
+
it "Sorts by section ID then name" do
|
98
|
+
fr1 = Osm::FlexiRecord.new(:section_id => 1, :name => 'A')
|
99
|
+
fr2 = Osm::FlexiRecord.new(:section_id => 2, :name => 'B')
|
100
|
+
fr3 = Osm::FlexiRecord.new(:section_id => 2, :name => 'C')
|
70
101
|
records = [fr2, fr1, fr3]
|
71
102
|
|
72
103
|
records.sort.should == [fr1, fr2, fr3]
|
data/spec/osm/grouping_spec.rb
CHANGED
@@ -3,6 +3,15 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe "Grouping" do
|
5
5
|
|
6
|
+
it "Sorts by section_id then name" do
|
7
|
+
g1 = Osm::Grouping.new(:section_id => 1, :name => 'a')
|
8
|
+
g2 = Osm::Grouping.new(:section_id => 2, :name => 'a')
|
9
|
+
g3 = Osm::Grouping.new(:section_id => 2, :name => 'b')
|
10
|
+
|
11
|
+
data = [g3, g1, g2]
|
12
|
+
data.sort.should == [g1, g2, g3]
|
13
|
+
end
|
14
|
+
|
6
15
|
describe "Using the API" do
|
7
16
|
|
8
17
|
it "Get for section" do
|
@@ -76,6 +85,7 @@ describe "Grouping" do
|
|
76
85
|
|
77
86
|
grouping.update(@api).should be_true
|
78
87
|
end
|
88
|
+
|
79
89
|
it "Update in OSM (failed)" do
|
80
90
|
grouping = Osm::Grouping.new(
|
81
91
|
:id => 1,
|
data/spec/osm/meeting_spec.rb
CHANGED
@@ -47,17 +47,30 @@ describe "Meeting" do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
50
|
+
describe "Meeting::Activity" do
|
51
|
+
|
52
|
+
it "Create Meeting::Activity" do
|
53
|
+
ea = Osm::Meeting::Activity.new(
|
54
|
+
:activity_id => 2,
|
55
|
+
:title => 'Activity Name',
|
56
|
+
:notes => 'Notes',
|
57
|
+
)
|
58
|
+
|
59
|
+
ea.activity_id.should == 2
|
60
|
+
ea.title.should == 'Activity Name'
|
61
|
+
ea.notes.should == 'Notes'
|
62
|
+
ea.valid?.should be_true
|
63
|
+
end
|
64
|
+
|
65
|
+
it "Sorts by title then activity_id" do
|
66
|
+
a1 = Osm::Meeting::Activity.new(:title => 'a', :activity_id => 1)
|
67
|
+
a2 = Osm::Meeting::Activity.new(:title => 'b', :activity_id => 1)
|
68
|
+
a3 = Osm::Meeting::Activity.new(:title => 'b', :activity_id => 2)
|
69
|
+
|
70
|
+
data = [a2, a3, a1]
|
71
|
+
data.sort.should == [a1, a2, a3]
|
72
|
+
end
|
56
73
|
|
57
|
-
ea.activity_id.should == 2
|
58
|
-
ea.title.should == 'Activity Name'
|
59
|
-
ea.notes.should == 'Notes'
|
60
|
-
ea.valid?.should be_true
|
61
74
|
end
|
62
75
|
|
63
76
|
|
data/spec/osm/member_spec.rb
CHANGED
@@ -113,6 +113,20 @@ describe "Member" do
|
|
113
113
|
end
|
114
114
|
|
115
115
|
|
116
|
+
it "Sorts by section_id, grouping_id, grouping_leader (descending), last_name then first_name" do
|
117
|
+
m1 = Osm::Member.new(:section_id => 1, :grouping_id => 1, :grouping_leader => 1, :last_name => 'a', :first_name => 'a')
|
118
|
+
m2 = Osm::Member.new(:section_id => 2, :grouping_id => 1, :grouping_leader => 1, :last_name => 'a', :first_name => 'a')
|
119
|
+
m3 = Osm::Member.new(:section_id => 2, :grouping_id => 2, :grouping_leader => 1, :last_name => 'a', :first_name => 'a')
|
120
|
+
m4 = Osm::Member.new(:section_id => 2, :grouping_id => 2, :grouping_leader => 0, :last_name => 'a', :first_name => 'a')
|
121
|
+
m5 = Osm::Member.new(:section_id => 2, :grouping_id => 2, :grouping_leader => 0, :last_name => 'a', :first_name => 'a')
|
122
|
+
m6 = Osm::Member.new(:section_id => 2, :grouping_id => 2, :grouping_leader => 0, :last_name => 'b', :first_name => 'a')
|
123
|
+
m7 = Osm::Member.new(:section_id => 2, :grouping_id => 2, :grouping_leader => 0, :last_name => 'b', :first_name => 'b')
|
124
|
+
|
125
|
+
data = [m4, m2, m3, m1, m7, m6, m5]
|
126
|
+
data.sort.should == [m1, m2, m3, m4, m5, m6, m7]
|
127
|
+
end
|
128
|
+
|
129
|
+
|
116
130
|
describe "Using the API" do
|
117
131
|
|
118
132
|
it "Create from API data" do
|
data/spec/osm/model_spec.rb
CHANGED
@@ -5,8 +5,8 @@ require 'spec_helper'
|
|
5
5
|
describe "Model" do
|
6
6
|
|
7
7
|
class ModelTester < Osm::Model
|
8
|
-
attribute :
|
9
|
-
attr_accessible :
|
8
|
+
attribute :id
|
9
|
+
attr_accessible :id
|
10
10
|
|
11
11
|
def self.test_get_config
|
12
12
|
{
|
@@ -120,15 +120,63 @@ describe "Model" do
|
|
120
120
|
|
121
121
|
|
122
122
|
describe "Track attribute changes" do
|
123
|
-
test = ModelTester.new(:
|
124
|
-
test.
|
123
|
+
test = ModelTester.new(:id => 1)
|
124
|
+
test.id.should == 1
|
125
125
|
test.changed_attributes.should == []
|
126
126
|
|
127
|
-
test.
|
128
|
-
test.changed_attributes.should == ['
|
127
|
+
test.id = 2
|
128
|
+
test.changed_attributes.should == ['id']
|
129
129
|
|
130
130
|
test.reset_changed_attributes
|
131
131
|
test.changed_attributes.should == []
|
132
132
|
end
|
133
133
|
|
134
|
+
|
135
|
+
describe "Comparisons" do
|
136
|
+
|
137
|
+
before :each do
|
138
|
+
@mt1 = ModelTester.new(:id => 1)
|
139
|
+
@mt2 = ModelTester.new(:id => 2)
|
140
|
+
@mt3 = ModelTester.new(:id => 3)
|
141
|
+
@mt2a = ModelTester.new(:id => 2)
|
142
|
+
end
|
143
|
+
|
144
|
+
it "<=>" do
|
145
|
+
(@mt1 <=> @mt2).should == -1
|
146
|
+
(@mt2 <=> @mt1).should == 1
|
147
|
+
(@mt2 <=> @mt2a).should == 0
|
148
|
+
end
|
149
|
+
|
150
|
+
it ">" do
|
151
|
+
(@mt1 > @mt2).should be_false
|
152
|
+
(@mt2 > @mt1).should be_true
|
153
|
+
(@mt2 > @mt2a).should be_false
|
154
|
+
end
|
155
|
+
|
156
|
+
it ">=" do
|
157
|
+
(@mt1 >= @mt2).should be_false
|
158
|
+
(@mt2 >= @mt1).should be_true
|
159
|
+
(@mt2 >= @mt2a).should be_true
|
160
|
+
end
|
161
|
+
|
162
|
+
it "<" do
|
163
|
+
(@mt1 < @mt2).should be_true
|
164
|
+
(@mt2 < @mt1).should be_false
|
165
|
+
(@mt2 < @mt2a).should be_false
|
166
|
+
end
|
167
|
+
|
168
|
+
it "<=" do
|
169
|
+
(@mt1 <= @mt2).should be_true
|
170
|
+
(@mt2 <= @mt1).should be_false
|
171
|
+
(@mt2 <= @mt2a).should be_true
|
172
|
+
end
|
173
|
+
|
174
|
+
it "between" do
|
175
|
+
@mt2.between?(@mt1, @mt3).should be_true
|
176
|
+
@mt1.between?(@mt1, @mt3).should be_false
|
177
|
+
@mt3.between?(@mt1, @mt3).should be_false
|
178
|
+
end
|
179
|
+
|
180
|
+
end
|
181
|
+
|
134
182
|
end
|
data/spec/osm/register_spec.rb
CHANGED
@@ -18,7 +18,16 @@ describe "Register" do
|
|
18
18
|
field.valid?.should be_true
|
19
19
|
end
|
20
20
|
|
21
|
-
it "
|
21
|
+
it "Sorts Field by id" do
|
22
|
+
a1 = Osm::Register::Field.new(:id => 'a')
|
23
|
+
a2 = Osm::Register::Field.new(:id => 'a')
|
24
|
+
|
25
|
+
data = [a2, a1]
|
26
|
+
data.sort.should == [a1, a2]
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
it "Create Attendance" do
|
22
31
|
rd = Osm::Register::Attendance.new(
|
23
32
|
:member_id => '1',
|
24
33
|
:first_name => 'A',
|
@@ -45,6 +54,17 @@ describe "Register" do
|
|
45
54
|
rd.valid?.should be_true
|
46
55
|
end
|
47
56
|
|
57
|
+
it "Sorts Attendance by section_id, grouping_id, last_name then first_name" do
|
58
|
+
d1 = Osm::Register::Attendance.new(:section_id => 1, :grouping_id => 1, :last_name => 'a', :first_name => 'a')
|
59
|
+
d2 = Osm::Register::Attendance.new(:section_id => 2, :grouping_id => 1, :last_name => 'a', :first_name => 'a')
|
60
|
+
d3 = Osm::Register::Attendance.new(:section_id => 2, :grouping_id => 2, :last_name => 'a', :first_name => 'a')
|
61
|
+
d4 = Osm::Register::Attendance.new(:section_id => 2, :grouping_id => 2, :last_name => 'b', :first_name => 'a')
|
62
|
+
d5 = Osm::Register::Attendance.new(:section_id => 2, :grouping_id => 2, :last_name => 'b', :first_name => 'b')
|
63
|
+
|
64
|
+
data = [d4, d3, d5, d2, d1]
|
65
|
+
data.sort.should == [d1, d2, d3, d4, d5]
|
66
|
+
end
|
67
|
+
|
48
68
|
|
49
69
|
describe "Using the API" do
|
50
70
|
|
data/spec/osm/section_spec.rb
CHANGED
@@ -228,12 +228,14 @@ describe "Section" do
|
|
228
228
|
end
|
229
229
|
|
230
230
|
|
231
|
-
it "Sorts by Group Name
|
232
|
-
section1 = Osm::Section.new(@attributes.merge(:group_id => 1, :group_name => '1st Somewhere', :type => :beavers))
|
233
|
-
section2 = Osm::Section.new(@attributes.merge(:group_id => 2, :group_name => '2nd Somewhere', :type => :beavers))
|
234
|
-
section3 = Osm::Section.new(@attributes.merge(:group_id => 2, :group_name => '2nd Somewhere', :type => :cubs))
|
235
|
-
|
236
|
-
|
231
|
+
it "Sorts by Group Name, section type (age order) then name" do
|
232
|
+
section1 = Osm::Section.new(@attributes.merge(:group_id => 1, :group_name => '1st Somewhere', :type => :beavers, :name => 'a'))
|
233
|
+
section2 = Osm::Section.new(@attributes.merge(:group_id => 2, :group_name => '2nd Somewhere', :type => :beavers, :name => 'a'))
|
234
|
+
section3 = Osm::Section.new(@attributes.merge(:group_id => 2, :group_name => '2nd Somewhere', :type => :cubs, :name => 'a'))
|
235
|
+
section4 = Osm::Section.new(@attributes.merge(:group_id => 2, :group_name => '2nd Somewhere', :type => :cubs, :name => 'b'))
|
236
|
+
|
237
|
+
data = [section2, section4, section3, section1]
|
238
|
+
data.sort.should == [section1, section2, section3, section4]
|
237
239
|
end
|
238
240
|
|
239
241
|
|
data/spec/osm/term_spec.rb
CHANGED
@@ -37,7 +37,7 @@ describe "Term" do
|
|
37
37
|
term.should_not == Osm::Term.new(@attributes.merge(:id => 3))
|
38
38
|
end
|
39
39
|
|
40
|
-
it "Sorts by Section ID, Start date and
|
40
|
+
it "Sorts by Section ID, Start date and then Term ID" do
|
41
41
|
term1 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 11, :start => (Date.today - 60), :finish => (Date.today - 1)))
|
42
42
|
term2 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 12, :start => (Date.today - 0), :finish => (Date.today + 0)))
|
43
43
|
term3 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 13, :start => (Date.today + 1), :finish => (Date.today + 60)))
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-24 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &86025430 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *86025430
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: httparty
|
27
|
-
requirement: &
|
27
|
+
requirement: &86024870 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0.9'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *86024870
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: active_attr
|
38
|
-
requirement: &
|
38
|
+
requirement: &86006950 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0.6'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *86006950
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activemodel
|
49
|
-
requirement: &
|
49
|
+
requirement: &86006710 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '3.2'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *86006710
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &86006480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '10.0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *86006480
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &86006220 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '2.11'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *86006220
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: fakeweb
|
82
|
-
requirement: &
|
82
|
+
requirement: &86005980 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '1.3'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *86005980
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: guard-rspec
|
93
|
-
requirement: &
|
93
|
+
requirement: &86005750 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '2.4'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *86005750
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rb-inotify
|
104
|
-
requirement: &
|
104
|
+
requirement: &86005510 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 0.8.8
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *86005510
|
113
113
|
description: Use the Online Scout Manager API (https://www.onlinescoutmanager.co.uk)
|
114
114
|
to retrieve and save data.
|
115
115
|
email:
|