codebreaker-Bulatkin 0.1.2 → 0.2.0

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