valvat 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  pkg/*
2
2
  *.gem
3
3
  .bundle
4
+ Gemfile.lock
data/CHANGES.md ADDED
@@ -0,0 +1,15 @@
1
+ ### dev
2
+
3
+ [full changelog](http://github.com/yolk/valvat/compare/v0.0.2...0.0.3)
4
+
5
+ ### 0.0.3 / 2011-01-06
6
+
7
+ [full changelog](http://github.com/yolk/valvat/compare/v0.0.1...v0.0.2)
8
+
9
+ * Basic support for ActiveModel validation
10
+
11
+ ### 0.0.2 / 2011-01-06
12
+
13
+ [full changelog](http://github.com/yolk/valvat/compare/v0.0.1...v0.0.2)
14
+
15
+ * Use REST-wrapper for accessing VIES web service; this removes dependency on savon and some lines of code. See http://isvat.appspot.com/
@@ -1,12 +1,14 @@
1
- == valvat
1
+ ## valvat
2
2
 
3
3
  Validates european vat numbers. Supports simple syntax verification and lookup via the VIES web service.
4
4
 
5
- == Installation
5
+ valvat is tested and works with ruby 1.8.7 and 1.9.2.
6
+
7
+ ### Installation
6
8
 
7
9
  gem install valvat
8
10
 
9
- == Basic Usage
11
+ ### Basic Usage
10
12
 
11
13
  To verify the syntax of a vat number:
12
14
 
@@ -22,7 +24,7 @@ Keep in mind that the VIES webservice might be offline at some time for some cou
22
24
 
23
25
  See http://ec.europa.eu/taxation_customs/vies/viesspec.do for more accurate information at what time the service for a specific country will be down.
24
26
 
25
- == Utilities
27
+ ### Utilities
26
28
 
27
29
  To split a vat number into the ISO country code and the remaining chars:
28
30
 
@@ -38,12 +40,15 @@ To normalize a vat number:
38
40
 
39
41
  This basically just removes trailing spaces and ensures all chars are upcase.
40
42
 
41
- == Links
43
+ ### Links
42
44
 
43
45
  * http://ec.europa.eu/taxation_customs/vies
44
- * http://www.bzst.de/DE/Steuern_International/USt_Identifikationsnummer/Merkblaetter/Aufbau_USt_IdNr.html (german)
46
+ * http://bzst.de/DE/Steuern_International/USt_Identifikationsnummer/Merkblaetter/Aufbau_USt_IdNr.html (german)
45
47
  * http://en.wikipedia.org/wiki/European_Union_Value_Added_Tax
48
+ * http://isvat.appspot.com/
49
+
50
+ ### BlaBla
46
51
 
47
- == BlaBla
52
+ Copyright (c) 2011 Yolk Sebastian Munz & Julia Soergel GbR
48
53
 
49
- Copyright (c) 2011 Yolk Sebastian Munz & Julia Soergel GbR
54
+ Beyond that, the implementation is licensed under the MIT License.
data/lib/valvat.rb CHANGED
@@ -6,3 +6,4 @@ require 'valvat/utils'
6
6
  require 'valvat/syntax'
7
7
  require 'valvat/lookup'
8
8
  require 'valvat/version'
9
+ require 'valvat/active_model' if defined?(ActiveModel)
@@ -0,0 +1,7 @@
1
+ class ValvatValidator < ::ActiveModel::EachValidator
2
+ def validate_each(record, attribute, value)
3
+ unless Valvat::Syntax.validate(value)
4
+ record.errors.add(attribute, options[:message])
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Valvat
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,19 @@
1
1
  require 'rspec'
2
+ require 'active_model'
2
3
 
3
- require File.dirname(__FILE__) + '/../lib/valvat.rb'
4
+ require File.dirname(__FILE__) + '/../lib/valvat.rb'
5
+
6
+ class ModelBase
7
+ include ActiveModel::Serialization
8
+ include ActiveModel::Validations
9
+
10
+ attr_accessor :attributes
11
+
12
+ def initialize(attributes = {})
13
+ @attributes = attributes
14
+ end
15
+
16
+ def read_attribute_for_validation(key)
17
+ @attributes[key]
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ class Invoice < ModelBase
4
+ validates :vat_number, :valvat => true
5
+ end
6
+
7
+ describe Invoice do
8
+ context "with valid vat number" do
9
+ before do
10
+ Valvat::Syntax.stub(:validate => true)
11
+ end
12
+
13
+ it "should be valid" do
14
+ Invoice.new(:vat_number => "DE345889003").should be_valid
15
+ end
16
+ end
17
+
18
+ context "with invalid vat number" do
19
+ before do
20
+ Valvat::Syntax.stub(:validate => false)
21
+ end
22
+
23
+ it "should be valid" do
24
+ Invoice.new(:vat_number => "DE345889003").should_not be_valid
25
+ end
26
+ end
27
+ end
data/valvat.gemspec CHANGED
@@ -21,7 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.add_development_dependency 'guard-rspec', '>=0.1.9'
22
22
  s.add_development_dependency 'growl', '>=1.0.3'
23
23
  s.add_development_dependency 'rb-fsevent', '>=0.3.9'
24
-
25
- s.has_rdoc = true
26
- s.extra_rdoc_files = ['README.rdoc']
24
+ s.add_development_dependency 'activemodel', '>=3.0'
27
25
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 3
9
+ version: 0.0.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sebastian Munz
@@ -77,6 +77,20 @@ dependencies:
77
77
  version: 0.3.9
78
78
  type: :development
79
79
  version_requirements: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ name: activemodel
82
+ prerelease: false
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ segments:
89
+ - 3
90
+ - 0
91
+ version: "3.0"
92
+ type: :development
93
+ version_requirements: *id005
80
94
  description: Validates european vat numbers. Supports simple syntax verification and lookup via the VIES web service.
81
95
  email:
82
96
  - sebastian@yo.lk
@@ -84,24 +98,25 @@ executables: []
84
98
 
85
99
  extensions: []
86
100
 
87
- extra_rdoc_files:
88
- - README.rdoc
101
+ extra_rdoc_files: []
102
+
89
103
  files:
90
104
  - .gitignore
91
105
  - .rvmrc
92
- - CHANGES.markdown
106
+ - CHANGES.md
93
107
  - Gemfile
94
- - Gemfile.lock
95
108
  - Guardfile
96
109
  - MIT-LICENSE
97
- - README.rdoc
110
+ - README.md
98
111
  - Rakefile
99
112
  - lib/valvat.rb
113
+ - lib/valvat/active_model.rb
100
114
  - lib/valvat/lookup.rb
101
115
  - lib/valvat/syntax.rb
102
116
  - lib/valvat/utils.rb
103
117
  - lib/valvat/version.rb
104
118
  - spec/spec_helper.rb
119
+ - spec/valvat/active_model_spec.rb
105
120
  - spec/valvat/lookup_spec.rb
106
121
  - spec/valvat/syntax_spec.rb
107
122
  - spec/valvat/utils_spec.rb
@@ -141,6 +156,7 @@ specification_version: 3
141
156
  summary: Validates european vat numbers. Supports simple syntax verification and lookup via the VIES web service.
142
157
  test_files:
143
158
  - spec/spec_helper.rb
159
+ - spec/valvat/active_model_spec.rb
144
160
  - spec/valvat/lookup_spec.rb
145
161
  - spec/valvat/syntax_spec.rb
146
162
  - spec/valvat/utils_spec.rb
data/CHANGES.markdown DELETED
@@ -1,5 +0,0 @@
1
- ### 0.0.2 / 2011-01-06
2
-
3
- [full changelog](http://github.com/yolk/valvat/compare/v0.0.1...v0.0.2)
4
-
5
- * Use REST-wrapper for accessing VIES web service; this removes dependency on savon and some lines of code. See http://isvat.appspot.com/
data/Gemfile.lock DELETED
@@ -1,42 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- valvat (0.0.1)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- configuration (1.2.0)
10
- diff-lcs (1.1.2)
11
- growl (1.0.3)
12
- guard (0.2.2)
13
- open_gem (~> 1.4.2)
14
- thor (~> 0.14.3)
15
- guard-rspec (0.1.9)
16
- guard (>= 0.2.2)
17
- launchy (0.3.7)
18
- configuration (>= 0.0.5)
19
- rake (>= 0.8.1)
20
- open_gem (1.4.2)
21
- launchy (~> 0.3.5)
22
- rake (0.8.7)
23
- rb-fsevent (0.3.9)
24
- rspec (2.4.0)
25
- rspec-core (~> 2.4.0)
26
- rspec-expectations (~> 2.4.0)
27
- rspec-mocks (~> 2.4.0)
28
- rspec-core (2.4.0)
29
- rspec-expectations (2.4.0)
30
- diff-lcs (~> 1.1.2)
31
- rspec-mocks (2.4.0)
32
- thor (0.14.6)
33
-
34
- PLATFORMS
35
- ruby
36
-
37
- DEPENDENCIES
38
- growl (>= 1.0.3)
39
- guard-rspec (>= 0.1.9)
40
- rb-fsevent (>= 0.3.9)
41
- rspec (>= 2.4.0)
42
- valvat!