validates_phone_number 0.1.4 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,47 +1,12 @@
1
- [![Build Status](https://secure.travis-ci.org/travisjeffery/validates_phone_number.png)](http://travis-ci.org/travisjeffery/validates_phone_number)
2
-
3
1
  # Validates Phone Number
4
2
 
5
- `validates_phone_number` adds validation methods to ActiveModel for validating
6
- phone numbers.
7
-
8
- ### Basic Usage
3
+ Validate phone numbers in your Rails project.
9
4
 
10
- Given a User model with a phone number attribute of `phone number`
5
+ For example, given a User model with a phone number attribute of `phone number`
11
6
  that's a string, see if a given record has a valid phone number like so:
12
7
 
13
- ```
14
- class Person < ActiveRecord::Base
15
- validates :mobile, :phone_number => true
16
- end
17
- ```
18
-
19
- ### Message
20
-
21
- Specify the message that's added to the errors collection by using the
22
- `message` option:
23
-
24
- ```
25
8
  class Person < ActiveRecord::Base
26
- validates :mobile, :phone_number => {:message => "invalid and can only be attributable to human error"}
9
+ validates :phone_number, :phone_number => true
27
10
  end
28
- ```
29
-
30
- ### Format/Match by Regular Expression
31
11
 
32
- You can specify that a number matches a regular expression by using the
33
- `format` option:
34
-
35
- ```
36
- class Person < ActiveRecord::Base
37
- validates :mobile, :phone_number => {:format => /\d{3}-\d{3}-\d{4}/}
38
- end
39
- ```
40
-
41
- ### Allow Nil
42
-
43
- ```
44
- class Person < ActiveRecord::Base
45
- validates :mobile, :phone_number => {:allow_nil => true}
46
- end
47
- ```
12
+ You can also specify the usual options like `allow_nil`, and `format`.
data/Rakefile CHANGED
@@ -1,12 +1 @@
1
1
  require "bundler/gem_tasks"
2
- require 'rake/testtask'
3
-
4
- desc 'Run tests'
5
- Rake::TestTask.new(:test) do |t|
6
- t.libs << 'lib'
7
- t.libs << 'test'
8
- t.pattern = 'test/**/*_test.rb'
9
- t.verbose = true
10
- end
11
-
12
- task :default => :test
File without changes
@@ -2,13 +2,10 @@ require 'active_model/validator'
2
2
 
3
3
  module ValidatesPhoneNumber
4
4
  class Validator < ActiveModel::EachValidator
5
- include ValidatesPhoneNumber::Message
6
-
7
5
  def initialize options
8
6
  @type = options.delete(:type) || :string
9
7
  @allow_nil = options.delete(:allow_nil)
10
8
  @format = options.delete(:format)
11
- @message = options.delete(:message)
12
9
  super
13
10
  end
14
11
 
@@ -16,8 +13,7 @@ module ValidatesPhoneNumber
16
13
  return if @allow_nil && value.nil?
17
14
  return if Phoner::Phone.valid? value
18
15
  return if value =~ @format
19
- message = error_message_for value
20
- record.errors.add attr_name, message
16
+ record.errors.add attr_name, "'#{value}' is not a valid"
21
17
  end
22
18
  end
23
19
  end
@@ -1,3 +1,3 @@
1
1
  module ValidatesPhoneNumber
2
- VERSION = "0.1.4"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -1,5 +1,10 @@
1
1
  require 'phone'
2
2
  Phoner::Phone.default_country_code = '1'
3
3
  require_relative "validates_phone_number/version"
4
- require_relative "validates_phone_number/message"
5
4
  require_relative "validates_phone_number/validator"
5
+ require 'phone'
6
+
7
+
8
+ module ValidatesPhoneNumber
9
+ # Your code goes here...
10
+ end
data/test/test_helper.rb CHANGED
@@ -1,25 +1,9 @@
1
- unless Kernel.respond_to?(:require_relative)
2
- module Kernel
3
- def require_relative(path)
4
- require File.join(File.dirname(caller[0]), path.to_str)
5
- end
6
- end
7
- end
8
-
9
1
  ENV['RAILS_ENV'] = 'minitest'
10
- begin
11
- require 'minitest/autorun'
12
- rescue LoadError
13
- require 'rubygems'
14
- require 'minitest/unit'
15
- MiniTest::Unit.autorun
16
- end
17
-
2
+ require 'minitest/autorun'
18
3
  require 'active_model'
19
4
  require 'active_model/validations'
20
5
  require 'active_record'
21
6
  require 'action_view'
22
-
23
7
  require_relative '../lib/validates_phone_number'
24
8
 
25
9
  ActiveRecord::Base.establish_connection({:adapter => 'sqlite3', :database => ':memory:'})
@@ -23,36 +23,28 @@ class TestValidator < MiniTest::Unit::TestCase
23
23
  assert @person.valid?
24
24
  end
25
25
 
26
- def test_allow_nil_option_defaults_to_false
26
+ def test_allow_nil_option_off
27
27
  Person.validates :phone_number, :phone_number => true
28
28
  @person.phone_number = nil
29
29
  assert !@person.valid?
30
30
  end
31
31
 
32
- def test_nil_is_record_record_if_allow_nil
32
+ def test_allow_nil_option_on
33
33
  Person.validates :phone_number, :phone_number => {:allow_nil => true}
34
34
  @person.phone_number = nil
35
35
  assert @person.valid?
36
36
  end
37
37
 
38
- def test_invalid_record_by_format_option
38
+ def test_valid_record_by_format_option_off
39
39
  Person.validates :phone_number, :phone_number => true
40
40
  @person.phone_number = "555^555^555^5555"
41
41
  assert !@person.valid?
42
42
  end
43
43
 
44
- def test_valid_record_by_format_option
44
+ def test_valid_record_by_format_option_on
45
45
  Person.validates :phone_number, :phone_number => {:format => /(\d+\^){3}\d+/}
46
46
  @person.phone_number = "555^555^555^5555"
47
47
  assert @person.valid?
48
48
  end
49
-
50
- def test_specify_message
51
- Person.validates :phone_number, :phone_number => {:message => "invalid and can only be attributable to human error"}
52
- @person.phone_number = nil
53
- @person.valid?
54
- assert_equal 1, @person.errors.size
55
- assert_match /invalid and can only be attributable to human error/, @person.errors.full_messages.first
56
- end
57
49
  end
58
50
 
@@ -0,0 +1,3 @@
1
+ require 'test_helper'
2
+
3
+
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
8
8
  s.authors = ["Travis Jeffery"]
9
9
  s.email = ["t@travisjeffery.com"]
10
10
  s.homepage = ""
11
- s.summary = %q{Adds validation methods to ActiveModel for validating phone numbers.}
12
- s.description = %q{Adds validation methods to ActiveModel for validating phone numbers.}
11
+ s.summary = %q{Adds validation methods to ActiveModel for validating dates and times.}
12
+ s.description = %q{Adds validation methods to ActiveModel for validating dates and times.}
13
13
 
14
14
  s.rubyforge_project = "validates_phone_number"
15
15
 
@@ -18,9 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_development_dependency "minitest", '2.10.0'
22
- s.add_development_dependency "rails", '3.1.0'
23
- s.add_development_dependency "phone", '1.1'
24
-
25
- s.add_runtime_dependency "phone", '1.1'
21
+ s.add_development_dependency "minitest"
22
+ s.add_development_dependency "rails"
23
+ s.add_development_dependency "phone"
24
+ s.add_runtime_dependency "phone"
26
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_phone_number
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,53 +9,53 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-03 00:00:00.000000000Z
12
+ date: 2012-01-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70167044806360 !ruby/object:Gem::Requirement
16
+ requirement: &70106801756540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - =
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.10.0
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70167044806360
24
+ version_requirements: *70106801756540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &70167044805800 !ruby/object:Gem::Requirement
27
+ requirement: &70106801756060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - =
30
+ - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 3.1.0
32
+ version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70167044805800
35
+ version_requirements: *70106801756060
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: phone
38
- requirement: &70167044805240 !ruby/object:Gem::Requirement
38
+ requirement: &70106801755240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - =
41
+ - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
- version: '1.1'
43
+ version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70167044805240
46
+ version_requirements: *70106801755240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: phone
49
- requirement: &70167044804780 !ruby/object:Gem::Requirement
49
+ requirement: &70106801754640 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - =
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: '1.1'
54
+ version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70167044804780
58
- description: Adds validation methods to ActiveModel for validating phone numbers.
57
+ version_requirements: *70106801754640
58
+ description: Adds validation methods to ActiveModel for validating dates and times.
59
59
  email:
60
60
  - t@travisjeffery.com
61
61
  executables: []
@@ -63,16 +63,16 @@ extensions: []
63
63
  extra_rdoc_files: []
64
64
  files:
65
65
  - .gitignore
66
- - .travis.yml
67
66
  - Gemfile
68
67
  - README.markdown
69
68
  - Rakefile
70
69
  - lib/validates_phone_number.rb
71
- - lib/validates_phone_number/message.rb
70
+ - lib/validates_phone_number/railtie.rb
72
71
  - lib/validates_phone_number/validator.rb
73
72
  - lib/validates_phone_number/version.rb
74
73
  - test/test_helper.rb
75
74
  - test/validates_phone_number/validator_test.rb
75
+ - test/validates_phone_number_test.rb
76
76
  - validates_phone_number.gemspec
77
77
  homepage: ''
78
78
  licenses: []
@@ -97,7 +97,8 @@ rubyforge_project: validates_phone_number
97
97
  rubygems_version: 1.8.10
98
98
  signing_key:
99
99
  specification_version: 3
100
- summary: Adds validation methods to ActiveModel for validating phone numbers.
100
+ summary: Adds validation methods to ActiveModel for validating dates and times.
101
101
  test_files:
102
102
  - test/test_helper.rb
103
103
  - test/validates_phone_number/validator_test.rb
104
+ - test/validates_phone_number_test.rb
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.8.7
4
- - 1.9.2
5
- - 1.9.3
6
- - ree
7
- - rbx
@@ -1,12 +0,0 @@
1
- module ValidatesPhoneNumber
2
- module Message
3
- DEFAULT_ERROR_MESSAGE = "%s is not a valid"
4
-
5
- private
6
-
7
- def error_message_for value
8
- @message ||
9
- DEFAULT_ERROR_MESSAGE % value
10
- end
11
- end
12
- end