rumanu 0.11.1 → 0.15.0

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