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 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