mirror of
https://github.com/ditkrg/validates_timeliness.git
synced 2026-01-23 06:16:44 +00:00
use setup block to config which classes to extend
This commit is contained in:
parent
6acf61aa88
commit
d5124f32b2
@ -14,6 +14,10 @@ require 'active_support/core_ext/date_time/zones'
|
|||||||
|
|
||||||
module ValidatesTimeliness
|
module ValidatesTimeliness
|
||||||
|
|
||||||
|
# Add validation helpers to these classes
|
||||||
|
mattr_accessor :extend_classes
|
||||||
|
@@extend_classes = []
|
||||||
|
|
||||||
# Set the dummy date part for a time type values.
|
# Set the dummy date part for a time type values.
|
||||||
mattr_accessor :dummy_date_for_time_type
|
mattr_accessor :dummy_date_for_time_type
|
||||||
@@dummy_date_for_time_type = [ 2000, 1, 1 ]
|
@@dummy_date_for_time_type = [ 2000, 1, 1 ]
|
||||||
@ -21,6 +25,12 @@ module ValidatesTimeliness
|
|||||||
# Ignore errors when restriction options are evaluated
|
# Ignore errors when restriction options are evaluated
|
||||||
mattr_accessor :ignore_restriction_errors
|
mattr_accessor :ignore_restriction_errors
|
||||||
@@ignore_restriction_errors = false
|
@@ignore_restriction_errors = false
|
||||||
|
|
||||||
|
# Setup method for plugin configuration
|
||||||
|
def self.setup
|
||||||
|
yield self
|
||||||
|
extend_classes.each {|klass| klass.send(:include, ValidatesTimeliness::HelperMethods) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
require 'validates_timeliness/conversion'
|
require 'validates_timeliness/conversion'
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
module ValidatesTimeliness
|
module ValidatesTimeliness
|
||||||
module HelperMethods
|
module HelperMethods
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
module ClassMethods
|
||||||
def validates_date(*attr_names)
|
def validates_date(*attr_names)
|
||||||
validates_with Validator, _merge_attributes(attr_names).merge(:type => :date)
|
validates_with Validator, _merge_attributes(attr_names).merge(:type => :date)
|
||||||
end
|
end
|
||||||
@ -12,8 +15,5 @@ module ValidatesTimeliness
|
|||||||
validates_with Validator, _merge_attributes(attr_names).merge(:type => :datetime)
|
validates_with Validator, _merge_attributes(attr_names).merge(:type => :datetime)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module ActiveModel::Validations::HelperMethods
|
|
||||||
include ValidatesTimeliness::HelperMethods
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -6,17 +6,15 @@ require 'rspec/autorun'
|
|||||||
|
|
||||||
require 'active_model'
|
require 'active_model'
|
||||||
require 'active_model/validations'
|
require 'active_model/validations'
|
||||||
# require 'active_record'
|
require 'active_record'
|
||||||
# require 'action_controller'
|
|
||||||
# require 'action_view'
|
|
||||||
# require 'action_mailer'
|
|
||||||
# require 'rspec/rails'
|
|
||||||
|
|
||||||
require 'timecop'
|
require 'timecop'
|
||||||
require 'model_helpers'
|
|
||||||
|
|
||||||
require 'validates_timeliness'
|
require 'validates_timeliness'
|
||||||
|
|
||||||
|
ValidatesTimeliness.setup do |c|
|
||||||
|
c.extend_classes = [ ActiveModel::Validations, ActiveRecord::Base ]
|
||||||
|
end
|
||||||
|
|
||||||
Time.zone = 'Australia/Melbourne'
|
Time.zone = 'Australia/Melbourne'
|
||||||
|
|
||||||
LOCALE_PATH = File.expand_path(File.dirname(__FILE__) + '/../lib/validates_timeliness/locale/en.yml')
|
LOCALE_PATH = File.expand_path(File.dirname(__FILE__) + '/../lib/validates_timeliness/locale/en.yml')
|
||||||
@ -35,6 +33,8 @@ class Person
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require 'model_helpers'
|
||||||
|
|
||||||
Rspec.configure do |c|
|
Rspec.configure do |c|
|
||||||
c.mock_with :rspec
|
c.mock_with :rspec
|
||||||
c.before do
|
c.before do
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user