osm 0.0.23 → 0.0.24

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 CHANGED
@@ -1,3 +1,7 @@
1
+ ## Version 0.0.24
2
+
3
+ * Make Section::FlexiRecord sortable
4
+
1
5
  ## Version 0.0.23
2
6
 
3
7
  * get\_badge\_stock\_levels now returns a hash whoose values are Fixnum not String
data/README.md CHANGED
@@ -110,14 +110,12 @@ however it should be noted that when the OSM API adds a feature it can be diffic
110
110
  * Register - Update attendance
111
111
  * Flexi Records:
112
112
  * Update data
113
- * Delete
114
- * Update
115
113
  * Add Column
116
114
  * Events:
117
115
  * Attendance (everything)
116
+ * Add column
118
117
  * Create
119
118
  * Update
120
- * Delete
121
119
  * Member:
122
120
  * Update
123
121
  * Add
data/lib/osm/section.rb CHANGED
@@ -102,6 +102,7 @@ module Osm
102
102
  fr.each do |record_data|
103
103
  attributes[:flexi_records].push FlexiRecord.from_api(record_data)
104
104
  end
105
+ attributes[:flexi_records].sort
105
106
 
106
107
  new(attributes)
107
108
  end
@@ -137,17 +138,17 @@ module Osm
137
138
  end
138
139
  end
139
140
 
140
- def <=>(another_section)
141
+ def <=>(another)
141
142
  begin
142
- return self.role <=> another_section.role
143
+ return self.role <=> another.role
143
144
  rescue NoMethodError
144
- return false
145
+ return 1
145
146
  end
146
147
  end
147
148
 
148
- def ==(another_section)
149
+ def ==(another)
149
150
  begin
150
- return self.id == another_section.id
151
+ return self.id == another.id
151
152
  rescue NoMethodError
152
153
  return false
153
154
  end
@@ -171,6 +172,7 @@ module Osm
171
172
  "#<#{self.class.name}#{separator}#{attribute_descriptions}>"
172
173
  end
173
174
 
175
+
174
176
  class FlexiRecord
175
177
  include ::ActiveAttr::MassAssignmentSecurity
176
178
  include ::ActiveAttr::Model
@@ -206,6 +208,15 @@ module Osm
206
208
  :name => data['name'],
207
209
  })
208
210
  end
211
+
212
+ def <=>(another)
213
+ begin
214
+ return self.name <=> another.name
215
+ rescue NoMethodError
216
+ return 1
217
+ end
218
+ end
219
+
209
220
  end # Class Section::FlexiRecord
210
221
 
211
222
  end # Class Section
@@ -154,4 +154,14 @@ describe "Section" do
154
154
  end
155
155
  end
156
156
 
157
+
158
+ it "Sorts Flexi Records by name" do
159
+ fr1 = Osm::Section::FlexiRecord.new(:id => 1, :name => 'A')
160
+ fr2 = Osm::Section::FlexiRecord.new(:id => 1, :name => 'B')
161
+ fr3 = Osm::Section::FlexiRecord.new(:id => 1, :name => 'C')
162
+ records = [fr2, fr1, fr3]
163
+
164
+ records.sort.should == [fr1, fr2, fr3]
165
+ end
166
+
157
167
  end
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Osm
2
- VERSION = "0.0.23"
2
+ VERSION = "0.0.24"
3
3
  end
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.23
4
+ version: 0.0.24
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-09-25 00:00:00.000000000Z
12
+ date: 2012-09-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &83976150 !ruby/object:Gem::Requirement
16
+ requirement: &71355080 !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: *83976150
24
+ version_requirements: *71355080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: httparty
27
- requirement: &83963430 !ruby/object:Gem::Requirement
27
+ requirement: &71354100 !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: *83963430
35
+ version_requirements: *71354100
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: active_attr
38
- requirement: &83962070 !ruby/object:Gem::Requirement
38
+ requirement: &71353110 !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: *83962070
46
+ version_requirements: *71353110
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemodel
49
- requirement: &83961120 !ruby/object:Gem::Requirement
49
+ requirement: &71352230 !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: *83961120
57
+ version_requirements: *71352230
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rake
60
- requirement: &83959290 !ruby/object:Gem::Requirement
60
+ requirement: &71351620 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.9'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *83959290
68
+ version_requirements: *71351620
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &83957900 !ruby/object:Gem::Requirement
71
+ requirement: &71350940 !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: *83957900
79
+ version_requirements: *71350940
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: fakeweb
82
- requirement: &83955930 !ruby/object:Gem::Requirement
82
+ requirement: &71350120 !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: *83955930
90
+ version_requirements: *71350120
91
91
  description: Use the Online Scout Manager API (https://www.onlinescoutmanager.co.uk)
92
92
  to retrieve and save data.
93
93
  email: