osm 0.1.8 → 0.1.9
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 +5 -0
- data/lib/osm/event.rb +4 -4
- data/lib/osm/member.rb +6 -5
- data/spec/osm/member_spec.rb +21 -0
- data/version.rb +1 -1
- metadata +22 -17
data/CHANGELOG.md
CHANGED
data/lib/osm/event.rb
CHANGED
@@ -135,12 +135,12 @@ module Osm
|
|
135
135
|
data = api.perform_query("events.php?action=addEvent§ionid=#{event.section_id}", {
|
136
136
|
'name' => event.name,
|
137
137
|
'location' => event.location,
|
138
|
-
'startdate' => event.start.strftime(Osm::OSM_DATE_FORMAT),
|
139
|
-
'enddate' => event.finish.strftime(Osm::OSM_DATE_FORMAT),
|
138
|
+
'startdate' => event.start? ? event.start.strftime(Osm::OSM_DATE_FORMAT) : '',
|
139
|
+
'enddate' => event.finish? ? event.finish.strftime(Osm::OSM_DATE_FORMAT) : '',
|
140
140
|
'cost' => event.cost,
|
141
141
|
'notes' => event.notes,
|
142
|
-
'starttime' => event.start.strftime(Osm::OSM_TIME_FORMAT),
|
143
|
-
'endtime' => event.finish.strftime(Osm::OSM_TIME_FORMAT),
|
142
|
+
'starttime' => event.start? ? event.start.strftime(Osm::OSM_TIME_FORMAT) : '',
|
143
|
+
'endtime' => event.finish? ? event.finish.strftime(Osm::OSM_TIME_FORMAT) : '',
|
144
144
|
})
|
145
145
|
|
146
146
|
# The cached events for the section will be out of date - remove them
|
data/lib/osm/member.rb
CHANGED
@@ -148,20 +148,21 @@ module Osm
|
|
148
148
|
# @!macro options_get
|
149
149
|
# @return [Array<Osm::Member>]
|
150
150
|
def self.get_for_section(api, section, term=nil, options={})
|
151
|
+
section = Osm::Section.get(api, section) if section.is_a?(Fixnum)
|
152
|
+
term = -1 if section.waiting?
|
151
153
|
term_id = term.nil? ? Osm::Term.get_current_term_for_section(api, section).id : term.to_i
|
152
|
-
|
153
|
-
cache_key = ['members', section_id, term_id]
|
154
|
+
cache_key = ['members', section.id, term_id]
|
154
155
|
|
155
|
-
if !options[:no_cache] && cache_exist?(api, cache_key) && get_user_permission(api,
|
156
|
+
if !options[:no_cache] && cache_exist?(api, cache_key) && get_user_permission(api, section.id, :member).include?(:read)
|
156
157
|
return cache_read(api, cache_key)
|
157
158
|
end
|
158
159
|
|
159
|
-
data = api.perform_query("users.php?action=getUserDetails§ionid=#{
|
160
|
+
data = api.perform_query("users.php?action=getUserDetails§ionid=#{section.id}&termid=#{term_id}")
|
160
161
|
|
161
162
|
result = Array.new
|
162
163
|
data['items'].each do |item|
|
163
164
|
result.push Osm::Member.new(
|
164
|
-
:section_id =>
|
165
|
+
:section_id => section.id,
|
165
166
|
:id => Osm::to_i_or_nil(item['scoutid']),
|
166
167
|
:type => item['type'],
|
167
168
|
:first_name => item['firstname'],
|
data/spec/osm/member_spec.rb
CHANGED
@@ -116,6 +116,11 @@ describe "Member" do
|
|
116
116
|
describe "Using the API" do
|
117
117
|
|
118
118
|
it "Create from API data" do
|
119
|
+
body = [
|
120
|
+
{"sectionConfig"=>"{\"subscription_level\":1,\"subscription_expires\":\"2013-01-05\",\"sectionType\":\"beavers\",\"columnNames\":{\"column_names\":\"names\"},\"numscouts\":10,\"hasUsedBadgeRecords\":true,\"hasProgramme\":true,\"extraRecords\":[],\"wizard\":\"false\",\"fields\":{\"fields\":true},\"intouch\":{\"intouch_fields\":true},\"mobFields\":{\"mobile_fields\":true}}", "groupname"=>"3rd Somewhere", "groupid"=>"3", "groupNormalised"=>"1", "sectionid"=>"1", "sectionname"=>"Section 1", "section"=>"beavers", "isDefault"=>"1", "permissions"=>{"badge"=>10, "member"=>20, "user"=>100, "register"=>100, "contact"=>100, "programme"=>100, "originator"=>1, "events"=>100, "finance"=>100, "flexi"=>100}},
|
121
|
+
]
|
122
|
+
FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/api.php?action=getUserRoles", :body => body.to_json)
|
123
|
+
|
119
124
|
body = {
|
120
125
|
'identifier' => 'scoutid',
|
121
126
|
'items' => [{
|
@@ -170,6 +175,22 @@ describe "Member" do
|
|
170
175
|
members[0].id.should == 1
|
171
176
|
end
|
172
177
|
|
178
|
+
it "Create from API data (Waiting list)" do
|
179
|
+
body = [
|
180
|
+
{"sectionConfig"=>"{\"subscription_level\":1,\"subscription_expires\":\"2013-01-05\",\"sectionType\":\"waiting\",\"columnNames\":{\"column_names\":\"names\"},\"numscouts\":10,\"hasUsedBadgeRecords\":true,\"hasProgramme\":true,\"extraRecords\":[],\"wizard\":\"false\",\"fields\":{\"fields\":true},\"intouch\":{\"intouch_fields\":true},\"mobFields\":{\"mobile_fields\":true}}", "groupname"=>"3rd Somewhere", "groupid"=>"3", "groupNormalised"=>"1", "sectionid"=>"1", "sectionname"=>"Section 1", "section"=>"waiting", "isDefault"=>"1", "permissions"=>{"badge"=>10, "member"=>20, "user"=>100, "register"=>100, "contact"=>100, "programme"=>100, "originator"=>1, "events"=>100, "finance"=>100, "flexi"=>100}},
|
181
|
+
]
|
182
|
+
FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/api.php?action=getUserRoles", :body => body.to_json)
|
183
|
+
|
184
|
+
body = {
|
185
|
+
'identifier' => 'scoutid',
|
186
|
+
'items' => []
|
187
|
+
}
|
188
|
+
|
189
|
+
FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/users.php?action=getUserDetails§ionid=1&termid=-1", :body => body.to_json)
|
190
|
+
members = Osm::Member.get_for_section(@api, 1, 2)
|
191
|
+
members.size.should == 0
|
192
|
+
end
|
193
|
+
|
173
194
|
end
|
174
195
|
|
175
196
|
end
|
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.1.
|
4
|
+
version: 0.1.9
|
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: 2012-
|
12
|
+
date: 2012-12-19 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &74299010 !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: *74299010
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: httparty
|
27
|
-
requirement: &
|
27
|
+
requirement: &74298560 !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: *74298560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: active_attr
|
38
|
-
requirement: &
|
38
|
+
requirement: &74297850 !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: *74297850
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activemodel
|
49
|
-
requirement: &
|
49
|
+
requirement: &74296950 !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: *74296950
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &74296610 !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: *74296610
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &74296090 !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: *74296090
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: fakeweb
|
82
|
-
requirement: &
|
82
|
+
requirement: &74295670 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '1.3'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *74295670
|
91
91
|
description: Use the Online Scout Manager API (https://www.onlinescoutmanager.co.uk)
|
92
92
|
to retrieve and save data.
|
93
93
|
email:
|
@@ -149,12 +149,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
149
|
- - ! '>='
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
|
+
segments:
|
153
|
+
- 0
|
154
|
+
hash: -414349837
|
152
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
156
|
none: false
|
154
157
|
requirements:
|
155
158
|
- - ! '>='
|
156
159
|
- !ruby/object:Gem::Version
|
157
160
|
version: '0'
|
161
|
+
segments:
|
162
|
+
- 0
|
163
|
+
hash: -414349837
|
158
164
|
requirements: []
|
159
165
|
rubyforge_project: osm
|
160
166
|
rubygems_version: 1.8.10
|
@@ -162,4 +168,3 @@ signing_key:
|
|
162
168
|
specification_version: 3
|
163
169
|
summary: Use the Online Scout Manager API
|
164
170
|
test_files: []
|
165
|
-
has_rdoc:
|