codebreaker_diz 0.2 → 0.2.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: 482058e23ff46f61a8ef6fa05812096e7baf151d3482c11b543e5d0b788585ef
4
- data.tar.gz: b851ab61b5934efbbee993d68532978d2e57f5ea0392670b05cf1ef4322c2d2e
3
+ metadata.gz: 141a45b6b83202107538923ce09e9b0fcc4cec95d09dea525519c18692550364
4
+ data.tar.gz: f5e1fb6d8034298173131084395ca422c5508d5405522afb24fd33dfdc15cb1e
5
5
  SHA512:
6
- metadata.gz: b4746b18fcb2b93c79c7f9811f8f0f060c3a7a2e7e3ff11ba15a14c70317d9a294f320303afab72ab74f9eea3f5a94640ac9bfc8c02532e4fa6e405980aefdf6
7
- data.tar.gz: 36cbd04d2e67c8414e82ddae43765c1508b99105b32c0dce77a63329de6c5d5460231e53bd4bbdc406e14a8472f9c4c06bbb71849ab0487927136927fa3e015d
6
+ metadata.gz: 8c0888260f008dde074d1fbcaf89386d68bef2fb389b197fc54132f570bf76ff3afccbad685b7fea1298e5443c068f6c4b2ffb705578519babdc08de53328f5d
7
+ data.tar.gz: 4a46365c0c79217f5611413fd714b35cce9056a0835dc29ec533063a8085a99da059c501e385bf5c62ec53dbc74d86f781082a4a22a9162666341bc646fbf18a
data/.fasterer.yml ADDED
@@ -0,0 +1,22 @@
1
+ speedups:
2
+ rescue_vs_respond_to: true
3
+ module_eval: true
4
+ shuffle_first_vs_sample: true
5
+ for_loop_vs_each: true
6
+ each_with_index_vs_while: false
7
+ map_flatten_vs_flat_map: true
8
+ reverse_each_vs_reverse_each: true
9
+ select_first_vs_detect: true
10
+ sort_vs_sort_by: true
11
+ fetch_with_argument_vs_block: true
12
+ keys_each_vs_each_key: true
13
+ hash_merge_bang_vs_hash_brackets: true
14
+ block_vs_symbol_to_proc: true
15
+ proc_call_vs_yield: true
16
+ gsub_vs_tr: true
17
+ select_last_vs_reverse_detect: true
18
+ getter_vs_attr_reader: true
19
+ setter_vs_attr_writer: true
20
+
21
+ exclude_paths:
22
+ - spec/**/*.rb
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
 
10
- .vscode/
11
- .pdf
10
+ /.vscode/
11
+ *.pdf
12
12
  *.swp
13
+ *.gem
data/.overcommit.yml ADDED
@@ -0,0 +1,43 @@
1
+ CommitMsg:
2
+ CapitalizedSubject:
3
+ enabled: false
4
+
5
+ EmptyMessage:
6
+ enabled: false
7
+
8
+ TrailingPeriod:
9
+ enabled: true
10
+
11
+ TextWidth:
12
+ enabled: false
13
+
14
+ PreCommit:
15
+ ALL:
16
+ on_warn: fail
17
+
18
+ AuthorEmail:
19
+ enabled: false
20
+
21
+ AuthorName:
22
+ enabled: false
23
+
24
+ MergeConflicts:
25
+ enabled: true
26
+
27
+ YamlSyntax:
28
+ enabled: true
29
+
30
+ BundleCheck:
31
+ enabled: true
32
+
33
+ Rubocop:
34
+ enabled: true
35
+
36
+ Fasterer:
37
+ enabled: true
38
+
39
+ BundleAudit:
40
+ enabled: true
41
+
42
+ RSpec:
43
+ enabled: true
data/.rubocop.yml CHANGED
@@ -36,4 +36,4 @@ AllCops:
36
36
  Exclude:
37
37
  - 'bin/'
38
38
  - '*.gemspec'
39
- TargetRubyVersion: 2.5.5
39
+ TargetRubyVersion: 2.5.5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- codebreaker_diz (0.2)
4
+ codebreaker_diz (0.2.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'config'
4
- require_relative 'matcher'
5
4
 
6
5
  module CodebreakerDiz
7
6
  class Game
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'config'
4
+
5
+ module CodebreakerDiz
6
+ class Matcher
7
+ class << self
8
+ def calculate_matches(secret, user_code)
9
+ delta = []
10
+ result = []
11
+
12
+ (0...CODE_LENGTH).each do |i|
13
+ if secret[i] == user_code[i] then result << EXACT_MATCH_SIGN
14
+ elsif (secret - delta).include? user_code[i] then result << NUMBER_MATCH_SIGN
15
+ end
16
+
17
+ delta << user_code[i]
18
+ end
19
+
20
+ result.sort!.join
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CodebreakerDiz
4
- VERSION = '0.2'
4
+ VERSION = '0.2.1'
5
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'codebreaker_diz/version'
4
3
  require_relative 'codebreaker_diz/game'
4
+ require_relative 'codebreaker_diz/matcher'
5
+ require_relative 'codebreaker_diz/version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codebreaker_diz
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - bl0rch1d
@@ -172,7 +172,9 @@ extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
174
  - ".circleci/config.yml"
175
+ - ".fasterer.yml"
175
176
  - ".gitignore"
177
+ - ".overcommit.yml"
176
178
  - ".rspec"
177
179
  - ".rubocop.yml"
178
180
  - ".ruby-gemset"
@@ -190,6 +192,7 @@ files:
190
192
  - lib/codebreaker_diz.rb
191
193
  - lib/codebreaker_diz/config.rb
192
194
  - lib/codebreaker_diz/game.rb
195
+ - lib/codebreaker_diz/matcher.rb
193
196
  - lib/codebreaker_diz/version.rb
194
197
  homepage: https://github.com/bl0rch1d/codebreaker_diz
195
198
  licenses: