osm 0.0.14 → 0.0.15
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 +6 -1
- data/lib/osm/member.rb +4 -6
- data/lib/osm/role.rb +10 -3
- data/lib/osm/section.rb +1 -2
- data/version.rb +1 -1
- metadata +11 -11
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,12 @@
|
|
1
|
-
## Version 0.0.
|
1
|
+
## Version 0.0.15
|
2
2
|
|
3
3
|
* Add :debug option to Api.configure
|
4
4
|
* -2 is a valid grouping\_id value
|
5
|
+
* Fix check of :section\_id in Member.initalize (apparently 0 is allowd in the API return data)
|
6
|
+
* Fix role's section not being set from API data
|
7
|
+
|
8
|
+
## Version 0.0.14
|
9
|
+
|
5
10
|
* Fix Api.get_register\_data\ returning wrong object
|
6
11
|
* Fix check of :num\_scouts in Section.initalize
|
7
12
|
|
data/lib/osm/member.rb
CHANGED
@@ -68,13 +68,11 @@ module Osm
|
|
68
68
|
# Initialize a new Member
|
69
69
|
# @param [Hash] attributes the hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
70
70
|
def initialize(attributes={})
|
71
|
-
[:id, :section_id].each do |attribute|
|
72
|
-
raise ArgumentError, ":#{attribute} must be nil or a Fixnum
|
71
|
+
[:id, :section_id, :grouping_leader].each do |attribute|
|
72
|
+
raise ArgumentError, ":#{attribute} must be nil or a Fixnum >= 0" unless attributes[attribute].nil? || (attributes[attribute].is_a?(Fixnum) && attributes[attribute] >= 0)
|
73
73
|
end
|
74
74
|
raise ArgumentError, ':grouping_id must be nil or a Fixnum >= -2' unless attributes[:grouping_id].nil? || (attributes[:grouping_id].is_a?(Fixnum) && attributes[:grouping_id] >= -2)
|
75
|
-
[:joined_years
|
76
|
-
raise ArgumentError, ":#{attribute} must be nil or a Fixnum >= -1" unless attributes[attribute].nil? || (attributes[attribute].is_a?(Fixnum) && attributes[attribute] >= -1)
|
77
|
-
end
|
75
|
+
raise ArgumentError, ':joined_years must be nil or a Fixnum >= -1' unless attributes[:joined_years].nil? || (attributes[:joined_years].is_a?(Fixnum) && attributes[:joined_years] >= -1)
|
78
76
|
raise ArgumentError, ':joining_in_years must be nil or a Fixnum' unless attributes[:joining_in_years].nil? || attributes[:joining_in_years].is_a?(Fixnum)
|
79
77
|
[:type, :first_name, :last_name, :email1, :email2, :email3, :email4, :phone1, :phone2, :phone3, :phone4, :address, :address2, :parents, :notes, :medical, :religion, :school, :ethnicity, :subs, :age].each do |attribute|
|
80
78
|
raise ArgumentError, ":#{attribute} must be nil or a String" unless attributes[attribute].nil? || attributes[attribute].is_a?(String)
|
@@ -117,7 +115,7 @@ module Osm
|
|
117
115
|
:ethnicity => data['ethnicity'],
|
118
116
|
:subs => data['subs'],
|
119
117
|
:grouping_id => Osm::to_i_or_nil(data['patrolidO']),
|
120
|
-
:grouping_leader => data['patrolleaderO'],
|
118
|
+
:grouping_leader => Osm::to_i_or_nil(data['patrolleaderO']),
|
121
119
|
:joined => Osm::parse_date(data['joined']),
|
122
120
|
:age => data['age'],
|
123
121
|
:joined_years => data['yrs'].to_i,
|
data/lib/osm/role.rb
CHANGED
@@ -3,7 +3,8 @@ module Osm
|
|
3
3
|
class Role
|
4
4
|
|
5
5
|
attr_reader :section, :group_name, :group_id, :permissions
|
6
|
-
# @!attribute [
|
6
|
+
# @!attribute [rw] section
|
7
|
+
# @param [Osm::Section] section the section this role is related to (can only be set once)
|
7
8
|
# @return [Osm::Section] the section this role related to
|
8
9
|
# @!attribute [r] group_name
|
9
10
|
# @return [String] the name of the group the section is in
|
@@ -30,7 +31,6 @@ module Osm
|
|
30
31
|
# @param [Hash] data the hash of data provided by the API
|
31
32
|
def self.from_api(data)
|
32
33
|
attributes = {}
|
33
|
-
attributes[:section] = Osm::Section.from_api(data['sectionid'], data['sectionname'], ActiveSupport::JSON.decode(data['sectionConfig']), self)
|
34
34
|
attributes[:group_name] = data['groupname']
|
35
35
|
attributes[:group_id] = Osm::to_i_or_nil(data['groupid'])
|
36
36
|
|
@@ -40,7 +40,14 @@ module Osm
|
|
40
40
|
permissions[key] = permissions[key].to_i
|
41
41
|
end
|
42
42
|
|
43
|
-
new(attributes.merge(:permissions => permissions))
|
43
|
+
role = new(attributes.merge(:permissions => permissions))
|
44
|
+
role.section = Osm::Section.from_api(data['sectionid'], data['sectionname'], ActiveSupport::JSON.decode(data['sectionConfig']), role)
|
45
|
+
return role
|
46
|
+
end
|
47
|
+
|
48
|
+
def section=(section)
|
49
|
+
raise ArgumentError, 'section must be an Osm::Section' unless section.is_a?(Osm::Section)
|
50
|
+
@section = section if @section.nil?
|
44
51
|
end
|
45
52
|
|
46
53
|
# Determine if this role has read access for the provided permission
|
data/lib/osm/section.rb
CHANGED
@@ -32,7 +32,6 @@ module Osm
|
|
32
32
|
# Initialize a new Section
|
33
33
|
# @param [Hash] attributes the hash of attributes (see attributes for descriptions, use Symbol of attribute name as the key)
|
34
34
|
def initialize(attributes={})
|
35
|
-
puts ":num_scouts = #{attributes[:num_scouts].inspect}"
|
36
35
|
raise ArgumentError, ':id must be nil or a Fixnum > 0' unless attributes[:id].nil? || (attributes[:id].is_a?(Fixnum) && attributes[:id] > 0)
|
37
36
|
raise ArgumentError, ':section_name must be nil or a String' unless attributes[:section_name].nil? || attributes[:section_name].is_a?(String)
|
38
37
|
raise ArgumentError, ':num_scouts must be nil or a Fixnum >= 0' unless attributes[:num_scouts].nil? || (attributes[:num_scouts].is_a?(Fixnum) && attributes[:num_scouts] >= 0)
|
@@ -61,7 +60,7 @@ puts ":num_scouts = #{attributes[:num_scouts].inspect}"
|
|
61
60
|
# @param [Fixnum] id the section ID used by the API to refer to this section
|
62
61
|
# @param [String] name the name given to the sction in OSM
|
63
62
|
# @param [Hash] data the hash of data for the object returned by the API
|
64
|
-
# @param
|
63
|
+
# @param [Osm::Role] role the Osm::Role linked with this section
|
65
64
|
def self.from_api(id, name, data, role)
|
66
65
|
subscription_levels = [:bronze, :silver, :gold]
|
67
66
|
subscription_level = data['subscription_level'].to_i - 1
|
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.0.
|
4
|
+
version: 0.0.15
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-08-30 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &76203780 !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: *76203780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: httparty
|
27
|
-
requirement: &
|
27
|
+
requirement: &76203550 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *76203550
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &76203320 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *76203320
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &76203080 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *76203080
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: fakeweb
|
60
|
-
requirement: &
|
60
|
+
requirement: &76202860 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *76202860
|
69
69
|
description: Use the Online Scout Manager API (https://www.onlinescoutmanager.co.uk)
|
70
70
|
to retrieve and save data.
|
71
71
|
email:
|