andrii_codebreaker 0.1.0 → 0.1.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: e1607581ffecd6cfb9a39facf2faac691b9e0a202fb84beb49abf204cada9cb7
4
- data.tar.gz: 48026a23d738ca88f541744730a7d815c8a3e79d4c71126855783c20bf817203
3
+ metadata.gz: 4fe12dfef9d161e80cd13690272a4a293527bc887c3dfaddd868b6c21ad01f52
4
+ data.tar.gz: 53f29bacf46db43b1a9cc122107c040279d087f80c6a40219c08c808c9683fe6
5
5
  SHA512:
6
- metadata.gz: d6d0086e5960049a94be3964254e615b78c5af76212d435dd8b9e162522b4af4e8969ffc5af04cc11be887884205ee1809034a0c14f233989897db2d61b21488
7
- data.tar.gz: eaba1452c2d889ebf2fc2a992aa2d6a4671449b4d6e5851ba1f99732a3565e032d4278f822d221f12c10db48d210994cfad31c43793c842c76704c710f75edd7
6
+ metadata.gz: ba3d0da4107f56f16f0957b4fe4b553d206823fd397edfa1421d1a562e7ba4500f670fa1ca74f04a54d0391b8a27833b7ec97f292765a0097d6de4ac6610979e
7
+ data.tar.gz: a298375c0632b26d4c4ab7264bc9a7677231ce375bb67be24d3b3c9a2282fae1282d524c044404e49a458f9c69c6aff5d672741a53d6d4b7c46f263bde71e6ea
data/Rakefile CHANGED
@@ -1,12 +1,6 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'bundler/gem_tasks'
4
2
  require 'rspec/core/rake_task'
5
-
6
3
  RSpec::Core::RakeTask.new(:spec)
7
-
8
4
  require 'rubocop/rake_task'
9
-
10
5
  RuboCop::RakeTask.new
11
-
12
6
  task default: %i[spec rubocop]
@@ -21,10 +21,6 @@ module AndriiCodebreaker
21
21
  @secret_code_copy = @secret_code.dup
22
22
  end
23
23
 
24
- def save_result(user, file)
25
- save(user, file)
26
- end
27
-
28
24
  def hints(user)
29
25
  return unless user.hints_total > user.hints_now
30
26
 
@@ -37,8 +33,6 @@ module AndriiCodebreaker
37
33
  number_secret_code(user_code, matches, code_copy)
38
34
  end
39
35
 
40
- private
41
-
42
36
  def string_to_integer(input_code)
43
37
  array_int = []
44
38
  array_chars = input_code.chars
@@ -46,6 +40,12 @@ module AndriiCodebreaker
46
40
  array_int
47
41
  end
48
42
 
43
+ def save_result(user, file)
44
+ save(user, file)
45
+ end
46
+
47
+ private
48
+
49
49
  def right_place(user_code)
50
50
  code_copy = @secret_code.dup
51
51
  matches = []
@@ -9,14 +9,14 @@ module AndriiCodebreaker
9
9
  nil
10
10
  end
11
11
 
12
+ def save(user, file)
13
+ File.open(file, 'a') { |f| YAML.dump(user, f) }
14
+ end
15
+
12
16
  def save_data(file)
13
17
  File.open(file, 'r') do |filename|
14
18
  YAML.safe_load(filename)
15
19
  end
16
20
  end
17
-
18
- def save(user, file)
19
- File.open(file, 'a') { |f| YAML.dump(user, f) }
20
- end
21
21
  end
22
22
  end
@@ -2,7 +2,8 @@ module AndriiCodebreaker
2
2
  module Statistic
3
3
  def statistics
4
4
  data = YAML.load_stream(File.open('result.yml'))
5
- data.sort_by { |item| [item.difficulty, -item.attempts_now, item.hints_now] }.reverse
5
+ hash = { easy: 1, medium: 2, hell: 3 }
6
+ data.sort_by { |item| [-hash[item.difficulty.to_sym], item.attempts_now, item.hints_now] }
6
7
  end
7
8
  end
8
9
  end
@@ -12,8 +12,8 @@ module AndriiCodebreaker
12
12
  def initialize(name, difficulty)
13
13
  @name = name
14
14
  @difficulty = difficulty
15
- @hints_now = 0
16
15
  @attempts_now = 0
16
+ @hints_now = 0
17
17
  set_count_attempt
18
18
  end
19
19
 
@@ -1,13 +1,13 @@
1
1
  module AndriiCodebreaker
2
2
  module Validate
3
- def valide_name(name)
4
- name if valid_name?(name)
5
- end
6
-
7
3
  def validate_guess(code)
8
4
  code.match(/^[1-6]{4}$/)
9
5
  end
10
6
 
7
+ def valide_name(name)
8
+ name if valid_name?(name)
9
+ end
10
+
11
11
  private
12
12
 
13
13
  def valid_name?(name)
@@ -1,3 +1,3 @@
1
1
  module AndriiCodebreaker
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
@@ -2,5 +2,5 @@ require_relative 'andrii_codebreaker/model'
2
2
  require_relative 'andrii_codebreaker/user'
3
3
  require_relative 'andrii_codebreaker/validate/validate'
4
4
  require_relative 'andrii_codebreaker/statistic'
5
- require_relative 'andrii_codebreaker/game'
6
5
  require_relative 'andrii_codebreaker/version'
6
+ require_relative 'andrii_codebreaker/game'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: andrii_codebreaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrii
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-26 00:00:00.000000000 Z
11
+ date: 2021-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fasterer