rumanu 0.11.1 → 0.15.0

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: 5bc7c8a56b6d9cf4024a092cf18a6a946c43a2cca34f29072db5fc6db32d6fb9
4
- data.tar.gz: 54a793b29db980a2b27e8ca7c5a7054f616e041e3c8414d1423e825fa5d171c6
3
+ metadata.gz: fe3779afa0fc57283cd2dc75d7837208ba03a916f5f90efeb2dad87d05a0459a
4
+ data.tar.gz: acd361f4a2baf8238b425d1c3cbf5ef6caf22fd891439d856448cbec456fd7ea
5
5
  SHA512:
6
- metadata.gz: a1045fd5b8c23a365272ddda0db5d99906e14126675f9534ec614bb4caa66713294d95a48252d2e327dcaafcf2856fe93114fc03518a1f8dbb086c83410fb56b
7
- data.tar.gz: 204a4a6dbc6f6f0d36af749dd8b24aae5715e8920868e20485931a22e4711877a02baa3b85f7dc6951df4b7c6a1b4599d39d7bd9642b0aa2f9b3c2e124f8cd59
6
+ metadata.gz: ba9f14dc584f24058c5ba06bc31e5b7d87fb058c5f09e07b4e84fe46065a7490df78114413f4dad8897575fb7c2988c9d534e265bcd649b431ec539738643f0c
7
+ data.tar.gz: e7afc3962cdb7751ec5ad08ae22d8511396a9093990eb77242f715c1d77f032a8eae20dc62ecc40f715a45e8b68e2a77176ec24681d412f49c1a6bdee0fbead0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rumanu (0.11.0)
4
+ rumanu (0.15.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -12,7 +12,7 @@ GEM
12
12
  pry (0.12.2)
13
13
  coderay (~> 1.1.0)
14
14
  method_source (~> 0.9.0)
15
- rake (10.5.0)
15
+ rake (13.0.1)
16
16
  rspec (3.8.0)
17
17
  rspec-core (~> 3.8.0)
18
18
  rspec-expectations (~> 3.8.0)
@@ -34,7 +34,7 @@ DEPENDENCIES
34
34
  bundler (~> 1.16)
35
35
  coderay (~> 1.1)
36
36
  pry
37
- rake (~> 10.0)
37
+ rake (~> 13.0)
38
38
  rspec (~> 3.0)
39
39
  rumanu!
40
40
 
data/lib/rumanu.rb CHANGED
@@ -1,5 +1,7 @@
1
- require "rumanu/version"
2
- require "rumanu/helpers"
3
- require "rumanu/alphabets"
4
- require "rumanu/meaning"
5
- require "rumanu/numerology"
1
+ # frozen_string_literal: true
2
+
3
+ require 'rumanu/version'
4
+ require 'rumanu/helpers'
5
+ require 'rumanu/alphabets'
6
+ require 'rumanu/meaning'
7
+ require 'rumanu/numerology'
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rumanu
2
4
  # Pythagoras alphabet
3
- PY_VOWELS = { 'a' => 1, 'á' => 1, 'e' => 5, 'é' => 5, 'i' => 9,
4
- 'í' => 9, 'o' => 6, 'ó' => 6, 'u' => 3, 'ú' => 3, 'ü' => 3 }
5
-
6
- PY_CONSONANTS = { 'b' => 2, 'c' => 3, 'd' => 4, 'f' => 6, 'g' => 7,
7
- 'h' => 8, 'j' => 1, 'k' => 2, 'l' => 3, 'm' => 4, 'n' => 5,
8
- 'p' => 7, 'q' => 8, 'r' => 9, 's' => 1, 't' => 2, 'v' => 4,
9
- 'w' => 5, 'x' => 6, 'y' => 7, 'z' => 8 }
5
+ VOWELS = { 'a' => 1, 'á' => 1, 'e' => 5, 'é' => 5, 'i' => 9,
6
+ 'í' => 9, 'o' => 6, 'ó' => 6, 'u' => 3, 'ú' => 3, 'ü' => 3 }.freeze
10
7
 
8
+ CONSONANTS = { 'b' => 2, 'c' => 3, 'd' => 4, 'f' => 6, 'g' => 7,
9
+ 'h' => 8, 'j' => 1, 'k' => 2, 'l' => 3, 'm' => 4, 'n' => 5,
10
+ 'p' => 7, 'q' => 8, 'r' => 9, 's' => 1, 't' => 2, 'v' => 4,
11
+ 'w' => 5, 'x' => 6, 'y' => 7, 'z' => 8 }.freeze
11
12
  end
@@ -1,32 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'date'
2
4
  module Rumanu
3
-
4
5
  def digit_sum(n)
5
- cum = n.digits.sum
6
- cum = digit_sum(cum) unless cum.to_s.length == 1
7
- return cum
6
+ return 0 if n.zero?
7
+
8
+ 1 + (n - 1) % 9
8
9
  end
9
10
 
10
- def reduce_list(l,alphabet)
11
- init = 0
12
- l.each do |c|
13
- alphabet.each do |k,v|
14
- init += v if c == k
15
- end
16
- end
17
- digit_sum(init)
11
+ def reduce_list(lst, alphabet)
12
+ digit_sum(lst.map { |value| alphabet[value] }.compact.sum)
18
13
  end
19
14
 
20
15
  def valid_date?(str)
21
- valid_formats = [/\d{2}\.\d{2}\.\d{4}/, /\d{2}\/\d{2}\/\d{4}/, /\d{2}-\d{2}-\d{4}/, /\d{4}-\d{2}-\d{2}/]
22
- check_format = valid_formats.map { |f| f.match?(str) && 1 || 0}.reduce(0,:+)
23
- raise ArgumentError.new("Incorrect date format") if check_format.zero?
16
+ valid_formats = [/\d{2}\.\d{2}\.\d{4}/, %r{\d{2}/\d{2}/\d{4}}, /\d{2}-\d{2}-\d{4}/, /\d{4}-\d{2}-\d{2}/]
17
+ check_format = valid_formats.map { |f| f.match?(str) && 1 || 0 }.reduce(0, :+)
18
+ raise ArgumentError, 'Incorrect date format' if check_format.zero?
24
19
  end
25
20
 
26
21
  def valid_hash?(h)
27
- raise ArgumentError.new("Object must me a Hash") unless h.is_a? Hash
28
- raise ArgumentError.new("Hash can not be empty") unless h.empty? true
29
-
22
+ raise ArgumentError, 'Object must me a Hash' unless h.is_a? Hash
23
+ raise ArgumentError, 'Hash can not be empty' unless h.empty? true
30
24
  end
31
-
32
25
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'yaml'
3
4
  module Rumanu
4
5
  module Meaning
5
- GEM_ROOT = File.expand_path("../..", __FILE__)
6
+ GEM_ROOT = File.expand_path('..', __dir__)
6
7
  def load_meaning
7
8
  YAML.load_file("#{GEM_ROOT}/rumanu/meanings/en.yml")
8
9
  end
@@ -10,18 +11,18 @@ module Rumanu
10
11
  def meaning
11
12
  case self
12
13
  when 1..9
13
- return load_meaning['meaning'][self]
14
+ load_meaning['meaning'][self]
14
15
  else
15
- return "Value out of range. Please choose a number between 1 and 9"
16
+ 'Value out of range. Please choose a number between 1 and 9'
16
17
  end
17
18
  end
18
19
 
19
20
  def destiny
20
21
  case self
21
22
  when 1..9
22
- return load_meaning['destiny'][self]
23
+ load_meaning['destiny'][self]
23
24
  else
24
- return "Value out of range. Please choose a number between 1 and 9"
25
+ 'Value out of range. Please choose a number between 1 and 9'
25
26
  end
26
27
  end
27
28
  end
@@ -30,4 +31,3 @@ end
30
31
  class Integer
31
32
  include Rumanu::Meaning
32
33
  end
33
-
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rumanu
2
4
  class Numerology
3
5
  include Rumanu
4
6
  attr_reader :alphabet, :dob, :vowels, :consonants
5
7
 
6
- def initialize(name="Vance Louis Wheeler",dob="03/08/1944")
7
- @vowels = PY_VOWELS
8
- @consonants = PY_CONSONANTS
8
+ def initialize(name = 'Vance Louis Wheeler', dob = '03/08/1944')
9
+ @vowels = VOWELS
10
+ @consonants = CONSONANTS
9
11
  @alphabet = @vowels.merge @consonants
10
12
  @name = name
11
13
  @dob = dob
@@ -14,7 +16,6 @@ module Rumanu
14
16
  def name=(name)
15
17
  validate_name(name)
16
18
  @name = name
17
-
18
19
  end
19
20
 
20
21
  def name
@@ -31,20 +32,15 @@ module Rumanu
31
32
  # @alphabet = alphabet
32
33
  # end
33
34
 
34
- def vowels=(vowels)
35
- #validate_alphabet(alphabet)
36
- @vowels = vowels
37
- end
35
+ attr_writer :vowels
38
36
 
39
- def consonants=(consonants)
40
- #validate_alphabet(alphabet)
41
- @consonants = consonants
42
- end
37
+ attr_writer :consonants
43
38
 
44
39
  def destiny
45
- r = dob.split(/\.|-|\//).inject(0) {|sum,element| sum+element.to_i}
40
+ r = dob.split(%r{\.|-|/}).inject(0) { |sum, element| sum + element.to_i }
46
41
  value = digit_sum(r)
47
- return value unless value.to_s.length >1
42
+ return value unless value.to_s.length > 1
43
+
48
44
  digit_sum(value)
49
45
  end
50
46
 
@@ -63,24 +59,24 @@ module Rumanu
63
59
  reduce_list(prep_name, @alphabet)
64
60
  end
65
61
 
66
-
67
62
  # Private methods
68
63
 
69
64
  def prep_name
70
- @name.downcase.split('').delete_if{|i| i == " "}
65
+ @name.downcase.split('').delete_if { |i| i == ' ' }
71
66
  end
72
67
 
73
68
  def validate_name(arg)
74
- raise ArgumentError.new("Name must be a string") unless arg.is_a? String
75
- raise ArgumentError.new("Name can't be blank") unless arg.length > 0
76
- raise ArgumentError.new("Name can't be just numbers or special characters") unless arg.gsub(/[^A-Za-z ]/, '').length > 0
69
+ raise ArgumentError, 'Name must be a string' unless arg.is_a? String
70
+ raise ArgumentError, "Name can't be blank" if arg.empty?
71
+ unless arg.gsub(/[^A-Za-z ]/, '').empty?
72
+ raise ArgumentError, "Name can't be just numbers or special characters"
73
+ end
77
74
  end
78
75
 
79
76
  def validate_alphabet(arg)
80
77
  valid_hash?(arg)
81
- valid_alphabet = arg.map {|k,v| k.is_a?(String) && v.is_a?(Integer) && 1 || 0 }.reduce(0,:+)
82
- raise ArgumentError.new("Invalid Alphabet") unless valid_alphabet>0
83
-
78
+ valid_alphabet = arg.map { |k, v| k.is_a?(String) && v.is_a?(Integer) && 1 || 0 }.reduce(0, :+)
79
+ raise ArgumentError, 'Invalid Alphabet' unless valid_alphabet > 0
84
80
  end
85
81
 
86
82
  def validate_dob(arg)
@@ -88,6 +84,5 @@ module Rumanu
88
84
  end
89
85
 
90
86
  private :validate_name, :validate_dob, :validate_alphabet, :prep_name
91
-
92
87
  end
93
88
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rumanu
2
- VERSION = "0.11.1"
4
+ VERSION = '0.15.0'
3
5
  end
data/rumanu.gemspec CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.require_paths = ["lib"]
34
34
 
35
35
  spec.add_development_dependency "bundler", "~> 1.16"
36
- spec.add_development_dependency "rake", "~> 10.0"
36
+ spec.add_development_dependency "rake", "~> 13.0"
37
37
  spec.add_development_dependency "rspec", "~> 3.0"
38
38
  spec.add_development_dependency "coderay", "~> 1.1"
39
39
  spec.add_development_dependency "pry"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumanu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alberto Negron
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-15 00:00:00.000000000 Z
11
+ date: 2020-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement