weatherzone 0.8.1 → 0.8.2

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.
@@ -7,7 +7,9 @@ module Weatherzone
7
7
  def self.interpret_as_date(*methods)
8
8
  methods.each do |method_name|
9
9
  define_method method_name do
10
- Date.parse(instance_variable_get("@#{method_name}"))
10
+ if value = instance_variable_get("@#{method_name}")
11
+ Date.parse(value)
12
+ end
11
13
  end
12
14
  end
13
15
  end
data/lib/weatherzone.rb CHANGED
@@ -22,5 +22,5 @@ require 'weatherzone/helpers/date_parser'
22
22
  require 'weatherzone/helpers/units'
23
23
 
24
24
  module Weatherzone
25
- VERSION = '0.8.1'
25
+ VERSION = '0.8.2'
26
26
  end
@@ -0,0 +1,23 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestDateParser < Test::Unit::TestCase
4
+
5
+ class SomeResource
6
+ include Weatherzone::Helpers::DateParser
7
+ attr_writer :created_at
8
+ interpret_as_date :created_at
9
+ end
10
+
11
+ def test_parses_date
12
+ resource = SomeResource.new
13
+ resource.created_at = "12/04/1972"
14
+ assert_equal Date.parse("12/04/1972"), resource.created_at
15
+ end
16
+
17
+ def test_doesnt_bork_on_nils
18
+ resource = SomeResource.new
19
+ resource.created_at = nil
20
+ assert_equal nil, resource.created_at
21
+ end
22
+
23
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 8
8
- - 1
9
- version: 0.8.1
8
+ - 2
9
+ version: 0.8.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ben Askins
@@ -14,51 +14,23 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-11 00:00:00 +10:00
17
+ date: 2010-05-14 00:00:00 +10:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: rubyforge
21
+ name: hoe
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  segments:
28
- - 2
28
+ - 1
29
+ - 8
29
30
  - 0
30
- - 3
31
- version: 2.0.3
31
+ version: 1.8.0
32
32
  type: :development
33
33
  version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: gemcutter
36
- prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- - 5
44
- - 0
45
- version: 0.5.0
46
- type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: hoe
50
- prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 2
57
- - 5
58
- - 0
59
- version: 2.5.0
60
- type: :development
61
- version_requirements: *id003
62
34
  description: Ruby client for the weatherzone webservice.
63
35
  email:
64
36
  - ben.askins@gmail.com
@@ -155,6 +127,7 @@ test_files:
155
127
  - test/test_connection.rb
156
128
  - test/test_country.rb
157
129
  - test/test_daily_observation.rb
130
+ - test/test_date_parser.rb
158
131
  - test/test_district_forecast.rb
159
132
  - test/test_exceptions.rb
160
133
  - test/test_farenheit_conversion_factor.rb