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 +4 -4
- data/.circleci/config.yml +62 -0
- data/.gitignore +10 -0
- data/.rubocop.yml +5 -0
- data/Gemfile.lock +9 -6
- data/Rakefile +1 -5
- data/andrii_codebreaker.gemspec +34 -0
- data/lib/andrii_codebreaker/game.rb +0 -1
- data/lib/andrii_codebreaker/model.rb +0 -3
- data/lib/andrii_codebreaker/validate/validate.rb +20 -4
- data/lib/andrii_codebreaker/version.rb +1 -1
- data/lib/andrii_codebreaker.rb +2 -0
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4ca52214a921ea9b0fc78992ef7d0da364089eaabc37c822ec6684df7246d70
|
4
|
+
data.tar.gz: '089d9d9c55bab90acbb98810ee30fb98d7f25fe5871364afa928fae5c370db5e'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
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.
|
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.
|
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.
|
50
|
-
sexp_processor (~> 4.
|
51
|
-
sexp_processor (4.
|
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
@@ -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,17 +1,33 @@
|
|
1
1
|
module AndriiCodebreaker
|
2
2
|
module Validate
|
3
|
-
def
|
4
|
-
|
3
|
+
def validates_name(name)
|
4
|
+
name if valid_name?(name)
|
5
5
|
end
|
6
6
|
|
7
|
-
def
|
8
|
-
|
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
|
data/lib/andrii_codebreaker.rb
CHANGED
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.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrii
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
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: :
|
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
|