osm 1.2.11 → 1.2.12
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/CHANGELOG.md +6 -0
- data/README.md +1 -0
- data/lib/osm/event.rb +12 -9
- data/lib/osm/member.rb +12 -0
- data/spec/osm/event_spec.rb +9 -6
- data/spec/osm/member_spec.rb +11 -0
- data/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTNjYzU0YTc4NDUxYTkwY2JiMmZhY2U3MTkxNDgyZTgwMWYyYmZmNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmE0YTNhOWM3MGRkZmEzNDk4ZmE4MzI2NTQ0M2E5OGU5ODNkNDg2Ng==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
M2ZhMjBjNjVlYmY2YzY1MjBmZGVkMGQwNmQ1NjMyOGZhZGUyYmU0ODI3ZWU1
|
10
|
+
MTEzMmI0MDU0MTU1ODllODRiYWU4MjdjNGQ2MWM3NGQ3Mjk4NTFiYmRkMDU3
|
11
|
+
YTU2MTQ5YjM4MzExNDZjZWJmZDU2Y2U2NWJkMzdjOTdmMzgzOWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YmMwMjkwNTk2M2M3ZWUxOGMwMTNlNzZjZTAyMGRhZTg3OWVjMTI2NTM2Njlh
|
14
|
+
OTk2MDIyNGRjNDlhZWFlZTEwNDQzNjBlNzU1OGFlODcyOWUxODNiNzFjMTA2
|
15
|
+
NjY2NDI1ZmRiNjNiNDQ2NzAwMzRkYjI3N2JhNDMzMzBiNDk2YWI=
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## Version 1.2.12
|
2
|
+
|
3
|
+
* Add leader? method to member (true if member is in the leaders grouping)
|
4
|
+
* Add youth? method to member (true if member is in a non-leaders grouping)
|
5
|
+
* Adjust Osm::Event::BadgeLink attributes (label becomes requirement\_label, add badge\_label)
|
6
|
+
|
1
7
|
## Version 1.2.11
|
2
8
|
|
3
9
|
* Fix handling blank event config from OSM (JSON parse error)
|
data/README.md
CHANGED
data/lib/osm/event.rb
CHANGED
@@ -245,7 +245,7 @@ module Osm
|
|
245
245
|
'badge' => badge.badge_key,
|
246
246
|
'columnname' => badge.requirement_key,
|
247
247
|
'data' => badge.data,
|
248
|
-
'newcolumnname' => badge.
|
248
|
+
'newcolumnname' => badge.requirement_label,
|
249
249
|
})
|
250
250
|
badges_created = false unless badge_data.is_a?(Hash) && badge_data['ok']
|
251
251
|
end
|
@@ -329,7 +329,7 @@ module Osm
|
|
329
329
|
'badge' => badge.badge_key,
|
330
330
|
'columnname' => badge.requirement_key,
|
331
331
|
'data' => badge.data,
|
332
|
-
'newcolumnname' => badge.
|
332
|
+
'newcolumnname' => badge.requirement_label,
|
333
333
|
'badgetype' => badge.badge_type,
|
334
334
|
})
|
335
335
|
end
|
@@ -350,7 +350,7 @@ module Osm
|
|
350
350
|
'badge' => badge.badge_key,
|
351
351
|
'columnname' => badge.requirement_key,
|
352
352
|
'data' => badge.data,
|
353
|
-
'newcolumnname' => badge.
|
353
|
+
'newcolumnname' => badge.requirement_label,
|
354
354
|
'badgetype' => badge.badge_type,
|
355
355
|
})
|
356
356
|
end
|
@@ -563,7 +563,7 @@ module Osm
|
|
563
563
|
badges_data = event_data['badgelinks']
|
564
564
|
badges_data = [] unless badges_data.is_a?(Array)
|
565
565
|
badges_data.each do |field|
|
566
|
-
badges.push BadgeLink.new(badge_key: field['badge'], badge_type: field['badgetype'].to_sym, badge_section: field['section'].to_sym, requirement_key: field['columnname'],
|
566
|
+
badges.push BadgeLink.new(badge_key: field['badge'], badge_type: field['badgetype'].to_sym, badge_section: field['section'].to_sym, requirement_key: field['columnname'], badge_label: field['badgeLongName'], requirement_label: field['columnnameLongName'], data: field['data'])
|
567
567
|
end
|
568
568
|
event.badges = badges
|
569
569
|
|
@@ -571,7 +571,7 @@ module Osm
|
|
571
571
|
end
|
572
572
|
|
573
573
|
|
574
|
-
# When creating a BadgeLink for an existing column in a hikes/nights badge the
|
574
|
+
# When creating a BadgeLink for an existing column in a hikes/nights badge the requirement_label is optional
|
575
575
|
# When creating a BadgeLink for a new column in a hikes/nights badge the requirement_key MUST be blank
|
576
576
|
# TODO : Add validation for above statements
|
577
577
|
class BadgeLink
|
@@ -582,12 +582,14 @@ module Osm
|
|
582
582
|
# @return [String] the badge being done
|
583
583
|
# @!attribute [rw] badge_type
|
584
584
|
# @return [Symbol] the type of badge
|
585
|
+
# @!attribute [rw] badge_label
|
586
|
+
# @return [String] human friendly badge name
|
585
587
|
# @!attribute [rw] requirement_key
|
586
588
|
# @return [String] the requirement being done
|
587
589
|
# @!attribute [rw] badge_section
|
588
590
|
# @return [Symbol] the section type that the badge belongs to
|
589
|
-
# @!attribute [rw]
|
590
|
-
# @return [String] human firendly label
|
591
|
+
# @!attribute [rw] requirement_label
|
592
|
+
# @return [String] human firendly requirement label
|
591
593
|
# @!attribute [rw] data
|
592
594
|
# @return [String] what to put in the column when the badge records are updated
|
593
595
|
|
@@ -595,11 +597,12 @@ module Osm
|
|
595
597
|
attribute :badge_type, :type => Object
|
596
598
|
attribute :requirement_key, :type => String
|
597
599
|
attribute :badge_section, :type => Object
|
598
|
-
attribute :
|
600
|
+
attribute :badge_label, :type => String
|
601
|
+
attribute :requirement_label, :type => String
|
599
602
|
attribute :data, :type => String
|
600
603
|
|
601
604
|
if ActiveModel::VERSION::MAJOR < 4
|
602
|
-
attr_accessible :badge_key, :badge_type, :requirement_key, :badge_section, :
|
605
|
+
attr_accessible :badge_key, :badge_type, :requirement_key, :badge_section, :badge_label, :requirement_label, :data
|
603
606
|
end
|
604
607
|
|
605
608
|
validates_presence_of :badge_key
|
data/lib/osm/member.rb
CHANGED
@@ -380,6 +380,18 @@ module Osm
|
|
380
380
|
return "#{first_name}#{seperator.to_s}#{last_name}"
|
381
381
|
end
|
382
382
|
|
383
|
+
# Check if the member is in the leaders grouping
|
384
|
+
# @return [Boolean]
|
385
|
+
def leader?
|
386
|
+
grouping_id.eql?(-2)
|
387
|
+
end
|
388
|
+
|
389
|
+
# Check if the member is in a non-leaders grouping
|
390
|
+
# @return [Boolean]
|
391
|
+
def youth?
|
392
|
+
grouping_id > 0
|
393
|
+
end
|
394
|
+
|
383
395
|
# Get the Key to use in My.SCOUT links for this member
|
384
396
|
# @param [Osm::Api] api The api to use to make the request
|
385
397
|
# @return [String] the key
|
data/spec/osm/event_spec.rb
CHANGED
@@ -127,7 +127,8 @@ describe "Event" do
|
|
127
127
|
:badge_type => :activity,
|
128
128
|
:requirement_key => 'a_01',
|
129
129
|
:badge_section => :cubs,
|
130
|
-
:
|
130
|
+
:requirement_label => 'A: Poster',
|
131
|
+
:badge_label => 'Artist',
|
131
132
|
:data => 'abc'
|
132
133
|
)
|
133
134
|
|
@@ -135,7 +136,8 @@ describe "Event" do
|
|
135
136
|
bl.badge_type.should == :activity
|
136
137
|
bl.requirement_key.should == 'a_01'
|
137
138
|
bl.badge_section.should == :cubs
|
138
|
-
bl.
|
139
|
+
bl.badge_label.should == 'Artist'
|
140
|
+
bl.requirement_label.should == 'A: Poster'
|
139
141
|
bl.data.should == 'abc'
|
140
142
|
bl.valid?.should be_true
|
141
143
|
end
|
@@ -236,11 +238,12 @@ describe "Event" do
|
|
236
238
|
event.columns[0].label.should == 'Label'
|
237
239
|
event.columns[0].parent_required.should be_true
|
238
240
|
event.badges[0].badge_key.should == 'athletics'
|
241
|
+
event.badges[0].badge_label.should == 'Athletics'
|
239
242
|
event.badges[0].badge_section.should == :cubs
|
240
243
|
event.badges[0].badge_type.should == :activity
|
241
244
|
event.badges[0].requirement_key.should == 'b_06'
|
242
245
|
event.badges[0].data.should == ''
|
243
|
-
event.badges[0].
|
246
|
+
event.badges[0].requirement_label.should == 'B: Run'
|
244
247
|
event.badges[1].badge_key.should == 'hikes'
|
245
248
|
event.badges[1].badge_section.should == :staged
|
246
249
|
event.badges[1].badge_type.should == :staged
|
@@ -624,7 +627,7 @@ describe "Event" do
|
|
624
627
|
badge_type: :activity,
|
625
628
|
requirement_key: 'a_01',
|
626
629
|
badge_section: :beavers,
|
627
|
-
|
630
|
+
requirement_label: '',
|
628
631
|
data: '',
|
629
632
|
)]
|
630
633
|
event = Osm::Event.create(@api, @attributes)
|
@@ -652,7 +655,7 @@ describe "Event" do
|
|
652
655
|
badge_type: :staged,
|
653
656
|
requirement_key: '',
|
654
657
|
badge_section: :staged,
|
655
|
-
|
658
|
+
requirement_label: 'Label for added column',
|
656
659
|
data: '1',
|
657
660
|
)]
|
658
661
|
event = Osm::Event.create(@api, @attributes)
|
@@ -680,7 +683,7 @@ describe "Event" do
|
|
680
683
|
badge_type: :staged,
|
681
684
|
requirement_key: 'custom_01234',
|
682
685
|
badge_section: :staged,
|
683
|
-
|
686
|
+
requirement_label: '',
|
684
687
|
data: '2',
|
685
688
|
)]
|
686
689
|
event = Osm::Event.create(@api, @attributes)
|
data/spec/osm/member_spec.rb
CHANGED
@@ -101,6 +101,17 @@ describe "Member" do
|
|
101
101
|
member.name('_').should == 'First_Last'
|
102
102
|
end
|
103
103
|
|
104
|
+
it "Tells if member is a leader" do
|
105
|
+
Osm::Member.new(grouping_id: -2).leader?.should be_true # In the leader grouping
|
106
|
+
Osm::Member.new(grouping_id: 2).leader?.should be_false # In a youth grouping
|
107
|
+
Osm::Member.new(grouping_id: 0).leader?.should be_false # Not in a grouping
|
108
|
+
end
|
109
|
+
|
110
|
+
it "Tells if member is a youth member" do
|
111
|
+
Osm::Member.new(grouping_id: -2).youth?.should be_false # In the leader grouping
|
112
|
+
Osm::Member.new(grouping_id: 2).youth?.should be_true # In a youth grouping
|
113
|
+
Osm::Member.new(grouping_id: 0).youth?.should be_false # Not in a grouping
|
114
|
+
end
|
104
115
|
|
105
116
|
it "Provides each part of age" do
|
106
117
|
data = {
|
data/version.rb
CHANGED
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.
|
4
|
+
version: 1.2.12
|
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-04-
|
11
|
+
date: 2014-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|