osm 1.2.16 → 1.2.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODIwM2UyMGRkZWZiZmMxN2Y5M2VhODlkZDgyZDhjY2Y2YzRhYjYyZQ==
4
+ ZTc1N2JkYjExMjkyOGE2YTRhMWViOTUyMjU0ZDEyM2Y4MTI5ZTA5Zg==
5
5
  data.tar.gz: !binary |-
6
- ZmQ1OWJlOWUyMDUzNWFiMzk5MGJjYmYwMzAxOWNjMWU3ZTdiMTRiOQ==
6
+ NGYzOGM2NTgyMTdlOTMyNzY4MGUwYWYxZDQwNzRiY2QxM2ExNTdhNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGUxNWIzNmE4MjlkMWQ1OTVhOTY2YTU3Y2VkMWZkYzZiMjFmZjk5Yzc1M2Qx
10
- ZmRkZjU5YjA3MjNjYTQ3ZTFiMmEzYzkwOWRiYTc3YzhjNmRiOGE1YWQyZDc0
11
- NDY3MWZkOTUwZjkwNTgyODk4MDY5Y2U3YzAzNGM5N2UwZDY5NDM=
9
+ ZGY4NGNiNzgwNTY3ODk1YTdlZjUxNTZmM2NhMzk3ZDJhZDQ0OGE4NTI0ZTIz
10
+ ZThjYTM0ZTc0YjA1ODVhZTUxYWEwZmQ0ZDEwMmQzYzQyODc2ZmNiNzJiMzY5
11
+ NzhlY2QxZDI5MTg4MDZlOTU2MzQ4Y2Q2ZDI1ODIzOGQ1ZjQyOGI=
12
12
  data.tar.gz: !binary |-
13
- ZjE4OWI0YzNjZTliMTc2NzAwN2Y4N2JmOGQ4ZGNmYjA2OTJhMWJkMGNlZWU5
14
- OTYxNjVhYTE5ZThjYjJhYWVmNjlmMWI1ZWQ3Yjg5ZWM5ZmQ0MGFkOTQ4ZTA1
15
- YjE0NDlkOTdiYmY2MzhhNTYwZDRjMTZhZjU4MjZmYTJiYmYwOTY=
13
+ MmYxYjc2YzU4NDVjZjc0YjkwNzdjNTk0ZWEwODI2ZjZhODcyOWM3NDU5ODMx
14
+ ZDE4M2JmNmE2Nzc0NjQ1NTM5N2E2OWUxYmZlNTM5Y2U3OGYwNmZmOWViMzc3
15
+ NDcxYmRiMDc5MzkyOGYxZWM4ZjcwNjliMmY1M2UwYmNlYWYyY2M=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## Version 1.2.17
2
+
3
+ * Update to match how OSM now lists activities within meetings.
4
+
1
5
  ## Version 1.2.16
2
6
 
3
7
  * Osm::Section gains instance methods:
data/lib/osm/meeting.rb CHANGED
@@ -105,6 +105,9 @@ module Osm
105
105
  attributes[:activities] = Array.new
106
106
  unless our_activities.nil?
107
107
  our_activities.each do |activity_data|
108
+ if activity_data.is_a?(Array)
109
+ activity_data = activity_data.find{ |a| a.is_a?(Hash) && a.has_key?('activityid') }
110
+ end
108
111
  attributes[:activities].push Osm::Meeting::Activity.new(
109
112
  :activity_id => Osm::to_i_or_nil(activity_data['activityid']),
110
113
  :title => activity_data['title'],
@@ -318,5 +318,29 @@ describe "Meeting" do
318
318
  meeting.delete(@api).should be_true
319
319
  end
320
320
 
321
+ end # Describe using API
322
+
323
+ describe "API Strangeness" do
324
+ it "Activity details is an Array [id, Hash]" do
325
+ body = {
326
+ "items" => [{"eveningid" => "5", "sectionid" =>"3", "title" => "Weekly Meeting 1", "notesforparents" => "parents", "games" => "games", "prenotes" => "before", "postnotes" => "after", "leaders" => "leaders", "meetingdate" => "2001-02-03", "starttime" => "19:15:00", "endtime" => "20:30:00", "googlecalendar" => ""}],
327
+ "activities" => {"5" => [
328
+ ["6", {"activityid" => "6", "title" => "Activity 6", "notes" => "Some notes", "eveningid" => "5"}],
329
+ ]},
330
+ "badgelinks" => {"5" => []},
331
+ }
332
+ FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/programme.php?action=getProgramme&sectionid=3&termid=4", :body => body.to_json, :content_type => 'application/json')
333
+
334
+ programme = Osm::Meeting.get_for_section(@api, 3, 4)
335
+ programme.size.should == 1
336
+ meeting = programme[0]
337
+ meeting.activities.size.should == 1
338
+ activity = meeting.activities[0]
339
+ activity.activity_id.should == 6
340
+ activity.title.should == 'Activity 6'
341
+ activity.notes.should == 'Some notes'
342
+ meeting.valid?.should be_true
343
+ end
321
344
  end
345
+
322
346
  end
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Osm
2
- VERSION = "1.2.16"
2
+ VERSION = "1.2.17"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: osm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.16
4
+ version: 1.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Gauld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-02 00:00:00.000000000 Z
11
+ date: 2014-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport