flexible_date 0.1.0 → 0.1.1

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.
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"