codebreaker_vk 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.fasterer.yml +22 -0
- data/.gitignore +2 -0
- data/.overcommit.yml +56 -0
- data/.ruby-gemset +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +54 -2
- data/bin/console +0 -7
- data/bin/setup +0 -2
- data/codebreaker_vk-0.1.0.gem +0 -0
- data/codebreaker_vk.gemspec +1 -1
- data/lib/codebreaker_vk/config.rb +17 -0
- data/lib/codebreaker_vk/errors/autoload.rb +5 -0
- data/lib/codebreaker_vk/errors/difficulty_level_error.rb +5 -0
- data/lib/codebreaker_vk/errors/format_error.rb +5 -0
- data/lib/codebreaker_vk/errors/max_hint_error.rb +5 -0
- data/lib/codebreaker_vk/game.rb +89 -0
- data/lib/codebreaker_vk/game_process.rb +43 -0
- data/lib/codebreaker_vk/version.rb +3 -1
- data/lib/codebreaker_vk.rb +6 -1
- metadata +16 -11
- data/.idea/.rakeTasks +0 -7
- data/.idea/codebreaker_vk.iml +0 -26
- data/.idea/misc.xml +0 -7
- data/.idea/modules.xml +0 -8
- data/.idea/vcs.xml +0 -6
- data/.idea/workspace.xml +0 -263
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7bedbd8a588ed943975d03c086942b9c7fcfa44f310b325ac89b51b55f2f20b
|
4
|
+
data.tar.gz: b6f322d1d155f676d10d479cf690e2dd49aea1346018f2a9f78f76fdd0b9eb35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aba7aff1db9db5aef5722614828a8c60cd4a81f730ed81823d8176b55b7cb9b5e847eaa1f63d51169590b7e5aaaf9986f186c96f23c1a70390175174b4a2c57
|
7
|
+
data.tar.gz: c7f2a4243ab18a1b69c60ea443e5f3b4f24e6e2c5e628f96a77a41646c5973904ab9c20ee19e0e19730e653c07ebea100d2e0ddb122f1c5c89f7785ae0a56095
|
data/.fasterer.yml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
speedups:
|
2
|
+
rescue_vs_respond_to: true
|
3
|
+
module_eval: true
|
4
|
+
shuffle_first_vs_sample: true
|
5
|
+
for_loop_vs_each: true
|
6
|
+
each_with_index_vs_while: false
|
7
|
+
map_flatten_vs_flat_map: true
|
8
|
+
reverse_each_vs_reverse_each: true
|
9
|
+
select_first_vs_detect: true
|
10
|
+
sort_vs_sort_by: true
|
11
|
+
fetch_with_argument_vs_block: true
|
12
|
+
keys_each_vs_each_key: true
|
13
|
+
hash_merge_bang_vs_hash_brackets: true
|
14
|
+
block_vs_symbol_to_proc: true
|
15
|
+
proc_call_vs_yield: true
|
16
|
+
gsub_vs_tr: true
|
17
|
+
select_last_vs_reverse_detect: true
|
18
|
+
getter_vs_attr_reader: true
|
19
|
+
setter_vs_attr_writer: true
|
20
|
+
|
21
|
+
exclude_paths:
|
22
|
+
- spec/**/*.rb
|
data/.gitignore
CHANGED
data/.overcommit.yml
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
CommitMsg:
|
2
|
+
CapitalizedSubject:
|
3
|
+
enabled: false
|
4
|
+
|
5
|
+
EmptyMessage:
|
6
|
+
enabled: false
|
7
|
+
|
8
|
+
TrailingPeriod:
|
9
|
+
enabled: true
|
10
|
+
|
11
|
+
TextWidth:
|
12
|
+
enabled: false
|
13
|
+
|
14
|
+
PreCommit:
|
15
|
+
ALL:
|
16
|
+
on_warn: fail
|
17
|
+
|
18
|
+
AuthorEmail:
|
19
|
+
enabled: false
|
20
|
+
|
21
|
+
AuthorName:
|
22
|
+
enabled: false
|
23
|
+
|
24
|
+
MergeConflicts:
|
25
|
+
enabled: true
|
26
|
+
|
27
|
+
YamlSyntax:
|
28
|
+
enabled: true
|
29
|
+
|
30
|
+
BundleCheck:
|
31
|
+
enabled: true
|
32
|
+
|
33
|
+
Rubocop:
|
34
|
+
enabled: true
|
35
|
+
|
36
|
+
Fasterer:
|
37
|
+
enabled: true
|
38
|
+
|
39
|
+
BundleAudit:
|
40
|
+
enabled: true
|
41
|
+
|
42
|
+
RSpec:
|
43
|
+
enabled: true
|
44
|
+
|
45
|
+
BundleOutdated:
|
46
|
+
enabled: true
|
47
|
+
|
48
|
+
ExecutePermissions:
|
49
|
+
enabled: false
|
50
|
+
|
51
|
+
ForbiddenBranches:
|
52
|
+
enabled: true
|
53
|
+
branch_patterns: ['master']
|
54
|
+
|
55
|
+
LineEndings:
|
56
|
+
enabled: true
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
codebreaker_vk
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,12 +1,36 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
codebreaker_vk (0.
|
4
|
+
codebreaker_vk (0.2.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
+
ast (2.4.0)
|
10
|
+
childprocess (0.9.0)
|
11
|
+
ffi (~> 1.0, >= 1.0.11)
|
12
|
+
coderay (1.1.2)
|
13
|
+
colorize (0.8.1)
|
9
14
|
diff-lcs (1.3)
|
15
|
+
docile (1.3.2)
|
16
|
+
fasterer (0.5.1)
|
17
|
+
colorize (~> 0.7)
|
18
|
+
ruby_parser (>= 3.13.0)
|
19
|
+
ffi (1.11.1)
|
20
|
+
iniparse (1.4.4)
|
21
|
+
jaro_winkler (1.5.3)
|
22
|
+
json (2.2.0)
|
23
|
+
method_source (0.9.2)
|
24
|
+
overcommit (0.48.1)
|
25
|
+
childprocess (~> 0.6, >= 0.6.3)
|
26
|
+
iniparse (~> 1.4)
|
27
|
+
parallel (1.17.0)
|
28
|
+
parser (2.6.3.0)
|
29
|
+
ast (~> 2.4.0)
|
30
|
+
pry (0.12.2)
|
31
|
+
coderay (~> 1.1.0)
|
32
|
+
method_source (~> 0.9.0)
|
33
|
+
rainbow (3.0.0)
|
10
34
|
rake (10.5.0)
|
11
35
|
rspec (3.8.0)
|
12
36
|
rspec-core (~> 3.8.0)
|
@@ -21,6 +45,27 @@ GEM
|
|
21
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
22
46
|
rspec-support (~> 3.8.0)
|
23
47
|
rspec-support (3.8.2)
|
48
|
+
rubocop (0.70.0)
|
49
|
+
jaro_winkler (~> 1.5.1)
|
50
|
+
parallel (~> 1.10)
|
51
|
+
parser (>= 2.6)
|
52
|
+
rainbow (>= 2.2.2, < 4.0)
|
53
|
+
ruby-progressbar (~> 1.7)
|
54
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
55
|
+
rubocop-performance (1.3.0)
|
56
|
+
rubocop (>= 0.68.0)
|
57
|
+
rubocop-rspec (1.33.0)
|
58
|
+
rubocop (>= 0.60.0)
|
59
|
+
ruby-progressbar (1.10.1)
|
60
|
+
ruby_parser (3.13.1)
|
61
|
+
sexp_processor (~> 4.9)
|
62
|
+
sexp_processor (4.12.1)
|
63
|
+
simplecov (0.17.0)
|
64
|
+
docile (~> 1.1)
|
65
|
+
json (>= 1.8, < 3)
|
66
|
+
simplecov-html (~> 0.10.0)
|
67
|
+
simplecov-html (0.10.2)
|
68
|
+
unicode-display_width (1.6.0)
|
24
69
|
|
25
70
|
PLATFORMS
|
26
71
|
ruby
|
@@ -28,8 +73,15 @@ PLATFORMS
|
|
28
73
|
DEPENDENCIES
|
29
74
|
bundler (~> 2.0)
|
30
75
|
codebreaker_vk!
|
76
|
+
fasterer (~> 0.5.1)
|
77
|
+
overcommit
|
78
|
+
pry (~> 0.12.2)
|
31
79
|
rake (~> 10.0)
|
32
|
-
rspec (~> 3.
|
80
|
+
rspec (~> 3.8)
|
81
|
+
rubocop (~> 0.70.0)
|
82
|
+
rubocop-performance (~> 1.3)
|
83
|
+
rubocop-rspec (~> 1.33)
|
84
|
+
simplecov
|
33
85
|
|
34
86
|
BUNDLED WITH
|
35
87
|
2.0.2
|
data/bin/console
CHANGED
@@ -3,12 +3,5 @@
|
|
3
3
|
require "bundler/setup"
|
4
4
|
require "codebreaker_vk"
|
5
5
|
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
6
|
require "irb"
|
14
7
|
IRB.start(__FILE__)
|
data/bin/setup
CHANGED
Binary file
|
data/codebreaker_vk.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
|
28
28
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
29
29
|
spec.add_development_dependency 'fasterer', '~> 0.5.1'
|
30
|
-
spec.add_development_dependency 'overcommit'
|
30
|
+
spec.add_development_dependency 'overcommit'
|
31
31
|
spec.add_development_dependency 'pry', '~> 0.12.2'
|
32
32
|
spec.add_development_dependency 'rake', '~> 10.0'
|
33
33
|
spec.add_development_dependency 'rspec', '~> 3.8'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CodebreakerVk
|
4
|
+
CODE_LENGTH = 4
|
5
|
+
|
6
|
+
EXACT_MATCH_SIGN = '+'
|
7
|
+
NUMBER_MATCH_SIGN = '-'
|
8
|
+
|
9
|
+
MIN_CODE_NUMBER = 1
|
10
|
+
MAX_CODE_NUMBER = 6
|
11
|
+
|
12
|
+
DIFFICULTIES = {
|
13
|
+
kid: { tries: 15, hints: 2 },
|
14
|
+
average: { tries: 10, hints: 1 },
|
15
|
+
hacker: { tries: 5, hints: 1 }
|
16
|
+
}.freeze
|
17
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'config'
|
4
|
+
|
5
|
+
module CodebreakerVk
|
6
|
+
class Game
|
7
|
+
attr_reader :tries_count, :hints_count, :errors
|
8
|
+
|
9
|
+
def initialize(difficulty: :kid)
|
10
|
+
validate_difficulty(difficulty)
|
11
|
+
|
12
|
+
@difficulty = difficulty
|
13
|
+
|
14
|
+
@hint_indexes = (0...CODE_LENGTH).to_a
|
15
|
+
|
16
|
+
@secret = Array.new(CODE_LENGTH) { rand(MIN_CODE_NUMBER..MAX_CODE_NUMBER) }
|
17
|
+
|
18
|
+
@tries_count = DIFFICULTIES[@difficulty][:tries]
|
19
|
+
@hints_count = DIFFICULTIES[@difficulty][:hints]
|
20
|
+
|
21
|
+
@errors = []
|
22
|
+
|
23
|
+
@matches = ''
|
24
|
+
end
|
25
|
+
|
26
|
+
def check_guess(input)
|
27
|
+
input = to_array(input)
|
28
|
+
|
29
|
+
return add_error(FormatError) unless valid? input
|
30
|
+
|
31
|
+
@tries_count -= 1
|
32
|
+
|
33
|
+
resolver = GameProcess.new(@secret, input)
|
34
|
+
|
35
|
+
@matches = resolver.matches
|
36
|
+
end
|
37
|
+
|
38
|
+
def generate_hint
|
39
|
+
return add_error(MaxHintError) if @hints_count.zero?
|
40
|
+
|
41
|
+
index = @hint_indexes.sample
|
42
|
+
|
43
|
+
hint = @secret[index]
|
44
|
+
|
45
|
+
@hint_indexes.delete index
|
46
|
+
|
47
|
+
@hints_count -= 1
|
48
|
+
|
49
|
+
hint
|
50
|
+
end
|
51
|
+
|
52
|
+
def win?
|
53
|
+
@matches == Array.new(CODE_LENGTH, EXACT_MATCH_SIGN).join
|
54
|
+
end
|
55
|
+
|
56
|
+
def lose?
|
57
|
+
@tries_count.zero?
|
58
|
+
end
|
59
|
+
|
60
|
+
def data
|
61
|
+
{
|
62
|
+
difficulty: DIFFICULTIES.keys.index(@difficulty),
|
63
|
+
secret: @secret,
|
64
|
+
tries_total: DIFFICULTIES[@difficulty][:tries],
|
65
|
+
hints_total: DIFFICULTIES[@difficulty][:hints],
|
66
|
+
tries_used: DIFFICULTIES[@difficulty][:tries] - @tries_count,
|
67
|
+
hints_used: DIFFICULTIES[@difficulty][:hints] - @hints_count
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def add_error(err)
|
74
|
+
(@errors << err) && nil
|
75
|
+
end
|
76
|
+
|
77
|
+
def validate_difficulty(difficulty)
|
78
|
+
raise DifficultyLevelError unless DIFFICULTIES.include? difficulty.to_sym
|
79
|
+
end
|
80
|
+
|
81
|
+
def to_array(input)
|
82
|
+
input.to_i.digits.reverse
|
83
|
+
end
|
84
|
+
|
85
|
+
def valid?(input)
|
86
|
+
input.size == CODE_LENGTH && input.all? { |number| number.between? MIN_CODE_NUMBER, MAX_CODE_NUMBER }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'config'
|
4
|
+
|
5
|
+
module CodebreakerVk
|
6
|
+
class GameProcess
|
7
|
+
attr_reader :matches
|
8
|
+
|
9
|
+
def initialize(secret_code, user_code)
|
10
|
+
@secret_code = secret_code.clone
|
11
|
+
@user_code = user_code
|
12
|
+
|
13
|
+
@exact_matches = 0
|
14
|
+
@number_matches = 0
|
15
|
+
|
16
|
+
@matches = obtain_matches
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def obtain_matches
|
22
|
+
calculate_matches unless @secret_code.empty?
|
23
|
+
|
24
|
+
EXACT_MATCH_SIGN * @exact_matches << NUMBER_MATCH_SIGN * @number_matches
|
25
|
+
end
|
26
|
+
|
27
|
+
def calculate_matches
|
28
|
+
@secret_code.zip(@user_code).each do |secret_code_number, user_code_number|
|
29
|
+
next unless @secret_code.include? user_code_number
|
30
|
+
|
31
|
+
next add_match(user_code_number, exact: true) if secret_code_number == user_code_number
|
32
|
+
|
33
|
+
add_match(user_code_number)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_match(matched_code_number, exact: false)
|
38
|
+
exact ? @exact_matches += 1 : @number_matches += 1
|
39
|
+
|
40
|
+
@secret_code.delete_at(@secret_code.index(matched_code_number))
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/codebreaker_vk.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'codebreaker_vk/game'
|
4
|
+
require_relative 'codebreaker_vk/game_process'
|
5
|
+
require_relative 'codebreaker_vk/errors/autoload'
|
6
|
+
require_relative 'codebreaker_vk/version'
|
2
7
|
|
3
8
|
module CodebreakerVk
|
4
9
|
class Error < StandardError; end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codebreaker_vk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VKuzmich
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: overcommit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,14 +157,11 @@ executables: []
|
|
157
157
|
extensions: []
|
158
158
|
extra_rdoc_files: []
|
159
159
|
files:
|
160
|
+
- ".fasterer.yml"
|
160
161
|
- ".gitignore"
|
161
|
-
- ".
|
162
|
-
- ".idea/codebreaker_vk.iml"
|
163
|
-
- ".idea/misc.xml"
|
164
|
-
- ".idea/modules.xml"
|
165
|
-
- ".idea/vcs.xml"
|
166
|
-
- ".idea/workspace.xml"
|
162
|
+
- ".overcommit.yml"
|
167
163
|
- ".rspec"
|
164
|
+
- ".ruby-gemset"
|
168
165
|
- ".travis.yml"
|
169
166
|
- CODE_OF_CONDUCT.md
|
170
167
|
- Gemfile
|
@@ -174,8 +171,16 @@ files:
|
|
174
171
|
- Rakefile
|
175
172
|
- bin/console
|
176
173
|
- bin/setup
|
174
|
+
- codebreaker_vk-0.1.0.gem
|
177
175
|
- codebreaker_vk.gemspec
|
178
176
|
- lib/codebreaker_vk.rb
|
177
|
+
- lib/codebreaker_vk/config.rb
|
178
|
+
- lib/codebreaker_vk/errors/autoload.rb
|
179
|
+
- lib/codebreaker_vk/errors/difficulty_level_error.rb
|
180
|
+
- lib/codebreaker_vk/errors/format_error.rb
|
181
|
+
- lib/codebreaker_vk/errors/max_hint_error.rb
|
182
|
+
- lib/codebreaker_vk/game.rb
|
183
|
+
- lib/codebreaker_vk/game_process.rb
|
179
184
|
- lib/codebreaker_vk/version.rb
|
180
185
|
homepage: https://github.com/VKuzmich/codebreaker_vk
|
181
186
|
licenses:
|
data/.idea/.rakeTasks
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<Settings><!--This file was automatically generated by Ruby plugin.
|
3
|
-
You are allowed to:
|
4
|
-
1. Remove rake task
|
5
|
-
2. Add existing rake tasks
|
6
|
-
To add existing rake tasks automatically delete this file and reload the project.
|
7
|
-
--><RakeGroup description="" fullCmd="" taksId="rake" /></Settings>
|
data/.idea/codebreaker_vk.iml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<module type="RUBY_MODULE" version="4">
|
3
|
-
<component name="ModuleRunConfigurationManager">
|
4
|
-
<shared />
|
5
|
-
</component>
|
6
|
-
<component name="NewModuleRootManager">
|
7
|
-
<content url="file://$MODULE_DIR$" />
|
8
|
-
<orderEntry type="inheritedJdk" />
|
9
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
10
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.0.2, ruby-2.3.7-p456) [gem]" level="application" />
|
11
|
-
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, ruby-2.3.7-p456) [gem]" level="application" />
|
12
|
-
<orderEntry type="library" scope="PROVIDED" name="fasterer (v0.5.1, ruby-2.3.7-p456) [gem]" level="application" />
|
13
|
-
<orderEntry type="library" scope="PROVIDED" name="overcommit (v0.48.1, ruby-2.3.7-p456) [gem]" level="application" />
|
14
|
-
<orderEntry type="library" scope="PROVIDED" name="pry (v0.12.2, ruby-2.3.7-p456) [gem]" level="application" />
|
15
|
-
<orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.3.7-p456) [gem]" level="application" />
|
16
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.8.0, ruby-2.3.7-p456) [gem]" level="application" />
|
17
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.8.2, ruby-2.3.7-p456) [gem]" level="application" />
|
18
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.8.4, ruby-2.3.7-p456) [gem]" level="application" />
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.8.1, ruby-2.3.7-p456) [gem]" level="application" />
|
20
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.8.2, ruby-2.3.7-p456) [gem]" level="application" />
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.70.0, ruby-2.3.7-p456) [gem]" level="application" />
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="rubocop-performance (v1.4.0, ruby-2.3.7-p456) [gem]" level="application" />
|
23
|
-
<orderEntry type="library" scope="PROVIDED" name="rubocop-rspec (v1.33.0, ruby-2.3.7-p456) [gem]" level="application" />
|
24
|
-
<orderEntry type="library" scope="PROVIDED" name="simplecov (v0.16.1, ruby-2.3.7-p456) [gem]" level="application" />
|
25
|
-
</component>
|
26
|
-
</module>
|
data/.idea/misc.xml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="JavaScriptSettings">
|
4
|
-
<option name="languageLevel" value="ES6" />
|
5
|
-
</component>
|
6
|
-
<component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.3.7-p456" project-jdk-type="RUBY_SDK" />
|
7
|
-
</project>
|
data/.idea/modules.xml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ProjectModuleManager">
|
4
|
-
<modules>
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/codebreaker_vk.iml" filepath="$PROJECT_DIR$/.idea/codebreaker_vk.iml" />
|
6
|
-
</modules>
|
7
|
-
</component>
|
8
|
-
</project>
|
data/.idea/vcs.xml
DELETED
data/.idea/workspace.xml
DELETED
@@ -1,263 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ChangeListManager">
|
4
|
-
<list default="true" id="6a8131cf-cac3-4900-8aba-05a2d544b668" name="Default Changelist" comment="">
|
5
|
-
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
6
|
-
</list>
|
7
|
-
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
8
|
-
<option name="SHOW_DIALOG" value="false" />
|
9
|
-
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
10
|
-
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
11
|
-
<option name="LAST_RESOLUTION" value="IGNORE" />
|
12
|
-
</component>
|
13
|
-
<component name="FUSProjectUsageTrigger">
|
14
|
-
<session id="-2059431398">
|
15
|
-
<usages-collector id="statistics.lifecycle.project">
|
16
|
-
<counts>
|
17
|
-
<entry key="project.closed" value="1" />
|
18
|
-
<entry key="project.open.time.0" value="2" />
|
19
|
-
<entry key="project.opened" value="2" />
|
20
|
-
</counts>
|
21
|
-
</usages-collector>
|
22
|
-
<usages-collector id="statistics.file.extensions.open">
|
23
|
-
<counts>
|
24
|
-
<entry key="console" value="1" />
|
25
|
-
<entry key="gemspec" value="1" />
|
26
|
-
<entry key="lock" value="1" />
|
27
|
-
<entry key="md" value="1" />
|
28
|
-
<entry key="rb" value="1" />
|
29
|
-
<entry key="setup" value="1" />
|
30
|
-
</counts>
|
31
|
-
</usages-collector>
|
32
|
-
<usages-collector id="statistics.file.types.open">
|
33
|
-
<counts>
|
34
|
-
<entry key="Markdown" value="1" />
|
35
|
-
<entry key="PLAIN_TEXT" value="2" />
|
36
|
-
<entry key="Ruby" value="3" />
|
37
|
-
</counts>
|
38
|
-
</usages-collector>
|
39
|
-
<usages-collector id="statistics.file.extensions.edit">
|
40
|
-
<counts>
|
41
|
-
<entry key="gemspec" value="15" />
|
42
|
-
<entry key="md" value="1" />
|
43
|
-
</counts>
|
44
|
-
</usages-collector>
|
45
|
-
<usages-collector id="statistics.file.types.edit">
|
46
|
-
<counts>
|
47
|
-
<entry key="Markdown" value="1" />
|
48
|
-
<entry key="Ruby" value="15" />
|
49
|
-
</counts>
|
50
|
-
</usages-collector>
|
51
|
-
</session>
|
52
|
-
</component>
|
53
|
-
<component name="FileEditorManager">
|
54
|
-
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
55
|
-
<file pinned="false" current-in-tab="false">
|
56
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
57
|
-
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
58
|
-
<state split_layout="SPLIT">
|
59
|
-
<first_editor relative-caret-position="255">
|
60
|
-
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
61
|
-
</first_editor>
|
62
|
-
<second_editor />
|
63
|
-
</state>
|
64
|
-
</provider>
|
65
|
-
</entry>
|
66
|
-
</file>
|
67
|
-
<file pinned="false" current-in-tab="false">
|
68
|
-
<entry file="file://$PROJECT_DIR$/codebreaker_vk.gemspec">
|
69
|
-
<provider selected="true" editor-type-id="text-editor">
|
70
|
-
<state relative-caret-position="90">
|
71
|
-
<caret line="6" column="15" selection-start-line="6" selection-start-column="15" selection-end-line="6" selection-end-column="15" />
|
72
|
-
</state>
|
73
|
-
</provider>
|
74
|
-
</entry>
|
75
|
-
</file>
|
76
|
-
<file pinned="false" current-in-tab="false">
|
77
|
-
<entry file="file://$PROJECT_DIR$/bin/console">
|
78
|
-
<provider selected="true" editor-type-id="text-editor" />
|
79
|
-
</entry>
|
80
|
-
</file>
|
81
|
-
<file pinned="false" current-in-tab="false">
|
82
|
-
<entry file="file://$PROJECT_DIR$/bin/setup">
|
83
|
-
<provider selected="true" editor-type-id="text-editor" />
|
84
|
-
</entry>
|
85
|
-
</file>
|
86
|
-
<file pinned="false" current-in-tab="true">
|
87
|
-
<entry file="file://$PROJECT_DIR$/lib/codebreaker_vk/version.rb">
|
88
|
-
<provider selected="true" editor-type-id="text-editor">
|
89
|
-
<state relative-caret-position="15">
|
90
|
-
<caret line="1" column="18" lean-forward="true" selection-start-line="1" selection-start-column="13" selection-end-line="1" selection-end-column="18" />
|
91
|
-
</state>
|
92
|
-
</provider>
|
93
|
-
</entry>
|
94
|
-
</file>
|
95
|
-
<file pinned="false" current-in-tab="false">
|
96
|
-
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
97
|
-
<provider selected="true" editor-type-id="text-editor" />
|
98
|
-
</entry>
|
99
|
-
</file>
|
100
|
-
</leaf>
|
101
|
-
</component>
|
102
|
-
<component name="Git.Settings">
|
103
|
-
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
104
|
-
</component>
|
105
|
-
<component name="IdeDocumentHistory">
|
106
|
-
<option name="CHANGED_PATHS">
|
107
|
-
<list>
|
108
|
-
<option value="$PROJECT_DIR$/README.md" />
|
109
|
-
<option value="$PROJECT_DIR$/codebreaker_vk.gemspec" />
|
110
|
-
</list>
|
111
|
-
</option>
|
112
|
-
</component>
|
113
|
-
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
114
|
-
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
115
|
-
<component name="JsGulpfileManager">
|
116
|
-
<detection-done>true</detection-done>
|
117
|
-
<sorting>DEFINITION_ORDER</sorting>
|
118
|
-
</component>
|
119
|
-
<component name="ProjectFrameBounds">
|
120
|
-
<option name="x" value="509" />
|
121
|
-
<option name="y" value="29" />
|
122
|
-
<option name="width" value="931" />
|
123
|
-
<option name="height" value="805" />
|
124
|
-
</component>
|
125
|
-
<component name="ProjectView">
|
126
|
-
<navigator proportions="" version="1">
|
127
|
-
<foldersAlwaysOnTop value="true" />
|
128
|
-
</navigator>
|
129
|
-
<panes>
|
130
|
-
<pane id="ProjectPane">
|
131
|
-
<subPane>
|
132
|
-
<expand>
|
133
|
-
<path>
|
134
|
-
<item name="codebreaker_vk" type="b2602c69:ProjectViewProjectNode" />
|
135
|
-
<item name="codebreaker_vk" type="462c0819:PsiDirectoryNode" />
|
136
|
-
</path>
|
137
|
-
<path>
|
138
|
-
<item name="codebreaker_vk" type="b2602c69:ProjectViewProjectNode" />
|
139
|
-
<item name="codebreaker_vk" type="462c0819:PsiDirectoryNode" />
|
140
|
-
<item name="bin" type="462c0819:PsiDirectoryNode" />
|
141
|
-
</path>
|
142
|
-
<path>
|
143
|
-
<item name="codebreaker_vk" type="b2602c69:ProjectViewProjectNode" />
|
144
|
-
<item name="codebreaker_vk" type="462c0819:PsiDirectoryNode" />
|
145
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
146
|
-
</path>
|
147
|
-
<path>
|
148
|
-
<item name="codebreaker_vk" type="b2602c69:ProjectViewProjectNode" />
|
149
|
-
<item name="codebreaker_vk" type="462c0819:PsiDirectoryNode" />
|
150
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
151
|
-
<item name="codebreaker_vk" type="462c0819:PsiDirectoryNode" />
|
152
|
-
</path>
|
153
|
-
</expand>
|
154
|
-
<select />
|
155
|
-
</subPane>
|
156
|
-
</pane>
|
157
|
-
<pane id="Scope" />
|
158
|
-
</panes>
|
159
|
-
</component>
|
160
|
-
<component name="PropertiesComponent">
|
161
|
-
<property name="WebServerToolWindowFactoryState" value="false" />
|
162
|
-
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
163
|
-
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
164
|
-
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
165
|
-
</component>
|
166
|
-
<component name="RunDashboard">
|
167
|
-
<option name="ruleStates">
|
168
|
-
<list>
|
169
|
-
<RuleState>
|
170
|
-
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
171
|
-
</RuleState>
|
172
|
-
<RuleState>
|
173
|
-
<option name="name" value="StatusDashboardGroupingRule" />
|
174
|
-
</RuleState>
|
175
|
-
</list>
|
176
|
-
</option>
|
177
|
-
</component>
|
178
|
-
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
|
179
|
-
<component name="SvnConfiguration">
|
180
|
-
<configuration />
|
181
|
-
</component>
|
182
|
-
<component name="TaskManager">
|
183
|
-
<task active="true" id="Default" summary="Default task">
|
184
|
-
<changelist id="6a8131cf-cac3-4900-8aba-05a2d544b668" name="Default Changelist" comment="" />
|
185
|
-
<created>1563268081514</created>
|
186
|
-
<option name="number" value="Default" />
|
187
|
-
<option name="presentableId" value="Default" />
|
188
|
-
<updated>1563268081514</updated>
|
189
|
-
<workItem from="1563268082708" duration="1449000" />
|
190
|
-
<workItem from="1563269944398" duration="267000" />
|
191
|
-
</task>
|
192
|
-
<servers />
|
193
|
-
</component>
|
194
|
-
<component name="TimeTrackingManager">
|
195
|
-
<option name="totallyTimeSpent" value="1716000" />
|
196
|
-
</component>
|
197
|
-
<component name="ToolWindowManager">
|
198
|
-
<frame x="509" y="29" width="931" height="805" extended-state="0" />
|
199
|
-
<layout>
|
200
|
-
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25534308" />
|
201
|
-
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
202
|
-
<window_info id="Favorites" order="2" side_tool="true" />
|
203
|
-
<window_info anchor="bottom" id="Message" order="0" />
|
204
|
-
<window_info anchor="bottom" id="Find" order="1" />
|
205
|
-
<window_info anchor="bottom" id="Run" order="2" />
|
206
|
-
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
207
|
-
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
208
|
-
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
209
|
-
<window_info anchor="bottom" id="TODO" order="6" />
|
210
|
-
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
211
|
-
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
|
212
|
-
<window_info anchor="bottom" id="Version Control" order="9" show_stripe_button="false" />
|
213
|
-
<window_info active="true" anchor="bottom" id="Terminal" order="10" visible="true" weight="0.3286517" />
|
214
|
-
<window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
|
215
|
-
<window_info anchor="bottom" id="Messages" order="12" weight="0.3286517" />
|
216
|
-
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
217
|
-
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
218
|
-
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
219
|
-
<window_info anchor="right" id="Database" order="3" />
|
220
|
-
</layout>
|
221
|
-
</component>
|
222
|
-
<component name="TypeScriptGeneratedFilesManager">
|
223
|
-
<option name="version" value="1" />
|
224
|
-
</component>
|
225
|
-
<component name="VcsContentAnnotationSettings">
|
226
|
-
<option name="myLimit" value="2678400000" />
|
227
|
-
</component>
|
228
|
-
<component name="editorHistoryManager">
|
229
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
230
|
-
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
231
|
-
<state split_layout="SPLIT">
|
232
|
-
<first_editor relative-caret-position="255">
|
233
|
-
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
234
|
-
</first_editor>
|
235
|
-
<second_editor />
|
236
|
-
</state>
|
237
|
-
</provider>
|
238
|
-
</entry>
|
239
|
-
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
240
|
-
<provider selected="true" editor-type-id="text-editor" />
|
241
|
-
</entry>
|
242
|
-
<entry file="file://$PROJECT_DIR$/codebreaker_vk.gemspec">
|
243
|
-
<provider selected="true" editor-type-id="text-editor">
|
244
|
-
<state relative-caret-position="90">
|
245
|
-
<caret line="6" column="15" selection-start-line="6" selection-start-column="15" selection-end-line="6" selection-end-column="15" />
|
246
|
-
</state>
|
247
|
-
</provider>
|
248
|
-
</entry>
|
249
|
-
<entry file="file://$PROJECT_DIR$/bin/console">
|
250
|
-
<provider selected="true" editor-type-id="text-editor" />
|
251
|
-
</entry>
|
252
|
-
<entry file="file://$PROJECT_DIR$/bin/setup">
|
253
|
-
<provider selected="true" editor-type-id="text-editor" />
|
254
|
-
</entry>
|
255
|
-
<entry file="file://$PROJECT_DIR$/lib/codebreaker_vk/version.rb">
|
256
|
-
<provider selected="true" editor-type-id="text-editor">
|
257
|
-
<state relative-caret-position="15">
|
258
|
-
<caret line="1" column="18" lean-forward="true" selection-start-line="1" selection-start-column="13" selection-end-line="1" selection-end-column="18" />
|
259
|
-
</state>
|
260
|
-
</provider>
|
261
|
-
</entry>
|
262
|
-
</component>
|
263
|
-
</project>
|