codebreaker_rg_game 1.6 → 1.7

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: a9d2bdbf2c50023209c91e0fcdbf57ecc90be1ab8fa71e7a85c05638e3a2290a
4
- data.tar.gz: 066a768ffd75eb0ed676171b3e93f4c9d42bcad891fadbb561be73fcbb65e746
3
+ metadata.gz: 65bcf80fe2e973a64e6744913939ba2b42ec9575dedb79d422e4e123a6d2da9c
4
+ data.tar.gz: 43533b8a8e98df4a13af66bd4ada5a2138f647c431df4bc9ee691f0dd2f1db26
5
5
  SHA512:
6
- metadata.gz: 71a3cbbaedcca21d1a4f1c6fab3956702f5cd3aa6e8f51cc921c81c13b663e37854165308e9f982fb8049d6aa77df3988b1313639a1ba4fffc8120522f102fef
7
- data.tar.gz: c1e7f7b6d239e751eb85dd577ad944224a9d3a4c7a029d79f26f4079e4abc7cb3fc19837a3e55cced9c63a44f52a8efbb1cb61600384f53594d92faee0df2df7
6
+ metadata.gz: ebea7bfb82e97bb5a8a97fbb21a91aa8d6606f0d69ff565fbcf44f1eadd71e048bef6c15565115608c465fea53ec7e43db174fe5450d2e1ea05c1d93cc88dc91
7
+ data.tar.gz: cddac58c55ad11f573e098c3492199344812754c5c955a9e8da448fab67be642e0ee6d36fa6139c870d8732a983bf75512b0c9469402d5dd50de22ad3af50a13
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- codebreaker_rg_game (1.4)
4
+ codebreaker_rg_game (1.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Statistics
4
+ class << self
5
+ def save(stats, path)
6
+ stats[:date] = Time.now
7
+ YamlMapper.save(stats, path)
8
+ end
9
+
10
+ def output(path)
11
+ array_stats = load(path)
12
+ array_stats.sort_by! { |stats| [stats[:attempts_used], stats[:hints_used]] }.reverse
13
+ array_stats
14
+ end
15
+
16
+ private
17
+
18
+ def load(path)
19
+ YamlMapper.load(path)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ class YamlMapper
4
+ class << self
5
+ def save(object, path)
6
+ stats = load(path)
7
+ stats << object
8
+ File.open(path, 'w') do |file|
9
+ file.write(stats.to_yaml)
10
+ end
11
+ end
12
+
13
+ def load(path)
14
+ File.file?(path) ? Psych.load(File.read(path)) : []
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Codebreaker
4
- VERSION = '1.6'
4
+ VERSION = '1.7'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codebreaker_rg_game
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.6'
4
+ version: '1.7'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Zahoruiko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-22 00:00:00.000000000 Z
11
+ date: 2019-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,7 +144,9 @@ files:
144
144
  - lib/codebreaker.rb
145
145
  - lib/codebreaker/entities/difficulties.rb
146
146
  - lib/codebreaker/entities/player.rb
147
+ - lib/codebreaker/utils/statistics.rb
147
148
  - lib/codebreaker/utils/verifier.rb
149
+ - lib/codebreaker/utils/yaml_mapper.rb
148
150
  - lib/codebreaker/version.rb
149
151
  - lib/dependency.rb
150
152
  homepage: https://github.com/YaroslavZahoruiko/codebreaker-gem
@@ -170,7 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
172
  - !ruby/object:Gem::Version
171
173
  version: '0'
172
174
  requirements: []
173
- rubygems_version: 3.0.4
175
+ rubyforge_project:
176
+ rubygems_version: 2.7.9
174
177
  signing_key:
175
178
  specification_version: 4
176
179
  summary: Codebreaker