vat-siren-siret 0.1.1 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84a274a6614d2d7ade87cbc8f82a9de6402598bf
4
- data.tar.gz: 4727797c0a4db7ad5c5ea3594b5101a61ec56887
3
+ metadata.gz: af2cb7ca61545eed52b9ee5ed9845025e4b8087b
4
+ data.tar.gz: fa74bbba8cc0d95afd52915aadb28cef877f5ae9
5
5
  SHA512:
6
- metadata.gz: 7e9fc36f1ba3224d9ccb9e4deacbe17a4a40b8b6ea0caffb92f07c301090826503caf1e904740babeb196f7ad389a9e566d7a759c349591921ee610e0e79b332
7
- data.tar.gz: 3fcad2c9423f46a44d176ec9581189ec0b96bb623687a8d8880fcdaff53b5ce6d33aba73d41c744acdb7d160b36784b5ce124411d12e078706bdf7663e875939
6
+ metadata.gz: 265ebb38a93247fe4f8758f81c8b8202b62f0de745ed18b9e2aef4ab95bfbf25f9a1566dda3f5688ff5c4cf5da3735f21d275274fa59489e11478029c688ed78
7
+ data.tar.gz: a4983a086efdf75c22d72f0ddd743da645336d6e4cfd5202c12640a6f678b70bfdd4512d4b725d63eba97ef12aff8b4b9ca1784ea74fb6e5934732b0c2b26f35
@@ -1,7 +1,6 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 1.9
5
4
  - 2.0
6
5
  - 2.1
7
6
  - 2.2
@@ -0,0 +1,42 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [1.0.1] - 2020-03-28
8
+
9
+ **breaking changes :**
10
+ - drop support for ruby 1.9 (incompatible with rake 12.3.3)
11
+ - to_siren/to_vat returns `nil` (instead of `false`) when input string is neither a VAT / SIREN / SIRET
12
+ - format_siren/format_siret/format_vat returns `nil` (instead of raising an error) when input string is neither a VAT / SIREN / SIRET
13
+
14
+ ### Added
15
+ - gem can be required with "require 'vat-siren-siret'"
16
+ - This CHANGELOG file to hopefully serve as an evolving example of a
17
+ standardized open source project CHANGELOG.
18
+
19
+ ### Changed
20
+ - update rake (to fix CVE-2020-8130)
21
+ - to_siren/to_vat returns `nil` (instead of `false`) when input string is neither a VAT / SIREN / SIRET
22
+ - format_siren/format_siret/format_vat returns `nil` (instead of raising an error) when input string is neither a VAT / SIREN / SIRET
23
+
24
+ ### Removed
25
+ - support for ruby 1.9
26
+
27
+ ## [0.1.1] - 2018-02-11
28
+ ### Changed
29
+ - rubygems description
30
+
31
+ ## [0.1.0] - 2018-02-08
32
+ ### Added
33
+ - API : Vss namespace with all methods
34
+ (siren?, siret?, vat?, to_siren, to_vat,
35
+ generate_siren, generate_siret, generate_vat,
36
+ format_siren, format_siret, format_vat)
37
+ - unit tests
38
+
39
+ [1.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.1...v1.0.1
40
+
41
+ [0.1.1]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.1.1
42
+ [0.1.0]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.1.0
data/README.md CHANGED
@@ -68,14 +68,12 @@ Evaluate if the `value` is a french VAT and return a `boolean`.
68
68
  ### Vss.to_vat(value)
69
69
 
70
70
  Generate the french VAT from a SIREN or a SIRET and return a `string`
71
- Return `false` when value is neither a SIREN, SIRET or VAT.
72
- Return `value` if it already is a VAT.
71
+ Return `nil` when value is neither a SIREN, SIRET or VAT.
73
72
 
74
73
  ### Vss.to_siren(value)
75
74
 
76
75
  Generate the SIREN from a VAT or a SIRET and return a `string`
77
- Return `false` when value is neither a SIREN, SIRET or VAT.
78
- Return `value` if it already is a SIREN.
76
+ Return `nil` when value is neither a SIREN, SIRET or VAT.
79
77
 
80
78
  ### Vss.generate_siren
81
79
 
@@ -0,0 +1 @@
1
+ require 'vss'
data/lib/vss.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # French VAT / SIRET / SIREN numbers validation and generation as described here:
2
2
  # https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27identification_du_r%C3%A9pertoire_des_%C3%A9tablissements#Calcul_et_validit.C3.A9_d.27un_num.C3.A9ro_SIRET
3
3
  module Vss
4
- VERSION = '0.1.1'.freeze
4
+ VERSION = '1.0.1'.freeze
5
5
 
6
6
  REGEXPS = {
7
7
  SIREN: /^\d{9}$/,
@@ -32,14 +32,17 @@ module Vss
32
32
  return string if siren?(string)
33
33
  return string[0..8] if siret?(string)
34
34
  return string[4..-1] if vat?(string)
35
- false
35
+
36
+ nil
36
37
  end
37
38
 
38
39
  # Convert a SIREN / SIRET / VAT to a VAT
39
40
  def self.to_vat(string)
40
41
  return string if vat?(string)
42
+
41
43
  siren = siret?(string) ? to_siren(string) : string
42
- return false unless siren?(siren)
44
+ return unless siren?(siren)
45
+
43
46
  key = vat_key(siren)
44
47
  "FR#{format('%02d', key)}#{siren}"
45
48
  end
@@ -57,17 +60,20 @@ module Vss
57
60
  end
58
61
 
59
62
  def self.format_siren(siren)
60
- raise 'Not a valid SIREN' unless siren?(siren)
63
+ return unless siren?(siren)
64
+
61
65
  siren.gsub(REGEXPS[:formatSIREN], '\1 ')
62
66
  end
63
67
 
64
68
  def self.format_siret(siret)
65
- raise 'Not a valid SIRET' unless siret?(siret)
69
+ return unless siret?(siret)
70
+
66
71
  siret.gsub(REGEXPS[:formatSIRET], '\1 \2 \3 \4')
67
72
  end
68
73
 
69
74
  def self.format_vat(vat)
70
- raise 'Not a valid VAT number' unless vat?(vat)
75
+ return unless vat?(vat)
76
+
71
77
  vat.gsub(REGEXPS[:formatVAT], '\1 \2 \3 \4 \5')
72
78
  end
73
79
 
@@ -75,6 +81,7 @@ module Vss
75
81
 
76
82
  def self.match?(re, str) # :nodoc:
77
83
  return re.match?(str) if re.respond_to?(:match?) # ruby >= 2.4
84
+
78
85
  !(re =~ str).nil?
79
86
  end
80
87
 
@@ -6,22 +6,35 @@ Gem::Specification.new do |spec|
6
6
  spec.name = 'vat-siren-siret'
7
7
  spec.version = Vss::VERSION
8
8
  spec.authors = ['MathieuDerelle']
9
- spec.email = ['mathieu@purchease.com']
9
+ spec.email = ['mathieu.derelle@gmail.com']
10
10
 
11
- spec.summary = 'Library to check or generate french VAT / SIRET / SIREN'
12
- spec.description = 'Library to check or generate french VAT / SIRET / SIREN'
11
+ spec.summary = 'Library to check or generate french VAT / SIREN / SIRET'
12
+ spec.description = 'Library to check or generate french VAT / SIREN / SIRET'
13
13
  spec.homepage = 'https://github.com/MathieuDerelle/vat-siren-siret'
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
17
  f.match(%r{^(test|spec|features)/})
18
18
  end
19
- spec.bindir = 'exe'
20
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.bindir = 'bin'
20
+ # spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
+ spec.extra_rdoc_files = ['README.md']
24
+
25
+ spec.metadata = {
26
+ 'documentation_uri' => 'http://www.rubydoc.info/gems/vat-siren-siret/',
27
+ 'source_code_uri' => 'https://github.com/MathieuDerelle/vat-siren-siret',
28
+ # 'wiki_uri' => 'https://github.com/MathieuDerelle/vat-siren-siret/wiki',
29
+ # 'changelog_uri' => 'https://github.com/MathieuDerelle/vat-siren-siret/CHANGELOG.md',
30
+ 'ci_uri' => 'https://travis-ci.org/MathieuDerelle/vat-siren-siret',
31
+ 'coverage_uri' => 'https://coveralls.io/github/MathieuDerelle/vat-siren-siret',
32
+ }
33
+
34
+ spec.required_ruby_version = '>= 2.0'
35
+
23
36
  spec.add_development_dependency 'bundler', '~> 1.15'
24
- spec.add_development_dependency 'rake', '~> 10.0'
37
+ spec.add_development_dependency 'rake', '~> 12.3.3'
25
38
  spec.add_development_dependency 'rspec', '~> 3.0'
26
39
  spec.add_development_dependency 'rubocop'
27
40
  spec.add_development_dependency 'coveralls'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vat-siren-siret
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - MathieuDerelle
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-11 00:00:00.000000000 Z
11
+ date: 2020-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,30 +80,37 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Library to check or generate french VAT / SIRET / SIREN
83
+ description: Library to check or generate french VAT / SIREN / SIRET
84
84
  email:
85
- - mathieu@purchease.com
85
+ - mathieu.derelle@gmail.com
86
86
  executables: []
87
87
  extensions: []
88
- extra_rdoc_files: []
88
+ extra_rdoc_files:
89
+ - README.md
89
90
  files:
90
91
  - ".gitignore"
91
92
  - ".rspec"
92
93
  - ".rubocop.yml"
93
94
  - ".travis.yml"
95
+ - CHANGELOG.md
94
96
  - Gemfile
95
97
  - LICENSE.txt
96
98
  - README.md
97
99
  - Rakefile
98
100
  - bin/console
99
101
  - bin/setup
102
+ - lib/vat-siren-siret.rb
100
103
  - lib/vat/siren/siret.rb
101
104
  - lib/vss.rb
102
105
  - vat-siren-siret.gemspec
103
106
  homepage: https://github.com/MathieuDerelle/vat-siren-siret
104
107
  licenses:
105
108
  - MIT
106
- metadata: {}
109
+ metadata:
110
+ documentation_uri: http://www.rubydoc.info/gems/vat-siren-siret/
111
+ source_code_uri: https://github.com/MathieuDerelle/vat-siren-siret
112
+ ci_uri: https://travis-ci.org/MathieuDerelle/vat-siren-siret
113
+ coverage_uri: https://coveralls.io/github/MathieuDerelle/vat-siren-siret
107
114
  post_install_message:
108
115
  rdoc_options: []
109
116
  require_paths:
@@ -112,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
119
  requirements:
113
120
  - - ">="
114
121
  - !ruby/object:Gem::Version
115
- version: '0'
122
+ version: '2.0'
116
123
  required_rubygems_version: !ruby/object:Gem::Requirement
117
124
  requirements:
118
125
  - - ">="
@@ -120,8 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
127
  version: '0'
121
128
  requirements: []
122
129
  rubyforge_project:
123
- rubygems_version: 2.4.5.1
130
+ rubygems_version: 2.4.8
124
131
  signing_key:
125
132
  specification_version: 4
126
- summary: Library to check or generate french VAT / SIRET / SIREN
133
+ summary: Library to check or generate french VAT / SIREN / SIRET
127
134
  test_files: []