barcodevalidation 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 522d7b61575d8c85f1db57f9ccbefcfa07965ffa
4
- data.tar.gz: cd612cf9d41691e9b44003fd581c60b80771d73e
3
+ metadata.gz: db8ad560ea3e5057b6cbaee32f7d3e4075a1e432
4
+ data.tar.gz: a0022217ccfac363462b8bdac2c4e9d4b314d6ab
5
5
  SHA512:
6
- metadata.gz: 7b16df4b9a082951160a1c1e9a06f8947304ae3413224e9521fa57441fefa15184fc58586a2f0e6f63c7cbaa2b220725f13243b7a2aa9f80c25d05bd81440f77
7
- data.tar.gz: 7e328aa855eaf1b4d52c61e91abc085747b90961ec1021a403f0affbb8699c5286aed4e70966631870561b8e90973bf7f66e40842a12f08cddf98fbb7b1f58f1
6
+ metadata.gz: 1130c129b9825032db6054694b393bf58be61f2ce855ed46b56c9b139f94a08498ff5e9f903331b93093af5905241f86190ec418ad53fc3d8413d9a0a7ab476d
7
+ data.tar.gz: 8d49c76a546b5b32d886f5fa32f03924c5a2de39c55047497a3e2d7c0f992f32b53a935e8c97b2a798a7c117dee62fc0254f87ebc168170da65e0ecabf8dbc4e
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in barcodevalidation.gemspec
4
4
  gemspec
5
+
6
+ gem 'minitest'
@@ -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 = ["Alan Harper"]
10
- spec.email = ["alan@aussiegeek.net"]
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
@@ -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
- return false unless [8, 10, 12, 13].include?(barcode.length)
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
@@ -1,3 +1,3 @@
1
1
  module Barcodevalidation
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -1,6 +1,3 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
3
-
4
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
5
2
  require 'barcodevalidation'
6
3
 
@@ -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.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - Alan Harper
7
+ - Marketplacer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-17 00:00:00.000000000 Z
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
- - alan@aussiegeek.net
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.1
51
+ rubygems_version: 2.4.5
108
52
  signing_key:
109
53
  specification_version: 4
110
54
  summary: Barcode validation library