osm 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -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