osm 1.0.4.dev → 1.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.
- data/CHANGELOG.md +2 -1
- data/lib/osm/member.rb +2 -2
- data/lib/osm/model.rb +7 -2
- data/spec/osm/member_spec.rb +6 -13
- data/version.rb +1 -1
- metadata +5 -5
data/CHANGELOG.md
CHANGED
data/lib/osm/member.rb
CHANGED
@@ -369,7 +369,7 @@ module Osm
|
|
369
369
|
|
370
370
|
# Get the My.SCOUT link for this member
|
371
371
|
# @param [Osm::Api] api The api to use to make the request
|
372
|
-
# @param [Symbol] link_to The page in My.SCOUT to link to (:payments, :events, :programme or :
|
372
|
+
# @param [Symbol] link_to The page in My.SCOUT to link to (:payments, :events, :programme, :badges or :notice)
|
373
373
|
# @return [String] the link for this member's My.SCOUT
|
374
374
|
# @raise [Osm::ObjectIsInvalid] If the Member is invalid
|
375
375
|
# @raise [Osm::ArgumentIsInvalid] If link_to is not an allowed Symbol
|
@@ -378,7 +378,7 @@ module Osm
|
|
378
378
|
raise Osm::ObjectIsInvalid, 'member is invalid' unless valid?
|
379
379
|
require_ability_to(api, :read, :member, section_id)
|
380
380
|
raise Osm::Error, 'the member does not already exist in OSM' if id.nil?
|
381
|
-
raise Osm::ArgumentIsInvalid, 'link_to is invalid' unless [:payments, :events, :programme, :badges].include?(link_to)
|
381
|
+
raise Osm::ArgumentIsInvalid, 'link_to is invalid' unless [:payments, :events, :programme, :badges, :notice].include?(link_to)
|
382
382
|
|
383
383
|
if @myscout_link_key.nil?
|
384
384
|
data = api.perform_query("api.php?action=getMyScoutKey§ionid=#{section_id}&scoutid=#{self.id}")
|
data/lib/osm/model.rb
CHANGED
@@ -178,6 +178,7 @@ module Osm
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
if section.nil? || section.subscription_level < level
|
181
|
+
level_name = ['Unknown', 'Bronze', 'Silver', 'Gold'][level]
|
181
182
|
raise Osm::Forbidden, "Insufficent OSM subscription level (#{level} required for #{section.name})"
|
182
183
|
end
|
183
184
|
end
|
@@ -190,8 +191,12 @@ module Osm
|
|
190
191
|
# @!macro options_get
|
191
192
|
def self.require_ability_to(api, to, on, section, options={})
|
192
193
|
require_permission(api, to, on, section, options)
|
193
|
-
|
194
|
-
|
194
|
+
if section.youth_section? && [:register, :contact, :events, :flexi].include?(on)
|
195
|
+
require_subscription(api, :silver, section, options)
|
196
|
+
end
|
197
|
+
if section.youth_section? && [:finance].include?(on)
|
198
|
+
require_subscription(api, :gold, section, options)
|
199
|
+
end
|
195
200
|
end
|
196
201
|
|
197
202
|
|
data/spec/osm/member_spec.rb
CHANGED
@@ -495,9 +495,7 @@ describe "Member" do
|
|
495
495
|
:grouping_id => '3',
|
496
496
|
:grouping_leader => 0,
|
497
497
|
)
|
498
|
-
end
|
499
498
|
|
500
|
-
it "Default" do
|
501
499
|
url = 'https://www.onlinescoutmanager.co.uk/api.php?action=getMyScoutKey§ionid=2&scoutid=1'
|
502
500
|
HTTParty.should_receive(:post).with(url, {:body => {
|
503
501
|
'apiid' => @CONFIGURATION[:api][:osm][:id],
|
@@ -505,39 +503,34 @@ describe "Member" do
|
|
505
503
|
'userid' => 'user_id',
|
506
504
|
'secret' => 'secret',
|
507
505
|
}}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true,"key":"KEY-HERE"}'}) }
|
506
|
+
end
|
507
|
+
|
508
|
+
it "Default" do
|
508
509
|
@member.myscout_link(@api).should == 'https://www.onlinescoutmanager.co.uk/parents/badges.php?sc=1&se=2&c=KEY-HERE'
|
509
510
|
end
|
510
511
|
|
511
512
|
it "Payments" do
|
512
|
-
url = 'https://www.onlinescoutmanager.co.uk/api.php?action=getMyScoutKey§ionid=2&scoutid=1'
|
513
|
-
FakeWeb.register_uri(:post, url, :body => '{"ok":true,"key":"KEY-HERE"}')
|
514
513
|
@member.myscout_link(@api, :payments).should == 'https://www.onlinescoutmanager.co.uk/parents/payments.php?sc=1&se=2&c=KEY-HERE'
|
515
514
|
end
|
516
515
|
|
517
516
|
it "Events" do
|
518
|
-
url = 'https://www.onlinescoutmanager.co.uk/api.php?action=getMyScoutKey§ionid=2&scoutid=1'
|
519
|
-
FakeWeb.register_uri(:post, url, :body => '{"ok":true,"key":"KEY-HERE"}')
|
520
517
|
@member.myscout_link(@api, :events).should == 'https://www.onlinescoutmanager.co.uk/parents/events.php?sc=1&se=2&c=KEY-HERE'
|
521
518
|
end
|
522
519
|
|
523
520
|
it "Programme" do
|
524
|
-
url = 'https://www.onlinescoutmanager.co.uk/api.php?action=getMyScoutKey§ionid=2&scoutid=1'
|
525
|
-
FakeWeb.register_uri(:post, url, :body => '{"ok":true,"key":"KEY-HERE"}')
|
526
521
|
@member.myscout_link(@api, :programme).should == 'https://www.onlinescoutmanager.co.uk/parents/programme.php?sc=1&se=2&c=KEY-HERE'
|
527
522
|
end
|
528
523
|
|
529
524
|
it "Badges" do
|
530
|
-
url = 'https://www.onlinescoutmanager.co.uk/api.php?action=getMyScoutKey§ionid=2&scoutid=1'
|
531
|
-
FakeWeb.register_uri(:post, url, :body => '{"ok":true,"key":"KEY-HERE"}')
|
532
525
|
@member.myscout_link(@api, :badges).should == 'https://www.onlinescoutmanager.co.uk/parents/badges.php?sc=1&se=2&c=KEY-HERE'
|
533
526
|
end
|
534
527
|
|
535
|
-
it "
|
536
|
-
|
528
|
+
it "Notice board" do
|
529
|
+
@member.myscout_link(@api, :notice).should == 'https://www.onlinescoutmanager.co.uk/parents/notice.php?sc=1&se=2&c=KEY-HERE'
|
537
530
|
end
|
538
531
|
|
539
532
|
end
|
540
533
|
|
541
534
|
end
|
542
535
|
|
543
|
-
end
|
536
|
+
end
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.4
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.4
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Robert Gauld
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -240,9 +240,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
240
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
241
|
none: false
|
242
242
|
requirements:
|
243
|
-
- - ! '
|
243
|
+
- - ! '>='
|
244
244
|
- !ruby/object:Gem::Version
|
245
|
-
version:
|
245
|
+
version: '0'
|
246
246
|
requirements: []
|
247
247
|
rubyforge_project: osm
|
248
248
|
rubygems_version: 1.8.25
|