codebreaker-Bulatkin 0.1.2 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77f32b6c93691fe462af775ad9dcfa7d8db5f12c0fe89fb6289865286c6e6ff6
4
- data.tar.gz: 4c59e508552800baa04fbbca7a12d651d49fc4c2379750a157d22dd8263d5df1
3
+ metadata.gz: 54ec11e9825018cbf4b314f079400fc77962ee49c3e29b49b84c50ddbf9a8c2b
4
+ data.tar.gz: 2cc6deb395b9769975685becc670db55f94b4e3b5285ec27637d746e33cd5c51
5
5
  SHA512:
6
- metadata.gz: 74d7603e9ba8a7a0295015ec2aaa466432a0aad7d530ec96a50614bb5a3f7afdb66d5f22038b33bf596b52f2b7af5d9d153bbd0d2b719798304a785f3ff699d8
7
- data.tar.gz: 26755c533b8f65da637e0a737f5b737ca25b8d8728e2220daecc5dbe446c9de543abe62d4f3267f3d6f81300d0af6d167523456b8efedf0c7e065086b927f12f
6
+ metadata.gz: 5939cf88fcf2cf91edac85d20d8c06cfee3005d919b5c2452799583b91e20cee3162baf0cf80a952d891866be46725f1cb5778a85b6fe29c58c5350dbae1ce9f
7
+ data.tar.gz: 8aa8140e55acb4e09f41e8dab42f6f6b3bd07ae4cbc06e82cfc64add8d09264f38b00f03e23f1f55fd6db2c044426acef3ab5d306c098cac0fa62d186bdd7e49
data/.rubocop.yml CHANGED
@@ -1,2 +1,10 @@
1
1
  Metrics/LineLength:
2
- Enabled: 120
2
+ Max: 120
3
+ Style/Documentation:
4
+ Enabled: false
5
+ Metrics/BlockLength:
6
+ Exclude:
7
+ - spec/**/*
8
+ Metrics/ModuleLength:
9
+ Exclude:
10
+ - spec/**/*
File without changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- codebreaker-Bulatkin (0.1.2)
4
+ codebreaker-Bulatkin (0.2.0)
5
5
  i18n
6
6
  rake (~> 10.0)
7
7
 
data/Rakefile CHANGED
@@ -5,4 +5,4 @@ require 'rspec/core/rake_task'
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- task :default => :spec
8
+ task default: :spec
data/codebreaker.gemspec CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- gem 'fasterer'
4
-
5
3
  lib = File.expand_path('lib', __dir__)
6
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
5
  require 'codebreaker/version'
@@ -20,7 +18,7 @@ Gem::Specification.new do |spec|
20
18
  # Specify which files should be added to the gem when it is released.
21
19
  # The `git ls-files -z` loads the files in the RubyGem that have been
22
20
  # added into git.
23
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
21
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
22
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
23
  end
26
24
  spec.bindir = 'exe'
@@ -33,6 +31,6 @@ Gem::Specification.new do |spec|
33
31
  spec.add_development_dependency 'rubocop'
34
32
  spec.add_development_dependency 'simplecov'
35
33
 
36
- spec.add_dependency 'rake', '~> 10.0'
37
34
  spec.add_dependency 'i18n'
35
+ spec.add_dependency 'rake', '~> 10.0'
38
36
  end
@@ -44,16 +44,18 @@ module Codebreaker
44
44
 
45
45
  def game_cycle
46
46
  output(:mode_info, game.difficulty)
47
- until game.lost?
48
- round_menu
49
- @guess = user_input
50
- hint_menu if guess == I18n.t(:hint)
51
- mark if game.guess_valid?(guess)
52
- won if game.won?(guess)
53
- end
47
+ game_cycle_logic until game.lost?
54
48
  lost
55
49
  end
56
50
 
51
+ def game_cycle_logic
52
+ round_menu
53
+ @guess = user_input
54
+ hint_menu if guess == I18n.t(:hint)
55
+ mark if game.guess_valid?(guess)
56
+ won if game.won?(guess)
57
+ end
58
+
57
59
  def difficulty_setup
58
60
  loop do
59
61
  output(:output_difficulty)
@@ -73,7 +75,7 @@ module Codebreaker
73
75
  end
74
76
 
75
77
  def mark
76
- game.attempt_used && (puts play(guess))
78
+ game.use_attempt! && (puts play(guess))
77
79
  end
78
80
 
79
81
  def won
@@ -40,6 +40,10 @@ module Codebreaker
40
40
  end
41
41
 
42
42
  def to_yaml(name)
43
+ data_to_save(name).to_yaml
44
+ end
45
+
46
+ def data_to_save(name)
43
47
  {
44
48
  name: name,
45
49
  difficulty: difficulty[:mode],
@@ -47,10 +51,10 @@ module Codebreaker
47
51
  attempts_used: difficulty[:attempts] - attempts,
48
52
  hints_total: difficulty[:hint],
49
53
  hints_used: difficulty[:hint] - hint_keeper.size
50
- }.to_yaml
54
+ }
51
55
  end
52
56
 
53
- def attempt_used
57
+ def use_attempt!
54
58
  @attempts -= 1
55
59
  end
56
60
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Codebreaker
4
- VERSION = '0.1.2'
4
+ VERSION = '0.2.0'
5
5
  end
@@ -7,6 +7,7 @@ module Codebreaker
7
7
 
8
8
  def save(results)
9
9
  FileUtils.mkdir_p(PATH) unless Dir.exist?(PATH)
10
+ create_storage unless File.exist?(file_path)
10
11
  data = load_database << results
11
12
  write_data(data)
12
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codebreaker-Bulatkin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yevhenii Bulatkin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-14 00:00:00.000000000 Z
11
+ date: 2019-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fasterer
@@ -81,33 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: i18n
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: i18n
98
+ name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '10.0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '10.0'
111
111
  description: Crack the code
112
112
  email:
113
113
  - yevhenii@rubygarage.org
@@ -115,11 +115,11 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - ".-ruby-version"
119
118
  - ".gitignore"
120
119
  - ".rspec"
121
120
  - ".rubocop.yml"
122
121
  - ".ruby-gemset"
122
+ - ".ruby-version"
123
123
  - ".travis.yml"
124
124
  - CODE_OF_CONDUCT.md
125
125
  - Gemfile