andrii_codebreaker 0.1.1 → 0.1.2

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