flexible_date 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.rdoc +13 -1
  2. data/lib/flexible_date.rb +4 -3
  3. metadata +1 -1
data/README.rdoc CHANGED
@@ -35,9 +35,21 @@ specified format:
35
35
  event.end_date_flex.should == "28/02/2011"
36
36
 
37
37
 
38
+ Suffix can be customized:
39
+
40
+ class Event < ActiveRecord::Base
41
+ flexible_date :judgement_day, :format => '%d-%m-%Y', :suffix => 'yyz'
42
+
43
+ event = Event.new
44
+ event.judgement_day_yyz = "28-02-2011"
45
+ event.judgement_day.should == Date.new(2011, 02, 28)
46
+
47
+
38
48
  == How to install
39
49
 
40
- flexible_date will become a gem very soon.
50
+ Just run:
51
+
52
+ gem install flexible_date
41
53
 
42
54
 
43
55
  == Do you know a better/standard solution?
data/lib/flexible_date.rb CHANGED
@@ -2,6 +2,7 @@ module FlexibleDate
2
2
  def flexible_date(*params)
3
3
  options, fields = params.pop, params
4
4
  format = options[:format]
5
+ suffix = options[:suffix] || "flex"
5
6
  fields.each do |field|
6
7
  unless methods.include?(:flexible_date_validations)
7
8
  validate :flexible_date_validations
@@ -15,19 +16,19 @@ module FlexibleDate
15
16
  end
16
17
  end
17
18
 
18
- define_method "#{field}_flex" do
19
+ define_method "#{field}_#{suffix}" do
19
20
  date = self.send("#{field}")
20
21
  date.try(:strftime, format)
21
22
  end
22
23
 
23
- define_method "#{field}_flex=" do |value|
24
+ define_method "#{field}_#{suffix}=" do |value|
24
25
  begin
25
26
  self.send("#{field}=", Date.strptime(value, format))
26
27
  rescue ArgumentError
27
28
  self.send("#{field}=", nil)
28
29
  @flexible_date_errors ||= {}
29
30
  @flexible_date_errors["#{field}".to_sym] = 'invalid'
30
- @flexible_date_errors["#{field}_flex".to_sym] = 'invalid'
31
+ @flexible_date_errors["#{field}_#{suffix}".to_sym] = 'invalid'
31
32
  end
32
33
  end
33
34
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: flexible_date
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Rodrigo Manh\xC3\xA3es"