validates_phone_number 0.1.4 → 0.9.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.
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