validates_cnpj 0.1.2 → 1.0.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/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use 1.9.3-p0@validates_cnpj
1
+ rvm use 1.9.3-p194@validates_cnpj
@@ -1,6 +1,9 @@
1
- require "active_model"
2
1
  require "validates_cnpj/cnpj"
3
2
 
3
+ #Rspec Matchers
4
+ require "validates_cnpj/shoulda-matchers/require_a_valid_cnpj_matcher" if defined?(::Shoulda)
5
+ require "validates_cnpj/remarkable/require_a_valid_cnpj_matcher" if defined?(::Remarkable)
6
+
4
7
  class CnpjValidator < ActiveModel::EachValidator
5
8
  def validate_each(record, attribute, value)
6
9
  record.errors[attribute] << I18n.t("errors.messages.invalid") unless CNPJ.new(value).valid?
@@ -0,0 +1,29 @@
1
+ require 'remarkable/active_model'
2
+
3
+ module Remarkable
4
+ module ActiveModel
5
+ module Matchers
6
+ class RequireAValidCnpjMatcher < Remarkable::ActiveModel::Base
7
+ arguments :cnpj
8
+
9
+ collection_assertions :disallow_invalid_value, :allow_valid_value
10
+
11
+ protected
12
+
13
+ def disallow_invalid_value
14
+ @subject.cnpj = '123456'
15
+ @subject.valid?.errors[:cnpj].should == ['is invalid']
16
+ end
17
+
18
+ def allow_valid_value
19
+ @subject.cnpj = nil
20
+ @subject.valid?.errors[:cnpj].should == []
21
+ end
22
+ end
23
+
24
+ def require_a_valid_cnpj(*args, &block)
25
+ RequireAValidCnpjMatcher.new(*args, &block).spec(self)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -3,27 +3,23 @@ require "shoulda-matchers"
3
3
  module Shoulda
4
4
  module Matchers
5
5
  module ActiveModel
6
- def validate_as_cnpj(attr)
7
- ValidateAsCnpjMatcher.new(attr)
6
+ def require_a_valid_cnpj(attr = :cnpj)
7
+ RequireAValidCnpjMatcher.new(attr)
8
8
  end
9
9
 
10
- class ValidateAsCnpjMatcher < ValidationMatcher
10
+ class RequireAValidCnpjMatcher < ValidationMatcher
11
11
  def initialize(attribute)
12
12
  @attribute = attribute
13
13
  end
14
14
 
15
15
  def description
16
- "validate #{@attribute} as a valid CNPJ number"
17
- end
18
-
19
- def failure_message
20
- "expected #{@attribute} to be validated as a valid CNPJ number"
16
+ "require a valid CNPJ number"
21
17
  end
22
18
 
23
19
  def matches?(subject)
24
20
  super(subject)
25
21
 
26
- disallows_invalid_value and allows_valid_value and allows_nil_value
22
+ disallows_invalid_value and allows_valid_value
27
23
  end
28
24
 
29
25
  private
@@ -35,10 +31,6 @@ module Shoulda
35
31
  def allows_valid_value
36
32
  allows_value_of("51.114.450/0001-46")
37
33
  end
38
-
39
- def allows_nil_value
40
- allows_value_of(nil)
41
- end
42
34
  end
43
35
  end
44
36
  end
@@ -1,3 +1,3 @@
1
1
  module ValidatesCnpj
2
- VERSION = "0.1.2"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -1,7 +1,8 @@
1
1
  class CreateCompanies < ActiveRecord::Migration
2
2
  def self.up
3
- create_table :companies do |u|
4
- u.string :cnpj
3
+ create_table :companies do |c|
4
+ c.string :cnpj
5
+ c.string :name
5
6
  end
6
7
  end
7
8
 
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ require 'remarkable/active_model'
3
+
4
+ describe Remarkable::ActiveModel::Matchers::RequireAValidCnpjMatcher do
5
+ before :each do
6
+ @company = Company.new
7
+ end
8
+
9
+ it "should accept on cnpj" do
10
+ @company.should require_a_valid_cnpj(:cnpj)
11
+ end
12
+
13
+ it "should accept without a specified attribute" do
14
+ @company.should require_a_valid_cnpj
15
+ end
16
+
17
+ it "should reject on name" do
18
+ @company.should_not require_a_valid_cnpj(:name)
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ require 'shoulda-matchers'
3
+
4
+ describe Shoulda::Matchers::ActiveModel::RequireAValidCnpjMatcher do
5
+ before :each do
6
+ @company = Company.new
7
+ end
8
+
9
+ it "should accept on cnpj" do
10
+ @company.should require_a_valid_cnpj(:cnpj)
11
+ end
12
+
13
+ it "should accept without a specified attribute" do
14
+ @company.should require_a_valid_cnpj
15
+ end
16
+
17
+ it "should reject on name" do
18
+ @company.should_not require_a_valid_cnpj(:name)
19
+ end
20
+ end
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_development_dependency "rake"
24
24
  s.add_development_dependency "rspec", ">= 2.0.0"
25
- s.add_development_dependency "shoulda-matchers", ">= 1.0.0"
25
+ s.add_development_dependency "shoulda-matchers", ">= 1.2.0"
26
26
  s.add_development_dependency "remarkable_activerecord", "= 4.0.0.alpha4"
27
27
  s.add_development_dependency "sqlite3"
28
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_cnpj
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-28 00:00:00.000000000 Z
12
+ date: 2012-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &12750240 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *12750240
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rake
27
- requirement: &12748560 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *12748560
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rspec
38
- requirement: &12748020 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,32 +53,47 @@ dependencies:
43
53
  version: 2.0.0
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *12748020
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.0
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: shoulda-matchers
49
- requirement: &12747500 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
53
68
  - !ruby/object:Gem::Version
54
- version: 1.0.0
69
+ version: 1.2.0
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *12747500
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.2.0
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: remarkable_activerecord
60
- requirement: &12746940 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
- - - =
83
+ - - '='
64
84
  - !ruby/object:Gem::Version
65
85
  version: 4.0.0.alpha4
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *12746940
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 4.0.0.alpha4
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: sqlite3
71
- requirement: &12746500 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,7 +101,12 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *12746500
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  description: Validates CNPJ and test it with matchers in a simple way.
81
111
  email: plribeiro3000@gmail.com
82
112
  executables: []
@@ -92,17 +122,17 @@ files:
92
122
  - Rakefile
93
123
  - lib/validates_cnpj.rb
94
124
  - lib/validates_cnpj/cnpj.rb
95
- - lib/validates_cnpj/remarkable/validate_as_cnpj_matcher.rb
96
- - lib/validates_cnpj/shoulda-matchers/validate_as_cnpj_matcher.rb
125
+ - lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb
126
+ - lib/validates_cnpj/shoulda-matchers/require_a_valid_cnpj_matcher.rb
97
127
  - lib/validates_cnpj/version.rb
98
128
  - spec/fake_app/admin.rb
99
129
  - spec/fake_app/company.rb
100
130
  - spec/fake_app/db/create_admins.rb
101
131
  - spec/fake_app/db/create_companies.rb
102
- - spec/remarkable/validate_as_cnpj_matcher_spec.rb
103
- - spec/shoulda-matchers/validate_as_cnpj_matcher_spec.rb
104
132
  - spec/spec_helper.rb
105
133
  - spec/validates_cnpj/cnpj_spec.rb
134
+ - spec/validates_cnpj/remarkable/validate_as_cnpj_matcher_spec.rb
135
+ - spec/validates_cnpj/shoulda-matchers/validate_as_cnpj_matcher_spec.rb
106
136
  - spec/validates_cnpj_spec.rb
107
137
  - validates_cnpj.gemspec
108
138
  homepage: ''
@@ -125,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
155
  version: '0'
126
156
  requirements: []
127
157
  rubyforge_project: validates_cnpj
128
- rubygems_version: 1.8.10
158
+ rubygems_version: 1.8.24
129
159
  signing_key:
130
160
  specification_version: 3
131
161
  summary: CNPJ Validation GEM
@@ -1,34 +0,0 @@
1
- require 'remarkable/active_record'
2
-
3
- module Remarkable
4
- module ActiveRecord
5
- module Matchers
6
- class ValidateAsCnpjMatcher < Remarkable::ActiveRecord::Base
7
- arguments :cnpj
8
-
9
- collection_assertions :cnpj_valid?, :allow_nil?, :formatted_number?
10
-
11
- protected
12
-
13
- def cnpj_valid?
14
- @subject.cnpj = '123456'
15
- @subject.valid?.errors[:cnpj].should == ['is invalid']
16
- end
17
-
18
- def allow_nil?
19
- @subject.cnpj = nil
20
- @subject.valid?.errors[:cnpj].should == []
21
- end
22
-
23
- def formatted_number?
24
- @subject.cnpj = '51114450000146'
25
- @subject.valid?.cnpj.should == '51.114.450/0001-46'
26
- end
27
- end
28
-
29
- def validate_as_cnpj(*args, &block)
30
- ValidateAsCnpjMatcher.new(*args, &block).spec(self)
31
- end
32
- end
33
- end
34
- end
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- require 'remarkable/active_record'
3
-
4
- describe Remarkable::ActiveRecord::Matchers::ValidateAsCnpjMatcher do
5
- context "on a attribute which validates cnpj" do
6
- it "should require a valid CNPJ" do
7
- @company = Company.new(:cnpj => '123456')
8
- @company.should validate_as_cnpj(:cnpj)
9
- end
10
-
11
- it "should allow a nil value" do
12
- @company = Company.new(:cnpj => nil)
13
- @company.should validate_as_cnpj(:cnpj)
14
- end
15
- end
16
-
17
- context "on a attribute which not validates cnpj" do
18
- before do
19
- @user = Admin.new(:cnpj => '123456')
20
- end
21
-
22
- it "should not require a valid CPF" do
23
- @user.should_not validate_as_cnpj(:cnpj)
24
- end
25
- end
26
- end
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- require 'shoulda-matchers'
3
-
4
- describe Shoulda::Matchers::ActiveModel::ValidateAsCnpjMatcher do
5
- context "on a attribute which validates cnpj" do
6
- it "should require a valid CNPJ" do
7
- @company = Company.new(:cnpj => '123456')
8
- @company.should validate_as_cnpj(:cnpj)
9
- end
10
-
11
- it "should allow a nil value" do
12
- @company = Company.new(:cnpj => nil)
13
- @company.should validate_as_cnpj(:cnpj)
14
- end
15
- end
16
-
17
- context "on a attribute which not validates cnpj" do
18
- before do
19
- @user = Admin.new(:cnpj => '123456')
20
- end
21
-
22
- it "should not require a valid CPF" do
23
- @user.should_not validate_as_cnpj(:cnpj)
24
- end
25
- end
26
- end