unidom-article_number 2.3.4 → 2.3.5

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: b24f148994618c534ec06ae430b374bb20ad47a7
4
- data.tar.gz: 70c026fb39b7b9d44c4940d40c0839f595adfc28
3
+ metadata.gz: f230184a9348c0a6540ff87054d0e237210f44a9
4
+ data.tar.gz: 1680b0164bcdf2569392dcac358db9c414c47092
5
5
  SHA512:
6
- metadata.gz: 644ffbb30fd613ce1fc0af25f567424be8d841504714be6032bfbec9e04a1877be3528fa74bf2f3c8196167a7fa790e028375d95d512e5bf869a9f973c9b0753
7
- data.tar.gz: ad827209dd0e5bfa3052cb4804707b32aab55c72cc8c668e9e4013f3b4b54773f6080768c6cc01e316aba055747c61e1c4ea0f0c2b2fdb0543173a86f715e73f
6
+ metadata.gz: 1ec8c735447b02c849a1b36479b895861ad88fd01e0f582df8e3586c455a7306c4b9f6eba335c53d454dc4204fa9758a204bc3caeabb1ea17784bc4064b7dac7
7
+ data.tar.gz: 34161d493bbf609110bcab81f9184b55bbaea889adc5294c141abec00a853f90eb27a6bc99523cd387893121ac9bc49a361e6d5466ccdeef61f219b1e41dac6e
@@ -13,10 +13,10 @@ class Unidom::ArticleNumber::Ean13Barcode < Unidom::ArticleNumber::ApplicationRe
13
13
  include Unidom::ArticleNumber::Concerns::AsBarcode
14
14
 
15
15
  validates :code, uniqueness: true, length: { minimum: 13 }, numericality: { only_integer: true }
16
- validates :gs1_prefix, presence: true, length: { is: 3 }, numericality: { only_integer: true }
17
- validates :company_number, presence: true, length: { is: 4 }, numericality: { only_integer: true }
18
- validates :item_reference, presence: true, length: { is: 5 }, numericality: { only_integer: true }
19
- validates :check_digit, presence: true, length: { is: 1 }, numericality: { only_integer: true }
16
+ validates :gs1_prefix, presence: true, length: { is: 3 }, numericality: { only_integer: true }
17
+ validates :company_number, presence: true, length: { is: 4 }, numericality: { only_integer: true }
18
+ validates :item_reference, presence: true, length: { is: 5 }, numericality: { only_integer: true }
19
+ validates :check_digit, presence: true, length: { is: 1 }, numericality: { only_integer: true }
20
20
 
21
21
  def code=(code)
22
22
  code = code.to_s
@@ -11,10 +11,10 @@ class Unidom::ArticleNumber::Ean8Barcode < Unidom::ArticleNumber::ApplicationRec
11
11
  include Unidom::Common::Concerns::ModelExtension
12
12
  include Unidom::ArticleNumber::Concerns::AsBarcode
13
13
 
14
- validates :code, uniqueness: true, numericality: { only_integer: true }
15
- validates :gs1_prefix, presence: true, length: { is: 3 }, numericality: { only_integer: true }
16
- validates :item_reference, presence: true, length: { is: 4 }, numericality: { only_integer: true }
17
- validates :check_digit, presence: true, length: { is: 1 }, numericality: { only_integer: true }
14
+ validates :code, uniqueness: true, length: { minimum: 8 }, numericality: { only_integer: true }
15
+ validates :gs1_prefix, presence: true, length: { is: 3 }, numericality: { only_integer: true }
16
+ validates :item_reference, presence: true, length: { is: 4 }, numericality: { only_integer: true }
17
+ validates :check_digit, presence: true, length: { is: 1 }, numericality: { only_integer: true }
18
18
 
19
19
  def code=(code)
20
20
  code = code.to_s
@@ -12,8 +12,27 @@ describe Unidom::ArticleNumber::Ean8Barcode, type: :model do
12
12
  code: '12345678'
13
13
  }
14
14
 
15
+ code_max_length = described_class.columns_hash['code'].limit
16
+
15
17
  it_behaves_like 'Unidom::Common::Concerns::ModelExtension', model_attributes
16
18
 
19
+ it_behaves_like 'validates', model_attributes, :code,
20
+ { } => 0,
21
+ { code: nil } => 3,
22
+ { code: '' } => 3,
23
+ { code: '1' } => 1,
24
+ { code: 'A' } => 2,
25
+ { code: '11' } => 1,
26
+ { code: 'AA' } => 2,
27
+ { code: '111' } => 1,
28
+ { code: 'AAA' } => 2,
29
+ { code: '1'*(code_max_length-1) } => 1,
30
+ { code: 'A'*(code_max_length-1) } => 2,
31
+ { code: '1'*code_max_length } => 0,
32
+ { code: 'A'*code_max_length } => 1,
33
+ { code: '1'*(code_max_length+1) } => 1,
34
+ { code: 'A'*(code_max_length+1) } => 2
35
+
17
36
  end
18
37
 
19
38
  end
@@ -1,5 +1,5 @@
1
1
  module Unidom
2
2
  module ArticleNumber
3
- VERSION = '2.3.4'.freeze
3
+ VERSION = '2.3.5'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unidom-article_number
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.4
4
+ version: 2.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-05 00:00:00.000000000 Z
11
+ date: 2017-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unidom-common