validates_and_formats_phones 0.0.5 → 0.0.6

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.
data/README.rdoc CHANGED
@@ -41,6 +41,7 @@ validation and formatting for the field :phone like so:
41
41
  > person.save
42
42
  > => false
43
43
 
44
+
44
45
  You can pass your own fields like so:
45
46
 
46
47
  class Person
@@ -65,6 +66,22 @@ You can also format and specify fields, like so:
65
66
  validates_and_formats_phones :fax, mobile, '####-####'
66
67
  end
67
68
 
69
+
70
+ = Additional configuration options
71
+
72
+ As of version 0.0.6 all configuration options available
73
+ to validates_each are also available to the phone validator.
74
+ For example:
75
+
76
+ class Person
77
+ validates_and_formats_phones :fax, '###-###-####', :if => :some_function_name
78
+ end
79
+
80
+ Here's a quick link to the validates_each documentation at the time of writing:
81
+
82
+ http://api.rubyonrails.com/classes/ActiveRecord/Validations/ClassMethods.html#M002161
83
+
84
+
68
85
  As a tiny added benefit, String is extended with a to_phone method.
69
86
 
70
87
  > '123 456 7890'.to_phone
@@ -73,6 +90,9 @@ As a tiny added benefit, String is extended with a to_phone method.
73
90
  > '12345678'.to_phone('####-####')
74
91
  > => '1234-5678'
75
92
 
93
+ =Change Log
94
+ 0.0.6
95
+ 1. Add configuration options available in validates_each method.
76
96
  If you find any bugs, please report them at our github page:
77
97
 
78
98
  http://github.com/btelles-validates_and_formats_phones
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ PKG_FILES = FileList[
24
24
 
25
25
  spec = Gem::Specification.new do |s|
26
26
  s.name = "validates_and_formats_phones"
27
- s.version = "0.0.5"
27
+ s.version = "0.0.6"
28
28
 
29
29
  s.author = "Bernie Telles"
30
30
  s.email = "btelles@gmail.com"
@@ -6,6 +6,8 @@
6
6
  end
7
7
 
8
8
  def self.extract_formats_and_fields(formats_and_fields)
9
+ options = {:on => :save, :allow_nil => false}
10
+ options.merge!(formats_and_fields.extract_options!)
9
11
  formats = []
10
12
  fields = []
11
13
  formats_and_fields.each do |option|
@@ -15,17 +17,17 @@
15
17
  end
16
18
  formats << DEFAULT_FORMAT if formats.empty?
17
19
  fields << :phone if fields.empty?
18
- [formats, fields]
20
+ [formats, fields, options]
19
21
  end
20
22
 
21
23
  module ClassMethods
22
24
 
23
25
  def validates_and_formats_phones(*args)
24
- formats, fields = ValidatesAndFormatsPhones.extract_formats_and_fields(args)
26
+ formats, fields, options = ValidatesAndFormatsPhones.extract_formats_and_fields(args)
25
27
 
26
28
  size_options = formats.collect {|format| format.count '#'}
27
29
 
28
- validates_each *fields do |record, attr, value|
30
+ validates_each(fields, options) do |record, attr, value|
29
31
  unless value.blank? || size_options.include?(value.scan(/\d/).size)
30
32
  if size_options.size > 1
31
33
  last = size_options.pop
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_and_formats_phones
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernie Telles