kimoby 0.0.0 → 0.0.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: a24703740f3c7051fde3d00c2d0b12a5cbe86bdebb7284176c20d01d2e0d33c1
4
- data.tar.gz: ce0b163e22766742011f3506dab8a8ace05fc38232d409a4af40492e676959b6
3
+ metadata.gz: 898acad59a42b8b65976b38291e72251d06d9f1e4ce4df8054e2119e14159dee
4
+ data.tar.gz: 40f51f8646097be2a08663dbeab808c3a0a25c862ad105af5ea0b000347cbabd
5
5
  SHA512:
6
- metadata.gz: 4164dd8adefc6981af7df7825da27a362124c8bc00718460c394f358b2bfb8b89e5f7ac8cf2900a2ce11a60891a578aef67f679a15c90ef471598c54b63f284d
7
- data.tar.gz: a816bfd854f13c8bebe8592c0b2a067083beaa1cc9fb1845ddecb3f150dc1b8502ee590b7e23c2f3912618522487ffaccc202d9cae0de7dd616b40153a6cf44b
6
+ metadata.gz: 69e177fe510db4be4a199ad1de917c5909b33a10c7bee3ddbae95e186f097aa9c0f695f8a47c5c4b0bc390f860582be297b567c3252ed837ae6b3017198b2405
7
+ data.tar.gz: e229f5d698a2e5a7f3acd4a84dde4d4c42c1d257bdfb16592fd370b0ab59831d192cd6de8a94701ddd85f1b4cd5f6bbafe108f054167145be7fc498152b67187
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ # lib/kimoby/utils.rb
4
+
5
+ # a set of utility functions
6
+
7
+ module Utils
8
+ def self.read_from_file(path)
9
+ data = File.readlines(path).reject { |s| s.strip.empty? }.join
10
+ data.split("\n").map(&:downcase)
11
+ rescue Errno::ENOENT => e
12
+ raise e
13
+ end
14
+
15
+ def self.get_words_with_same_size(arr, size)
16
+ starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
17
+ res = []
18
+ begin
19
+ if size.is_a?(Integer) && size > 0
20
+ arr.each do |word|
21
+ res << word.strip if word.strip.length == size
22
+ end
23
+ end
24
+ rescue NoMethodError => e
25
+ raise e
26
+ end
27
+ ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
28
+ elapsed = ending - starting
29
+
30
+ puts "generate words with same size | execution runtime: #{elapsed}"
31
+ res # return array of words with same size
32
+ end
33
+
34
+ def self.get_words_with_different_size(arr, size_one, size_two)
35
+ starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
36
+ res = []
37
+ begin
38
+ if size_one.is_a?(Integer) && size_two.is_a?(Integer) && size_one > 0 && size_two > 0
39
+ arr.each do |word|
40
+ res << word.strip if word.strip.length == size_one || word.strip.length == size_two
41
+ end
42
+ end
43
+ rescue NoMethodError => e
44
+ raise e
45
+ end
46
+
47
+ ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
48
+ elapsed = ending - starting
49
+
50
+ puts "generate words with different sizes | execution runtime: #{elapsed}"
51
+
52
+ res # return array of words with different sizes
53
+ end
54
+
55
+ end
data/lib/kimoby.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Kimoby.rb
4
4
 
5
5
  # a class to generate words
6
- require './lib/utils'
6
+ require './lib/kimoby/utils'
7
7
  class Kimoby
8
8
  attr_reader :dict, :length, :res
9
9
 
data/lib/src/dict.txt ADDED
@@ -0,0 +1,14 @@
1
+ ba
2
+ be
3
+ abb
4
+ add
5
+ boac
6
+ poil
7
+ tgbo
8
+ poadd
9
+ wrets
10
+ apola
11
+ aujah
12
+ adasyh
13
+ asdasl
14
+ plokak