codebreaker_diz 0.2 → 0.2.1

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