barcodevalidation 1.0.0 → 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 +4 -4
- data/Gemfile +2 -0
- data/barcodevalidation.gemspec +2 -7
- data/lib/barcodevalidation.rb +5 -5
- data/lib/barcodevalidation/version.rb +1 -1
- data/test/minitest_helper.rb +0 -3
- data/test/test_barcodevalidation.rb +2 -5
- metadata +6 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db8ad560ea3e5057b6cbaee32f7d3e4075a1e432
|
4
|
+
data.tar.gz: a0022217ccfac363462b8bdac2c4e9d4b314d6ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1130c129b9825032db6054694b393bf58be61f2ce855ed46b56c9b139f94a08498ff5e9f903331b93093af5905241f86190ec418ad53fc3d8413d9a0a7ab476d
|
7
|
+
data.tar.gz: 8d49c76a546b5b32d886f5fa32f03924c5a2de39c55047497a3e2d7c0f992f32b53a935e8c97b2a798a7c117dee62fc0254f87ebc168170da65e0ecabf8dbc4e
|
data/Gemfile
CHANGED
data/barcodevalidation.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'barcodevalidation/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "barcodevalidation"
|
8
8
|
spec.version = Barcodevalidation::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["Marketplacer"]
|
10
|
+
spec.email = ["it@marketplacer.com"]
|
11
11
|
spec.summary = %q{Barcode validation library}
|
12
12
|
spec.description = %q{Simple barcode validator. Just verifies that barcode checksum is valid}
|
13
13
|
spec.homepage = ""
|
@@ -17,9 +17,4 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
-
spec.add_development_dependency "rake"
|
23
|
-
spec.add_development_dependency "minitest"
|
24
|
-
spec.add_development_dependency "codeclimate-test-reporter"
|
25
20
|
end
|
data/lib/barcodevalidation.rb
CHANGED
@@ -2,8 +2,11 @@ require "barcodevalidation/version"
|
|
2
2
|
|
3
3
|
module Barcodevalidation
|
4
4
|
def self.valid?(barcode)
|
5
|
-
barcode = barcode.to_s
|
6
|
-
|
5
|
+
barcode = barcode.to_s.strip
|
6
|
+
# only accept numeric codes
|
7
|
+
return false unless barcode =~ /^\d+$/
|
8
|
+
# accept lengths defined at gtin.info
|
9
|
+
return false unless [8, 12, 13, 14].include?(barcode.length)
|
7
10
|
|
8
11
|
parts = barcode.rjust(18, '0').chars.map(&:to_i)
|
9
12
|
checksum = parts.pop
|
@@ -19,8 +22,5 @@ module Barcodevalidation
|
|
19
22
|
|
20
23
|
calculated_checksum = ((calculated_checksum.to_f / 10).ceil * 10) - calculated_checksum
|
21
24
|
checksum == calculated_checksum
|
22
|
-
|
23
|
-
rescue ArgumentError
|
24
|
-
false #we only accept numeric barcodes
|
25
25
|
end
|
26
26
|
end
|
data/test/minitest_helper.rb
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
require 'minitest_helper'
|
2
2
|
|
3
3
|
class TestBarcodevalidation < MiniTest::Test
|
4
|
-
def test_that_it_has_a_version_number
|
5
|
-
refute_nil ::Barcodevalidation::VERSION
|
6
|
-
end
|
7
|
-
|
8
4
|
def test_valid_barcodes
|
9
5
|
[
|
10
6
|
937179004167,
|
@@ -32,7 +28,8 @@ class TestBarcodevalidation < MiniTest::Test
|
|
32
28
|
777777,
|
33
29
|
99999999,
|
34
30
|
12345678901,
|
35
|
-
123456789012345
|
31
|
+
123456789012345,
|
32
|
+
'BODGYBARCODE'
|
36
33
|
].each { |barcode| refute Barcodevalidation.valid?(barcode), barcode }
|
37
34
|
end
|
38
35
|
end
|
metadata
CHANGED
@@ -1,74 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: barcodevalidation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Marketplacer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.6'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.6'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: codeclimate-test-reporter
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
11
|
+
date: 2016-03-23 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
69
13
|
description: Simple barcode validator. Just verifies that barcode checksum is valid
|
70
14
|
email:
|
71
|
-
-
|
15
|
+
- it@marketplacer.com
|
72
16
|
executables: []
|
73
17
|
extensions: []
|
74
18
|
extra_rdoc_files: []
|
@@ -104,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
48
|
version: '0'
|
105
49
|
requirements: []
|
106
50
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.5
|
51
|
+
rubygems_version: 2.4.5
|
108
52
|
signing_key:
|
109
53
|
specification_version: 4
|
110
54
|
summary: Barcode validation library
|