codebreaker_rg_game 1.6 → 1.7

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