string_date_accessors 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -3,7 +3,7 @@
3
3
  Get and set dates as strings on ActiveRecord-like objects.
4
4
 
5
5
  This gem is useful if you don't want to use Rails' standard date helpers and would rather
6
- set a text format for reading and writing dates.
6
+ set a text format for reading and writing dates and datetimes.
7
7
 
8
8
  == Usage
9
9
 
@@ -11,7 +11,7 @@ set a text format for reading and writing dates.
11
11
  require 'ostruct'
12
12
  require 'string_date_accessors'
13
13
 
14
- StringDateAccessors.format = '%d/%m/%y'
14
+ StringDateAccessors.date_format = '%d/%m/%y'
15
15
 
16
16
  class Lady < OpenStruct
17
17
  include StringDateAccessors
@@ -41,7 +41,7 @@ set a text format for reading and writing dates.
41
41
 
42
42
  == Installation
43
43
 
44
- It's on gemcutter (gem install string_date_accessors).
44
+ It's on gemcutter (gem install string_date_accessors). It requires active_support.
45
45
 
46
46
  == Note on Patches/Pull Requests
47
47
 
@@ -56,4 +56,4 @@ It's on gemcutter (gem install string_date_accessors).
56
56
 
57
57
  == Copyright
58
58
 
59
- Copyright (c) 2009 Andrew Bruce. See LICENSE for details.
59
+ Copyright (c) 2010 Andrew Bruce. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  require 'date'
2
3
  require 'active_support'
3
4
  module StringDateAccessors
@@ -22,13 +23,11 @@ module StringDateAccessors
22
23
  end
23
24
 
24
25
  def self.formatted(input)
25
- DateTime.strptime(input, datetime_format).to_time
26
- rescue ArgumentError, NoMethodError
27
- begin
28
- Date.strptime(input, date_format)
29
- rescue ArgumentError
30
- input
31
- end
26
+ date = Date.strptime(input, date_format)
27
+ zone = date.to_time.zone
28
+ DateTime.strptime("#{input} #{zone}", "#{datetime_format} %Z").to_time
29
+ rescue ArgumentError, NoMethodError => e
30
+ date ? date : input
32
31
  end
33
32
 
34
33
  def invalid_date_accessors
@@ -14,6 +14,17 @@ describe StringDateAccessors do
14
14
  StringDateAccessors.date_format = '%Y/%m/%d'
15
15
  end
16
16
 
17
+ describe "formatted" do
18
+ context "datetime" do
19
+ it "should add the current timezone" do
20
+ input = '21/05/10 10:30'
21
+ StringDateAccessors.datetime_format = '%d/%m/%y %H:%M'
22
+ Time.stub(:zone).and_return('(GMT+00:00) London')
23
+ StringDateAccessors.formatted(input).zone.should == '+01:00'
24
+ end
25
+ end
26
+ end
27
+
17
28
  describe "UK format" do
18
29
  before do
19
30
  StringDateAccessors.date_format = '%d/%m/%y'
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{string_date_accessors}
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Bruce"]
12
- s.date = %q{2010-03-28}
12
+ s.date = %q{2010-05-23}
13
13
  s.description = %q{
14
14
  This gem is useful if you don't want to use Rails' standard date helpers and would rather
15
15
  set a text format for reading and writing dates.
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 5
9
- version: 0.0.5
8
+ - 6
9
+ version: 0.0.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andrew Bruce
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-28 00:00:00 +00:00
17
+ date: 2010-05-23 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency