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 +4 -4
- data/Gemfile.lock +3 -3
- data/lib/rumanu.rb +7 -5
- data/lib/rumanu/alphabets.rb +8 -7
- data/lib/rumanu/helpers.rb +12 -19
- data/lib/rumanu/meaning.rb +6 -6
- data/lib/rumanu/numerology.rb +18 -23
- data/lib/rumanu/version.rb +3 -1
- data/rumanu.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe3779afa0fc57283cd2dc75d7837208ba03a916f5f90efeb2dad87d05a0459a
|
4
|
+
data.tar.gz: acd361f4a2baf8238b425d1c3cbf5ef6caf22fd891439d856448cbec456fd7ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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 (
|
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 (~>
|
37
|
+
rake (~> 13.0)
|
38
38
|
rspec (~> 3.0)
|
39
39
|
rumanu!
|
40
40
|
|
data/lib/rumanu.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
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'
|
data/lib/rumanu/alphabets.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Rumanu
|
2
4
|
# Pythagoras alphabet
|
3
|
-
|
4
|
-
|
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
|
data/lib/rumanu/helpers.rb
CHANGED
@@ -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
|
-
|
6
|
-
|
7
|
-
|
6
|
+
return 0 if n.zero?
|
7
|
+
|
8
|
+
1 + (n - 1) % 9
|
8
9
|
end
|
9
10
|
|
10
|
-
def reduce_list(
|
11
|
-
|
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}/,
|
22
|
-
check_format = valid_formats.map { |f| f.match?(str) && 1 || 0}.reduce(0
|
23
|
-
raise ArgumentError
|
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
|
28
|
-
raise ArgumentError
|
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
|
data/lib/rumanu/meaning.rb
CHANGED
@@ -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(
|
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
|
-
|
14
|
+
load_meaning['meaning'][self]
|
14
15
|
else
|
15
|
-
|
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
|
-
|
23
|
+
load_meaning['destiny'][self]
|
23
24
|
else
|
24
|
-
|
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
|
-
|
data/lib/rumanu/numerology.rb
CHANGED
@@ -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=
|
7
|
-
@vowels =
|
8
|
-
@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
|
-
|
35
|
-
#validate_alphabet(alphabet)
|
36
|
-
@vowels = vowels
|
37
|
-
end
|
35
|
+
attr_writer :vowels
|
38
36
|
|
39
|
-
|
40
|
-
#validate_alphabet(alphabet)
|
41
|
-
@consonants = consonants
|
42
|
-
end
|
37
|
+
attr_writer :consonants
|
43
38
|
|
44
39
|
def destiny
|
45
|
-
r = dob.split(
|
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
|
75
|
-
raise ArgumentError
|
76
|
-
|
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
|
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
|
data/lib/rumanu/version.rb
CHANGED
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", "~>
|
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.
|
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:
|
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: '
|
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: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|