max_amount 0.1.0 → 1.2.4
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/.rubocop.yml +0 -1
- data/Gemfile +5 -4
- data/Gemfile.lock +5 -5
- data/README.md +64 -17
- data/Rakefile +0 -9
- data/lib/main.rb +1 -4
- data/lib/max_amount/cli.rb +5 -4
- data/lib/max_amount/{extract_integer.rb → seeker.rb} +0 -0
- data/lib/max_amount/test_data.txt +16 -0
- data/lib/max_amount/version.rb +1 -1
- data/lib/max_amount.rb +10 -0
- metadata +11 -8
- data/examples/max_amount.rb +0 -11
- data/sig/max_amount.rbs +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 350f0cfbb9d43c276d77656c980744b9efaffc94d81f6148853c1ca2db8847c0
|
4
|
+
data.tar.gz: d3794227bd0722cad8a04a1be6429d3e13c9b19b7ab701c0bc144b3da7ff96cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25748ccb9b6900974780d6ee5a00a66f866286392e60d94c3d4c530f476a9cca66c2bca7e1e716ca5783c5d5126eba1a33531e0abedefe5345bc704a61083405
|
7
|
+
data.tar.gz: 5b284bada3aff0867af14f2ccd836f0c865321cd786f48fae30ba479641b149db28b797fc869ee2c9b5f67a096852c534729d0455ffc19618e85a38340d7d42b
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
@@ -7,13 +7,14 @@ gemspec
|
|
7
7
|
|
8
8
|
gem 'rake', '~> 13.0'
|
9
9
|
|
10
|
+
gem 'fileutils'
|
11
|
+
|
10
12
|
group :test do
|
11
|
-
gem 'byebug'
|
12
|
-
gem 'codecov',
|
13
|
-
gem 'dotenv', '~> 2.7'
|
13
|
+
gem 'byebug'
|
14
|
+
gem 'codecov', '~> 0.4'
|
14
15
|
gem 'rspec', '~> 3.1'
|
15
16
|
gem 'rubocop', '~> 1.36'
|
16
17
|
gem 'rubocop-performance', '~> 1.15'
|
17
18
|
gem 'rubocop-rspec', '~> 2.13'
|
18
|
-
gem 'simplecov',
|
19
|
+
gem 'simplecov', '~> 0.21'
|
19
20
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
max_amount (
|
4
|
+
max_amount (1.2.4)
|
5
5
|
optparse
|
6
6
|
securerandom
|
7
7
|
|
@@ -14,7 +14,7 @@ GEM
|
|
14
14
|
simplecov (>= 0.15, < 0.22)
|
15
15
|
diff-lcs (1.5.0)
|
16
16
|
docile (1.4.0)
|
17
|
-
|
17
|
+
fileutils (1.5.0)
|
18
18
|
json (2.6.2)
|
19
19
|
optparse (0.2.0)
|
20
20
|
parallel (1.22.1)
|
@@ -69,15 +69,15 @@ PLATFORMS
|
|
69
69
|
|
70
70
|
DEPENDENCIES
|
71
71
|
byebug
|
72
|
-
codecov
|
73
|
-
|
72
|
+
codecov (~> 0.4)
|
73
|
+
fileutils
|
74
74
|
max_amount!
|
75
75
|
rake (~> 13.0)
|
76
76
|
rspec (~> 3.1)
|
77
77
|
rubocop (~> 1.36)
|
78
78
|
rubocop-performance (~> 1.15)
|
79
79
|
rubocop-rspec (~> 2.13)
|
80
|
-
simplecov
|
80
|
+
simplecov (~> 0.21)
|
81
81
|
|
82
82
|
BUNDLED WITH
|
83
83
|
2.3.21
|
data/README.md
CHANGED
@@ -1,33 +1,80 @@
|
|
1
|
-
#
|
1
|
+
# max_amount
|
2
2
|
|
3
|
-
|
3
|
+
## Скрипт выполняется следующее:
|
4
|
+
* читает из входящего потока текстовые данные;
|
5
|
+
* по завершении ввода выводит n самых больших целых чисел, встретившихся в
|
6
|
+
полученных текстовых данных.
|
7
|
+
Дополнительные сведения:
|
8
|
+
* числом считается любая непрерывная последовательность цифр в тексте;
|
9
|
+
* чисел длиннее 1000 цифр во входных данных нет;
|
10
|
+
* числа n,l и m - консольные параметры;
|
11
|
+
* код покрыт тестами;
|
12
|
+
* код оформлен в виде гема.
|
4
13
|
|
5
|
-
|
14
|
+
## Установка:
|
6
15
|
|
7
|
-
|
16
|
+
Добавьте
|
8
17
|
|
9
|
-
|
18
|
+
``` rb
|
19
|
+
gem 'max_amount'
|
20
|
+
```
|
10
21
|
|
11
|
-
|
22
|
+
И сделайте
|
12
23
|
|
13
|
-
|
24
|
+
bundle
|
14
25
|
|
15
|
-
|
26
|
+
Или сделайте
|
16
27
|
|
17
|
-
|
28
|
+
gem install max_amount
|
18
29
|
|
19
|
-
|
30
|
+
## Использование:
|
20
31
|
|
21
|
-
|
32
|
+
``` rb
|
33
|
+
require 'max_amount'
|
22
34
|
|
23
|
-
|
35
|
+
user_string = '24b6be4d91faa7d3469b9a0cc17d1d5267d21c5f8653ba4f70e3ef007'
|
24
36
|
|
25
|
-
|
37
|
+
user_string = nil if user_string.nil?
|
26
38
|
|
27
|
-
|
39
|
+
$stdout.print "\n\n== Результат: ==\n\n"
|
28
40
|
|
29
|
-
|
41
|
+
puts MaxAmount.result(user_string: user_string)
|
42
|
+
```
|
30
43
|
|
31
|
-
##
|
44
|
+
## Запуск:
|
32
45
|
|
33
|
-
|
46
|
+
``` rb
|
47
|
+
ruby name_programm.rb --h
|
48
|
+
|
49
|
+
Результат:
|
50
|
+
|
51
|
+
Чтение из входящего потока текстовых данных:
|
52
|
+
--h Справка
|
53
|
+
--n Nmax n самых больших целых чисел (n > 0)
|
54
|
+
--l length длина строки
|
55
|
+
--m choice тестовая строка (m=1) / случайно сгенерированная строка (m=2) / пользовательская строка (m=3)
|
56
|
+
|
57
|
+
|
58
|
+
$ ruby name_programm.rb --n 10 --l 300 --m 3
|
59
|
+
|
60
|
+
Результат:
|
61
|
+
|
62
|
+
8653
|
63
|
+
5267
|
64
|
+
3469
|
65
|
+
91
|
66
|
+
70
|
67
|
+
24
|
68
|
+
21
|
69
|
+
17
|
70
|
+
9
|
71
|
+
7
|
72
|
+
```
|
73
|
+
|
74
|
+
## Помочь в разработке
|
75
|
+
|
76
|
+
Шлите ваши пулреквесты в https://github.com/ProfessorNemo/max_amount.
|
77
|
+
|
78
|
+
## Лицензия
|
79
|
+
|
80
|
+
[MIT License](https://opensource.org/licenses/MIT)
|
data/Rakefile
CHANGED
@@ -1,14 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'rake'
|
4
|
-
|
5
|
-
begin
|
6
|
-
require 'bundler/setup'
|
7
|
-
Bundler::GemHelper.install_tasks
|
8
|
-
rescue LoadError
|
9
|
-
puts 'although not required, bundler is recommened for running the tests'
|
10
|
-
end
|
11
|
-
|
12
3
|
require 'bundler/gem_tasks'
|
13
4
|
require 'rspec/core/rake_task'
|
14
5
|
|
data/lib/main.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'max_amount/version'
|
4
|
-
|
5
|
-
require 'byebug'
|
6
4
|
require 'optparse'
|
7
5
|
require 'securerandom'
|
8
6
|
require 'dotenv/load'
|
9
|
-
|
10
7
|
require_relative 'max_amount/options'
|
11
8
|
require_relative 'max_amount/cli'
|
12
9
|
require_relative 'max_amount/errors'
|
13
|
-
require_relative 'max_amount/
|
10
|
+
require_relative 'max_amount/seeker'
|
data/lib/max_amount/cli.rb
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module MaxAmount
|
4
|
-
module
|
4
|
+
module Cli
|
5
5
|
extend MaxAmount::Options
|
6
6
|
|
7
|
-
def self.call(
|
7
|
+
def self.call(user_string:)
|
8
8
|
options = MaxAmount::Options.ask
|
9
9
|
|
10
10
|
case options[:m]
|
11
11
|
when '1'
|
12
|
-
str =
|
12
|
+
# str = File.read File.expand_path('../test/test_data.txt', __dir__).sub('/lib', '')
|
13
|
+
str = File.read File.expand_path('test_data.txt', __dir__)
|
13
14
|
when '2'
|
14
15
|
str = SecureRandom.hex(options[:l].to_i)
|
15
16
|
when '3'
|
16
|
-
str =
|
17
|
+
str = user_string
|
17
18
|
end
|
18
19
|
|
19
20
|
params = {
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
xfsNZtpWsrKH1$OdTp35
|
2
|
+
lV$MHa@X$n05Uay04GPrO!xCAym8ezG&%-$yGEw1Ssf_qBqL
|
3
|
+
0XjhTVE_PSys@GiLk%m&zdxtycv_6lLA73Rd8rYjarRTn
|
4
|
+
$Ha_2PF_Zqhk-b
|
5
|
+
I1Anb7bKOuQW5@o9oHMduF%
|
6
|
+
8F3zkJai0
|
7
|
+
X4tPsfqos5qudf#.oqQKDkCNtG
|
8
|
+
g0oBCqch%$j!lKF80b6nn
|
9
|
+
A.DxrUqh!6-PXrIlTAbn#imlbu-UVoj96ArvYEKyE6Lz94sKSQ-kS4DdEfqsuI-yLgXXyntFH#47YNa
|
10
|
+
gNJyuzrk@S73eUUP!Lnn$l@iPDvS6b3&uZAKPfBTVEPDdtLdIkG27
|
11
|
+
Zcc18SOQ0P&%WLwfFh@Eqcw
|
12
|
+
ntISbSV#3FGVJz__zcGnOvOgB
|
13
|
+
dbFcrcAuu$Hf!i%GxjEF46r@!Qhq9iR$gxb7tgD&sFBZy-xFq
|
14
|
+
jM7J.2X%Erb@ukP&g$zxc%Y_$sq0MNUO#l#QzV4.Jxq50uCaYF&J9J3o@WF2fm2uBqPrcvuDS$DCJbw!kCNP.IurST.%-f!-cNmNJJ4Y_S2hXLc5dB5evaD-NYX8z1Af$e8Bf1jPXoP7vDL
|
15
|
+
5bWcCuRJdI&o2vJz-dDHSma%gJa&$e2RJ4kq7FmiTQyHB6gKgzSi1Oqouqh%eF3ErnLvj&sqp-hZY8-yr0$A4c.rMZuVdZNLMCDU!w3rV806xG@SIudZbKmjpcVNfMVBJNeEzUIC7YxKzI0$lw!@cobkk_SkAUSjTpYLvzph.Bp!H4Cfmh!oTs2Fcg7&&!C.Forlg%jlv%-n68kjY5m8N#4v@w9eAjaQJdpU2Bg.ULkJe.5c$wEV!E.EKo2A1H8C#-HnupTT6iD#s4X1TxlKdZlLK!.QAAjx
|
16
|
+
k-4g$amq4Fn6K44dj4uyzxISEb2UvWO4rsPb1E2e.BSNCqK8NAYa%Qkxghvm$qneBpMc0A7Xzoma@TMeZJh9&OorU2FD9fS_XZIugrxf#q3IPIFqoCsU
|
data/lib/max_amount/version.rb
CHANGED
data/lib/max_amount.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: max_amount
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gleb V. Zhegilin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: optparse
|
@@ -38,8 +38,9 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description:
|
42
|
-
|
41
|
+
description: |-
|
42
|
+
Reading text data and outputting the n largest integers encountered in the received text data.
|
43
|
+
When input is complete, prints the n largest integers.
|
43
44
|
email:
|
44
45
|
- gleboceanborn@gmail.com
|
45
46
|
executables: []
|
@@ -55,18 +56,20 @@ files:
|
|
55
56
|
- LICENSE.txt
|
56
57
|
- README.md
|
57
58
|
- Rakefile
|
58
|
-
- examples/max_amount.rb
|
59
59
|
- lib/main.rb
|
60
|
+
- lib/max_amount.rb
|
60
61
|
- lib/max_amount/cli.rb
|
61
62
|
- lib/max_amount/errors.rb
|
62
|
-
- lib/max_amount/extract_integer.rb
|
63
63
|
- lib/max_amount/options.rb
|
64
|
+
- lib/max_amount/seeker.rb
|
65
|
+
- lib/max_amount/test_data.txt
|
64
66
|
- lib/max_amount/version.rb
|
65
|
-
- sig/max_amount.rbs
|
66
67
|
homepage: https://github.com/ProfessorNemo/max_amount
|
67
68
|
licenses:
|
68
69
|
- MIT
|
69
70
|
metadata:
|
71
|
+
homepage_uri: https://github.com/ProfessorNemo/max_amount
|
72
|
+
source_code_uri: https://github.com/ProfessorNemo/max_amount
|
70
73
|
rubygems_mfa_required: 'true'
|
71
74
|
post_install_message:
|
72
75
|
rdoc_options: []
|
@@ -76,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
79
|
requirements:
|
77
80
|
- - ">="
|
78
81
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
82
|
+
version: 3.0.2
|
80
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
84
|
requirements:
|
82
85
|
- - ">="
|
data/examples/max_amount.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../lib/main'
|
4
|
-
|
5
|
-
# путь к файлу с пользовательской строкой
|
6
|
-
path = File.expand_path('../spec/support/fixtures/sample_data.txt', __dir__)
|
7
|
-
|
8
|
-
# если файла нет, то присваиваем nil
|
9
|
-
custom_string = File.exist?(path) ? File.read(path) : nil
|
10
|
-
|
11
|
-
MaxAmount::CLI.call(custom_string: custom_string)
|
data/sig/max_amount.rbs
DELETED