codebreaker_marian 0.3.0 → 0.3.1

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: 4e30a3669f1f83e0e942d15225df934a575dc8ea93f4cbc73aa2b01275553794
4
- data.tar.gz: 30928faaeef7218e8c217052098f4c38b2227d0dd3cf695e515b702df075bed0
3
+ metadata.gz: f1941475fbf9a41dc8d7853367969396c92d4ed6551e9d84504330d6723da859
4
+ data.tar.gz: 5c045d31da9ca005e942521e8c36968fbe9afdd6bb7dadb86f9013781b9c7192
5
5
  SHA512:
6
- metadata.gz: eec26a3458773e835ed35de0468cc9b1adb1e4a6e9df02dc7ceb7ddf246be2fdbeaa6d790afdf88cb513ec83d7d1c73879dc7838b3090e0194e5bda3d7d7de6a
7
- data.tar.gz: db3023d94a60588870f00663642d6ac99cd87f78a753e05eeee709fb50aa7fdfbabbe51839a1da1c5a6d712569da66ac67b60dd9dd2bfd51a5b70e216562a81a
6
+ metadata.gz: 7bc08992331f88e1d99a11e78dbe279d17c214af213046d4265f341e68147390be6d633ca891332f5546ad3d97ad9f6efec93a085a1f22264bd757ee4027241a
7
+ data.tar.gz: 90567511635156f8863454aef195ea637fbf6db771f470bcf898dc5164655f4f0067d40184162483f717b61fdd252037258f6eaa65cb31ef664ab348cc8f78a4
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- codebreaker_marian (0.3.0)
4
+ codebreaker_marian (0.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1 @@
1
+ --- []
@@ -3,29 +3,37 @@
3
3
  module Codebreaker
4
4
  module Entities
5
5
  class DataStorage
6
- FILE_NAME = 'database/data.yml'
6
+ FILE_DIRECTORY = 'database'
7
+ FILE_NAME = 'data.yml'
7
8
 
8
9
  def create
9
- File.new(FILE_NAME, 'w')
10
- File.write(FILE_NAME, [].to_yaml)
10
+ ensuring_directory_availability
11
+ File.new(File.join(FILE_DIRECTORY, FILE_NAME), 'w')
12
+ File.write(File.join(FILE_DIRECTORY, FILE_NAME), [].to_yaml)
11
13
  end
12
14
 
13
15
  def load
14
- YAML.safe_load(File.open(FILE_NAME), [Symbol, Time]) if storage_exist?
16
+ YAML.safe_load(File.open(File.join(FILE_DIRECTORY, FILE_NAME)), [Symbol, Time]) if storage_exist?
15
17
  end
16
18
 
17
19
  def save(object)
18
- File.open(FILE_NAME, 'w') { |file| file.write(YAML.dump(object)) }
20
+ File.open(File.join(FILE_DIRECTORY, FILE_NAME), 'w') { |file| file.write(YAML.dump(object)) }
19
21
  end
20
22
 
21
23
  def storage_exist?
22
- File.exist?(FILE_NAME)
24
+ File.exist?(File.join(FILE_DIRECTORY, FILE_NAME))
23
25
  end
24
26
 
25
27
  def save_game_result(object)
26
28
  create unless storage_exist?
27
29
  save(load.push(object))
28
30
  end
31
+
32
+ private
33
+
34
+ def ensuring_directory_availability
35
+ Dir.mkdir(FILE_DIRECTORY) unless Dir.exist?(FILE_DIRECTORY)
36
+ end
29
37
  end
30
38
  end
31
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Codebreaker
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codebreaker_marian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marian Rebeha
@@ -173,6 +173,7 @@ files:
173
173
  - bin/console
174
174
  - bin/setup
175
175
  - codebreaker_marian.gemspec
176
+ - data_test.yml
176
177
  - lib/codebreaker_marian.rb
177
178
  - lib/codebreaker_marian/entities/data_storage.rb
178
179
  - lib/codebreaker_marian/entities/game.rb