osm 0.0.11 → 0.0.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.
@@ -4,7 +4,17 @@ require 'date'
4
4
 
5
5
  describe "Term" do
6
6
 
7
- it "Create" do
7
+ before :each do
8
+ @attributes = {
9
+ :id => 1,
10
+ :section_id => 2,
11
+ :name => 'Term name',
12
+ :start => Date.new(2001, 01, 01),
13
+ :end => Date.new(2001, 03, 31)
14
+ }
15
+ end
16
+
17
+ it "Create from API data" do
8
18
  data = {
9
19
  'termid' => '1',
10
20
  'sectionid' => '2',
@@ -12,7 +22,7 @@ describe "Term" do
12
22
  'startdate' => '2001-01-01',
13
23
  'enddate' => '2001-03-31'
14
24
  }
15
- term = Osm::Term.new(data)
25
+ term = Osm::Term.from_api(data)
16
26
 
17
27
  term.id.should == 1
18
28
  term.section_id.should == 2
@@ -23,41 +33,24 @@ describe "Term" do
23
33
 
24
34
 
25
35
  it "Compares two matching terms" do
26
- data = {
27
- 'termid' => '1',
28
- 'sectionid' => '2',
29
- 'name' => 'Term name',
30
- 'startdate' => '2001-01-01',
31
- 'enddate' => '2001-03-31'
32
- }
33
- term1 = Osm::Term.new(data)
34
- term2 = Osm::Term.new(data)
36
+ term1 = Osm::Term.new(@attributes)
37
+ term2 = Osm::Term.new(@attributes)
35
38
  term1.should == term2
36
39
  end
37
40
 
38
41
  it "Compares two non-matching terms" do
39
- data = {
40
- 'termid' => '1',
41
- 'sectionid' => '2',
42
- 'name' => 'Term name',
43
- 'startdate' => '2001-01-01',
44
- 'enddate' => '2001-03-31'
45
- }
46
- term = Osm::Term.new(data)
42
+ term = Osm::Term.new(@attributes)
47
43
 
48
- term.should_not == Osm::Term.new(data.merge('termid' => '3'))
44
+ term.should_not == Osm::Term.new(@attributes.merge(:id => 3))
49
45
  end
50
46
 
51
47
 
52
48
  it "Sorts by Section ID, Start date and then Term ID" do
53
- data = {
54
- 'name' => 'Term name',
55
- }
56
- term1 = Osm::Term.new(data.merge('sectionid' => '1', 'termid' => '11', 'startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
57
- term2 = Osm::Term.new(data.merge('sectionid' => '1', 'termid' => '12', 'startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
58
- term3 = Osm::Term.new(data.merge('sectionid' => '1', 'termid' => '13', 'startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
59
- term4 = Osm::Term.new(data.merge('sectionid' => '2', 'termid' => '1', 'startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
60
- term5 = Osm::Term.new(data.merge('sectionid' => '2', 'termid' => '2', 'startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
49
+ term1 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 11, :start => (Date.today - 60), :end => (Date.today - 1)))
50
+ term2 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 12, :start => (Date.today - 0), :end => (Date.today + 0)))
51
+ term3 = Osm::Term.new(@attributes.merge(:section_id => 1, :term => 13, :start => (Date.today + 1), :end => (Date.today + 60)))
52
+ term4 = Osm::Term.new(@attributes.merge(:section_id => 2, :term => 1, :start => (Date.today + 1), :end => (Date.today + 60)))
53
+ term5 = Osm::Term.new(@attributes.merge(:section_id => 2, :term => 2, :start => (Date.today + 1), :end => (Date.today + 60)))
61
54
 
62
55
  data = [term5, term3, term2, term4, term1]
63
56
  data.sort.should == [term1, term2, term3, term4, term5]
@@ -65,14 +58,9 @@ describe "Term" do
65
58
 
66
59
 
67
60
  it "Works out if it is completly before a date" do
68
- data = {
69
- 'termid' => '1',
70
- 'sectionid' => '2',
71
- 'name' => 'Term name',
72
- }
73
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
74
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
75
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
61
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
62
+ term2 = Osm::Term.new(@attributes.merge(:start => (Date.today - 0), :end => (Date.today + 0)))
63
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
76
64
 
77
65
  term1.before?(Date.today).should == true
78
66
  term2.before?(Date.today).should == false
@@ -81,14 +69,9 @@ describe "Term" do
81
69
 
82
70
 
83
71
  it "Works out if it is completly after a date" do
84
- data = {
85
- 'termid' => '1',
86
- 'sectionid' => '2',
87
- 'name' => 'Term name',
88
- }
89
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
90
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
91
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
72
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
73
+ term2 = Osm::Term.new(@attributes.merge(:start => (Date.today - 0), :end => (Date.today + 0)))
74
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
92
75
 
93
76
  term1.after?(Date.today).should == false
94
77
  term2.after?(Date.today).should == false
@@ -97,14 +80,9 @@ describe "Term" do
97
80
 
98
81
 
99
82
  it "Works out if it has passed" do
100
- data = {
101
- 'termid' => '1',
102
- 'sectionid' => '2',
103
- 'name' => 'Term name',
104
- }
105
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
106
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
107
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
83
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
84
+ term2 = Osm::Term.new(@attributes.merge(:start => (Date.today - 0), :end => (Date.today + 0)))
85
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
108
86
 
109
87
  term1.past?().should == true
110
88
  term2.past?().should == false
@@ -113,14 +91,9 @@ describe "Term" do
113
91
 
114
92
 
115
93
  it "Works out if it is in the future" do
116
- data = {
117
- 'termid' => '1',
118
- 'sectionid' => '2',
119
- 'name' => 'Term name',
120
- }
121
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
122
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
123
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
94
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
95
+ term2 = Osm::Term.new(@attributes.merge(:start => (Date.today - 0), :end => (Date.today + 0)))
96
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
124
97
 
125
98
  term1.future?().should == false
126
99
  term2.future?().should == false
@@ -129,14 +102,9 @@ describe "Term" do
129
102
 
130
103
 
131
104
  it "Works out if it is the current term" do
132
- data = {
133
- 'termid' => '1',
134
- 'sectionid' => '2',
135
- 'name' => 'Term name',
136
- }
137
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
138
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
139
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
105
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
106
+ term2 = Osm::Term.new(@attributes.merge(:start=> (Date.today - 0), :end => (Date.today + 0)))
107
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
140
108
 
141
109
  term1.current?().should == false
142
110
  term2.current?().should == true
@@ -145,18 +113,13 @@ describe "Term" do
145
113
 
146
114
 
147
115
  it "Works out if it contains a date" do
148
- data = {
149
- 'termid' => '1',
150
- 'sectionid' => '2',
151
- 'name' => 'Term name',
152
- }
153
- term1 = Osm::Term.new(data.merge('startdate' => (Date.today - 60).strftime('%Y-%m-%d'), 'enddate' => (Date.today - 1).strftime('%Y-%m-%d')))
154
- term2 = Osm::Term.new(data.merge('startdate' => (Date.today - 0).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 0).strftime('%Y-%m-%d')))
155
- term3 = Osm::Term.new(data.merge('startdate' => (Date.today + 1).strftime('%Y-%m-%d'), 'enddate' => (Date.today + 60).strftime('%Y-%m-%d')))
116
+ term1 = Osm::Term.new(@attributes.merge(:start => (Date.today - 60), :end => (Date.today - 1)))
117
+ term2 = Osm::Term.new(@attributes.merge(:start => (Date.today - 0), :end => (Date.today + 0)))
118
+ term3 = Osm::Term.new(@attributes.merge(:start => (Date.today + 1), :end => (Date.today + 60)))
156
119
 
157
120
  term1.contains_date?(Date.today).should == false
158
121
  term2.contains_date?(Date.today).should == true
159
122
  term3.contains_date?(Date.today).should == false
160
123
  end
161
124
 
162
- end
125
+ end
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Osm
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
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.11
4
+ version: 0.0.12
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-08-19 00:00:00.000000000Z
12
+ date: 2012-08-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &77301060 !ruby/object:Gem::Requirement
16
+ requirement: &81262530 !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: *77301060
24
+ version_requirements: *81262530
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: httparty
27
- requirement: &77300820 !ruby/object:Gem::Requirement
27
+ requirement: &81262070 !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: *77300820
35
+ version_requirements: *81262070
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &77300570 !ruby/object:Gem::Requirement
38
+ requirement: &81261520 !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: *77300570
46
+ version_requirements: *81261520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &77300240 !ruby/object:Gem::Requirement
49
+ requirement: &81261300 !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: *77300240
57
+ version_requirements: *81261300
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &77299890 !ruby/object:Gem::Requirement
60
+ requirement: &81261040 !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: *77299890
68
+ version_requirements: *81261040
69
69
  description: Use the Online Scout Manager API (https://www.onlinescoutmanager.co.uk)
70
70
  to retrieve and save data.
71
71
  email:
@@ -91,6 +91,8 @@ files:
91
91
  - lib/osm/event.rb
92
92
  - lib/osm/grouping.rb
93
93
  - lib/osm/member.rb
94
+ - lib/osm/register_data.rb
95
+ - lib/osm/register_field.rb
94
96
  - lib/osm/role.rb
95
97
  - lib/osm/section.rb
96
98
  - lib/osm/term.rb
@@ -105,6 +107,8 @@ files:
105
107
  - spec/osm/grouping_spec.rb
106
108
  - spec/osm/member_spec.rb
107
109
  - spec/osm/osm_spec.rb
110
+ - spec/osm/register_data_spec.rb
111
+ - spec/osm/register_field_spec.rb
108
112
  - spec/osm/role_spec.rb
109
113
  - spec/osm/section_spec.rb
110
114
  - spec/osm/term_spec.rb