curp_generator 1.1.0 → 1.1.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
  SHA256:
3
- metadata.gz: 0d11b87f0397f7dcd5831ef07ea67eb6f29889fc95a893716b1dba19a19dd615
4
- data.tar.gz: 2f890f4ce2669444a87c3eb8e75e06bd13eb6980969a2eb2dd6771be067ee403
3
+ metadata.gz: 62ae367b8e132528cf37923aef01e10d851f75c90abd13822d578f7d9f9a32df
4
+ data.tar.gz: ea0d939d2e17d09b120c521aaa9146c83ee3cf8f526a10c9ceebb22ff052ecb5
5
5
  SHA512:
6
- metadata.gz: aa637fec84655aad27564a7b4aea659fcfabc055fe70f3b49731e800cac7263ed18d752e9210d3c0299d5c990e676ef6fe8ba87afd3a626b5dc90477590d8459
7
- data.tar.gz: 0ff4930ccb17cd5f2a545f7381db129babb42510fa84379d001e375d4eed0d005b2265a53195bf83fcce0400f1b2dc7964df5b105a72c53e5bd6b6d372b5562d
6
+ metadata.gz: 4ffd3e8de1ab7ef8e8f57d0f1a00892e26a4c34ca7987114f67ec8ea65e0d9b8ebeccbdd003e9405a1fd8057eebb8f6f7068a02ae867025b94291baad9b3a612
7
+ data.tar.gz: 90c3566aeb640e972cb49d163d7c4e9a5670a54539ff0ce5b1ce602539c7ea9a8040fd350f65c78328f2e3194d25edff0f95e355063f8c6cb5ad3ce71e743872
data/lib/base.rb CHANGED
@@ -22,7 +22,7 @@ class CurpGenerator::Base
22
22
  def parse_attribute(attribute)
23
23
  return if blank_string?(attribute)
24
24
 
25
- str = remove_special_chars(normalize(attribute))
25
+ str = remove_special_chars(attribute)
26
26
  remove_composed_names(str)
27
27
  end
28
28
 
@@ -31,7 +31,8 @@ class CurpGenerator::Base
31
31
  end
32
32
 
33
33
  def remove_special_chars(string)
34
- string&.gsub(/[.'\d-]/, "")
34
+ normalized = normalize(string)
35
+ normalized&.gsub(/[.'\d-]/, "")
35
36
  end
36
37
 
37
38
  def normalize(string)
data/lib/birth_date.rb CHANGED
@@ -14,20 +14,27 @@ class CurpGenerator::BirthDate < CurpGenerator::Base
14
14
  end
15
15
 
16
16
  def generate
17
- invalid_params? ? error_message! : parsed_date
17
+ validate_params
18
+ parsed_date
18
19
  end
19
20
 
20
21
  def homoclave_digit
22
+ validate_params
21
23
  @birth_date.year < 2000 ? '0' : 'A'
22
24
  end
23
25
 
24
26
  private
25
27
 
26
- def invalid_params?
27
- blank_string?(@birth_date) || !@birth_date.respond_to?(:strftime)
28
+ def validate_params
29
+ missing_birth_date_error! if blank_string?(@birth_date)
30
+ invalid_format_error! unless @birth_date.respond_to?(:strftime)
28
31
  end
29
32
 
30
- def error_message!
33
+ def missing_birth_date_error!
34
+ raise InvalidCurpArgumentError, 'Missing birth date'
35
+ end
36
+
37
+ def invalid_format_error!
31
38
  raise InvalidCurpArgumentError, 'Invalid date format'
32
39
  end
33
40
 
@@ -12,19 +12,25 @@ class CurpGenerator::DigitVerifier < CurpGenerator::Base
12
12
  end
13
13
 
14
14
  def generate
15
- invalid_params? ? error_message! : verifying_digit
15
+ validate_params
16
+ verifying_digit
16
17
  end
17
18
 
18
19
  private
19
20
 
20
- def invalid_params?
21
- blank_string?(@partial_curp) || @partial_curp.size != 17
21
+ def validate_params
22
+ missing_partial_curp_error! if blank_string?(@partial_curp)
23
+ invalid_size_error! if @partial_curp.size != 17
22
24
  end
23
25
 
24
- def error_message!
26
+ def missing_partial_curp_error!
25
27
  raise InvalidCurpArgumentError, 'Missing partial curp'
26
28
  end
27
29
 
30
+ def invalid_size_error!
31
+ raise InvalidCurpArgumentError, 'Invalid partial curp size'
32
+ end
33
+
28
34
  def verifying_digit
29
35
  length_sum = 0.0
30
36
 
data/lib/gender.rb CHANGED
@@ -24,20 +24,26 @@ class CurpGenerator::Gender < CurpGenerator::Base
24
24
  end
25
25
 
26
26
  def generate
27
- invalid_params? ? error_message! : parsed_gender
27
+ validate_params
28
+ parsed_gender
28
29
  end
29
30
 
30
31
  private
31
32
 
32
- def invalid_params?
33
- blank_string?(@gender) || invalid_gender?
33
+ def validate_params
34
+ missing_gender_error! if blank_string?(@gender)
35
+ invalid_gender_error! if invalid_gender?
34
36
  end
35
37
 
36
38
  def invalid_gender?
37
39
  !VALID_MALE_GENDERS.include?(@gender) && !VALID_FEMALE_GENDERS.include?(@gender)
38
40
  end
39
41
 
40
- def error_message!
42
+ def missing_gender_error!
43
+ raise InvalidCurpArgumentError, 'Missing gender'
44
+ end
45
+
46
+ def invalid_gender_error!
41
47
  raise InvalidCurpArgumentError, "Available gender options are #{VALID_MALE_GENDERS + VALID_FEMALE_GENDERS}"
42
48
  end
43
49
 
data/lib/name.rb CHANGED
@@ -20,7 +20,7 @@ class CurpGenerator::Name < CurpGenerator::Base
20
20
  end
21
21
 
22
22
  def generate
23
- error_message! if invalid_params?
23
+ validate_params
24
24
  end
25
25
 
26
26
  def prefix_name
@@ -35,12 +35,17 @@ class CurpGenerator::Name < CurpGenerator::Base
35
35
 
36
36
  private
37
37
 
38
- def invalid_params?
39
- blank_string?(@first_name) || blank_string?(@first_last_name)
38
+ def validate_params
39
+ missing_first_name_error! if blank_string?(@first_name)
40
+ missing_first_last_name_error! if blank_string?(@first_last_name)
40
41
  end
41
42
 
42
- def error_message!
43
- raise InvalidCurpArgumentError, 'Invalid name arguments'
43
+ def missing_first_name_error!
44
+ raise InvalidCurpArgumentError, 'Missing first name'
45
+ end
46
+
47
+ def missing_first_last_name_error!
48
+ raise InvalidCurpArgumentError, 'Missing first last name'
44
49
  end
45
50
 
46
51
  def prefix_consonants
data/lib/state.rb CHANGED
@@ -4,7 +4,7 @@ class CurpGenerator::State < CurpGenerator::Base
4
4
  include CurpGenerator::Catalogs
5
5
 
6
6
  def initialize(birth_state)
7
- @birth_state = parse_attribute(birth_state&.upcase)
7
+ @birth_state = remove_special_chars(birth_state&.upcase)
8
8
  end
9
9
 
10
10
  def self.generate(birth_state)
@@ -12,7 +12,7 @@ class CurpGenerator::State < CurpGenerator::Base
12
12
  end
13
13
 
14
14
  def generate
15
- invalid_params? ? error_message! : parsed_state
15
+ invalid_params? ? missing_birth_state_error! : parsed_state
16
16
  end
17
17
 
18
18
  private
@@ -21,7 +21,7 @@ class CurpGenerator::State < CurpGenerator::Base
21
21
  blank_string?(@birth_state)
22
22
  end
23
23
 
24
- def error_message!
24
+ def missing_birth_state_error!
25
25
  raise InvalidCurpArgumentError, 'Missing birth state argument'
26
26
  end
27
27
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CurpGenerator
2
- VERSION = '1.1.0'.freeze
2
+ VERSION = '1.1.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curp_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Carlos Estebes