timezone_field 1.0.1 → 1.1.0

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 (2) hide show
  1. data/lib/timezone_field.rb +7 -9
  2. metadata +2 -2
@@ -4,22 +4,20 @@ require 'active_support'
4
4
  module TimezoneField
5
5
  extend ActiveSupport::Concern
6
6
 
7
- class ZoneValidator < ActiveModel::Validator
8
- def validate(record)
9
- record.class.timezone_fields.each do |tz_field|
10
- value = record.send(:read_attribute, tz_field)
11
- if value.present?
12
- record.errors[tz_field.to_sym] << 'Unrecognized timezone' if ActiveSupport::TimeZone[value].nil?
13
- end
7
+ class ZoneValidator < ActiveModel::EachValidator
8
+ def validate_each(record, attribute, value)
9
+ value = record.send(:read_attribute, attribute)
10
+ if value.present?
11
+ record.errors[attribute] << 'Unrecognized timezone' if ActiveSupport::TimeZone[value].nil?
14
12
  end
15
13
  end
16
14
  end
17
15
 
18
16
  module ClassMethods
19
17
  def has_timezone_field(field_name)
20
- self.timezone_fields ||= []
21
18
  self.timezone_fields << field_name
22
19
  define_timezone_accessors(field_name)
20
+ validates :"#{field_name}", :zone => true
23
21
  end
24
22
 
25
23
  def define_timezone_accessors(field_name)
@@ -46,6 +44,6 @@ module TimezoneField
46
44
 
47
45
  included do
48
46
  class_attribute :timezone_fields
49
- validates_with ZoneValidator
47
+ self.timezone_fields ||= []
50
48
  end
51
49
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timezone_field
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-21 00:00:00.000000000 Z
12
+ date: 2012-08-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord