andrii_codebreaker 0.1.1 → 0.1.2

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: 4fe12dfef9d161e80cd13690272a4a293527bc887c3dfaddd868b6c21ad01f52
4
- data.tar.gz: 53f29bacf46db43b1a9cc122107c040279d087f80c6a40219c08c808c9683fe6
3
+ metadata.gz: d4ca52214a921ea9b0fc78992ef7d0da364089eaabc37c822ec6684df7246d70
4
+ data.tar.gz: '089d9d9c55bab90acbb98810ee30fb98d7f25fe5871364afa928fae5c370db5e'
5
5
  SHA512:
6
- metadata.gz: ba3d0da4107f56f16f0957b4fe4b553d206823fd397edfa1421d1a562e7ba4500f670fa1ca74f04a54d0391b8a27833b7ec97f292765a0097d6de4ac6610979e
7
- data.tar.gz: a298375c0632b26d4c4ab7264bc9a7677231ce375bb67be24d3b3c9a2282fae1282d524c044404e49a458f9c69c6aff5d672741a53d6d4b7c46f263bde71e6ea
6
+ metadata.gz: ade917c605ff8db3c1f8f29b601773787b0c696f3c09eedb861692700407449849dee930e7bcef60d5457b449f9198fc6617d612a61bb6cbf7283f39f55733eb
7
+ data.tar.gz: a31d77642798e00747a315979bb2e544e0a66ac56574edc596711809d9b3865625fefda5b02bd1a22ab3cb19975e2fbd4ed736d98bdda13b1423f6ae4f5a7e98
@@ -0,0 +1,62 @@
1
+
2
+ version: 2.1
3
+
4
+ executors:
5
+ default:
6
+ working_directory: ~/repo
7
+ description: The official CircleCI Ruby Docker image
8
+ docker:
9
+ - image: circleci/ruby:2.7.2
10
+
11
+ cashes:
12
+ - &bundle_caches_full v2-repo-{{ checksum "Gemfile.lock" }}
13
+ - &bundle_cache v2-repo-
14
+
15
+ commands:
16
+ defaults:
17
+ steps:
18
+ - checkout
19
+ - restore_cache:
20
+ keys:
21
+ - *bundle_caches_full
22
+ - *bundle_cache
23
+ - run: bundle install --path vendor/bundle
24
+ - save_cache:
25
+ key: *bundle_caches_full
26
+ paths:
27
+ - vendor/bundle
28
+ run_linters:
29
+ description: command to start linters
30
+ steps:
31
+ - run:
32
+ name: rubucop
33
+ command: bundle exec rubocop
34
+ - run:
35
+ name: fasterer
36
+ command: bundle exec fasterer lib/
37
+ run_specs:
38
+ steps:
39
+ - run:
40
+ name: run specs
41
+ command: bundle exec rspec
42
+
43
+ jobs:
44
+ lintering:
45
+ executor: default
46
+ steps:
47
+ - defaults
48
+ - run_linters
49
+ run_specs:
50
+ executor: default
51
+ steps:
52
+ - defaults
53
+ - run_specs
54
+
55
+ workflows:
56
+ version: 2.1
57
+ build:
58
+ jobs:
59
+ - lintering
60
+ - run_specs:
61
+ requires:
62
+ - lintering
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ .rspec_status
data/.rubocop.yml CHANGED
@@ -1,3 +1,5 @@
1
+ require: rubocop-rspec
2
+
1
3
  AllCops:
2
4
  NewCops: enable
3
5
  SuggestExtensions: false
@@ -11,6 +13,9 @@ Style/FrozenStringLiteralComment:
11
13
  Metrics/LineLength:
12
14
  Max: 120
13
15
 
16
+ RSpec/AnyInstance:
17
+ Enabled: false
18
+
14
19
  Metrics/BlockLength:
15
20
  Exclude:
16
21
  - 'Rakefile'
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- andrii_codebreaker (0.1.0)
5
- simplecov
4
+ andrii_codebreaker (0.1.1)
6
5
 
7
6
  GEM
8
7
  remote: https://rubygems.org/
@@ -34,7 +33,7 @@ GEM
34
33
  diff-lcs (>= 1.2.0, < 2.0)
35
34
  rspec-support (~> 3.10.0)
36
35
  rspec-support (3.10.2)
37
- rubocop (1.22.2)
36
+ rubocop (1.22.3)
38
37
  parallel (~> 1.10)
39
38
  parser (>= 3.0.0.0)
40
39
  rainbow (>= 2.2.2, < 4.0)
@@ -45,10 +44,12 @@ GEM
45
44
  unicode-display_width (>= 1.4.0, < 3.0)
46
45
  rubocop-ast (1.12.0)
47
46
  parser (>= 3.0.1.1)
47
+ rubocop-rspec (2.5.0)
48
+ rubocop (~> 1.19)
48
49
  ruby-progressbar (1.11.0)
49
- ruby_parser (3.17.0)
50
- sexp_processor (~> 4.15, >= 4.15.1)
51
- sexp_processor (4.15.3)
50
+ ruby_parser (3.18.0)
51
+ sexp_processor (~> 4.16)
52
+ sexp_processor (4.16.0)
52
53
  simplecov (0.21.2)
53
54
  docile (~> 1.1)
54
55
  simplecov-html (~> 0.11)
@@ -66,6 +67,8 @@ DEPENDENCIES
66
67
  rake
67
68
  rspec
68
69
  rubocop
70
+ rubocop-rspec
71
+ simplecov
69
72
 
70
73
  BUNDLED WITH
71
74
  2.2.29
data/Rakefile CHANGED
@@ -1,6 +1,2 @@
1
1
  require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
- RSpec::Core::RakeTask.new(:spec)
4
- require 'rubocop/rake_task'
5
- RuboCop::RakeTask.new
6
- task default: %i[spec rubocop]
2
+ task default: :spec
@@ -0,0 +1,34 @@
1
+ require './lib/andrii_codebreaker/version'
2
+ lib = File.expand_path('lib', __dir__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'andrii_codebreaker'
7
+ spec.version = AndriiCodebreaker::VERSION
8
+ spec.authors = ['Andrii']
9
+ spec.email = ['andrii.okhrimets@rubygarage.org']
10
+
11
+ spec.summary = 'Game in Codebreaker'
12
+ spec.description = 'Game in Codebreaker'
13
+ spec.homepage = 'https://github.com/Andrii-RubyGarage/Codebreker-Gem'
14
+ spec.license = 'MIT'
15
+ spec.required_ruby_version = '>= 2.7.2'
16
+
17
+ spec.metadata['homepage_uri'] = spec.homepage
18
+ spec.metadata['source_code_uri'] = spec.homepage
19
+
20
+ spec.add_development_dependency 'fasterer'
21
+ spec.add_development_dependency 'rake'
22
+ spec.add_development_dependency 'rspec'
23
+ spec.add_development_dependency 'rubocop'
24
+ spec.add_development_dependency 'rubocop-rspec'
25
+ spec.add_development_dependency 'simplecov'
26
+
27
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
28
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
29
+ end
30
+
31
+ spec.bindir = 'bin'
32
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
33
+ spec.require_paths = ['lib']
34
+ end
@@ -1,4 +1,3 @@
1
- require_relative '../andrii_codebreaker'
2
1
  module AndriiCodebreaker
3
2
  class Game
4
3
  include Validate
@@ -1,9 +1,6 @@
1
- require 'yaml'
2
1
  module AndriiCodebreaker
3
2
  module Model
4
3
  def load_file(file)
5
- return nil if File.empty?(file)
6
-
7
4
  save_data(file)
8
5
  rescue Errno::ENOENT
9
6
  nil
@@ -1,17 +1,33 @@
1
1
  module AndriiCodebreaker
2
2
  module Validate
3
- def validate_guess(code)
4
- code.match(/^[1-6]{4}$/)
3
+ def validates_name(name)
4
+ name if valid_name?(name)
5
5
  end
6
6
 
7
- def valide_name(name)
8
- name if valid_name?(name)
7
+ def validate_guess(code)
8
+ code = string_to_integer(code)
9
+ code if check_code_length?(code) && check_numbers?(code)
9
10
  end
10
11
 
11
12
  private
12
13
 
14
+ def string_to_integer(input_code)
15
+ array_int = []
16
+ array_chars = input_code.chars
17
+ array_chars.each { |i| array_int << i.to_i }
18
+ array_int
19
+ end
20
+
13
21
  def valid_name?(name)
14
22
  name.length >= 3 && name.length <= 20
15
23
  end
24
+
25
+ def check_code_length?(code)
26
+ code.length == 4
27
+ end
28
+
29
+ def check_numbers?(code)
30
+ code.all? { |value| value.between?(1, 6) }
31
+ end
16
32
  end
17
33
  end
@@ -1,3 +1,3 @@
1
1
  module AndriiCodebreaker
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
@@ -1,3 +1,5 @@
1
+ require 'yaml'
2
+
1
3
  require_relative 'andrii_codebreaker/model'
2
4
  require_relative 'andrii_codebreaker/user'
3
5
  require_relative 'andrii_codebreaker/validate/validate'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: andrii_codebreaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrii
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-28 00:00:00.000000000 Z
11
+ date: 2021-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fasterer
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: simplecov
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +87,7 @@ dependencies:
73
87
  - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
- type: :runtime
90
+ type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
@@ -87,7 +101,9 @@ executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
104
+ - ".circleci/config.yml"
90
105
  - ".fasterer.yml"
106
+ - ".gitignore"
91
107
  - ".rspec"
92
108
  - ".rubocop.yml"
93
109
  - ".ruby-gemset"
@@ -97,6 +113,7 @@ files:
97
113
  - LICENSE.txt
98
114
  - README.md
99
115
  - Rakefile
116
+ - andrii_codebreaker.gemspec
100
117
  - bin/console
101
118
  - bin/setup
102
119
  - lib/andrii_codebreaker.rb