rslog 0.0.12 → 0.0.14

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: 843ae99c81000576196f8fb4b3cb3be0a6a529b430f02d4f205b58e9def8f61c
4
- data.tar.gz: 0e642e1dbb538480f037e7ed33b2129b99d31441ea5c44a51a45289f2fbe4e7e
3
+ metadata.gz: a458692b87d66b9b3b9159e9263172dc27b8d07a9df51a9fc336da6ff36c9388
4
+ data.tar.gz: d5ecb7b45c9534739a6e7c42c03cde7a468bd634b13659a837c9750647763120
5
5
  SHA512:
6
- metadata.gz: ccce9aef8ab69e63c8162116aceb13500bd4e5cff99b318958313ab0897250e55b476cc467178ed70ff69b98d847f9593ee9f2f9d1e616403cf8e1ceb5e3ab35
7
- data.tar.gz: 3065582ca9c1d32999faa78fc9675af66a83599222e39689b56875656cb69a715703a62e20f1910df622b776a8e6d18e730317398d2b7fd12f873739a53e9a5e
6
+ metadata.gz: 5e92c43c6e11b59e096a78e750007bd3a607c6742e1332231fb92e4ba6a7156836300f91cef763637e95ecadca52df671e76ad6963b45ec3bf744ef64a55d4f0
7
+ data.tar.gz: f77065e38bb39f59fdd2b82e4ada8dc25313891075e4927fa0176ab931b846d036a56507edb94cdbf90c9958ed7e05282c63f9a933906a1bd617438c91d40384
data/lib/rslog.rb CHANGED
@@ -3,18 +3,19 @@
3
3
 
4
4
  require_relative 'rslog/container'
5
5
  require_relative 'rslog/worker'
6
+ require_relative 'rslog/opts'
6
7
  require_relative 'rslog/input_parser'
7
8
  require_relative 'rslog/extractor'
8
9
  require_relative 'rslog/validator'
9
10
  require_relative 'rslog/data_parser'
11
+ require_relative 'rslog/decorators'
10
12
  require_relative 'rslog/presenter'
11
- require_relative 'rslog/opts'
12
13
 
13
14
  # For development
14
15
  # require 'pry'
15
16
 
16
17
  class RSlog
17
- VERSION = '0.0.12'
18
+ VERSION = '0.0.14'
18
19
 
19
20
  def self.run
20
21
  Container.new.process_all
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Class to present result in needed format
4
+ #
5
+ module Decorators
6
+ def self.all_title
7
+ 'List of webpages with most page views ordered from most views to less'
8
+ end
9
+ def self.all_suffix
10
+ 'visits'
11
+ end
12
+
13
+ def self.uniq_title
14
+ 'List list of webpages with most unique page views also ordered'
15
+ end
16
+
17
+ def self.uniq_suffix
18
+ 'unique views'
19
+ end
20
+
21
+ def self.separator
22
+ '-----------------------------'
23
+ end
24
+ end
data/lib/rslog/opts.rb CHANGED
@@ -19,19 +19,27 @@ module Opts
19
19
 
20
20
  def self.create_opts
21
21
  OptionParser.new do |opts|
22
- opts.banner = "Usage: #{File.basename($PROGRAM_NAME)} FILENAME"
22
+ banner(opts)
23
23
  help(opts)
24
- opts.on(*Opts::HELP[:descr]) do
25
- Opts::HELP[:action].call(opts)
26
- exit
27
- end
24
+ version(opts)
28
25
  end
29
26
  end
30
27
 
28
+ def self.banner(opts)
29
+ opts.banner = "Usage: #{File.basename($PROGRAM_NAME)} FILENAME"
30
+ end
31
+
31
32
  def self.help(opts)
32
33
  opts.on(*Opts::VERSION[:descr]) do
33
34
  Opts::VERSION[:action].call
34
35
  exit
35
36
  end
36
37
  end
38
+
39
+ def self.version(opts)
40
+ opts.on(*Opts::HELP[:descr]) do
41
+ Opts::HELP[:action].call(opts)
42
+ exit
43
+ end
44
+ end
37
45
  end
@@ -6,17 +6,9 @@ require_relative 'tools/array'
6
6
  # Class to present result in needed format
7
7
  #
8
8
  class Presenter < Worker
9
- DECORATORS = {
10
- all: {
11
- title:
12
- 'List of webpages with most page views ordered from most views to less',
13
- suffix: 'visits'
14
- },
15
- uniq: {
16
- title: 'List list of webpages with most unique page views also ordered',
17
- suffix: 'unique views'
18
- }
19
- }.freeze
9
+ include Decorators
10
+
11
+ attr_accessor :type
20
12
 
21
13
  def execute(type, formatter)
22
14
  @type = type
@@ -26,22 +18,10 @@ class Presenter < Worker
26
18
 
27
19
  private
28
20
 
29
- def title
30
- decorator[:title]
31
- end
32
-
33
- def suffix
34
- decorator[:suffix]
35
- end
36
-
37
- def decorator
38
- DECORATORS[@type]
39
- end
40
-
41
21
  def format_as_text
42
22
  [
43
- title,
44
- container.result.to_multiline_string(suffix),
23
+ Decorators.send("#{type}_title"),
24
+ container.result.to_multiline_string(Decorators.send("#{type}_suffix")),
45
25
  separator
46
26
  ].join("\n")
47
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rslog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Eremeev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-10 00:00:00.000000000 Z
11
+ date: 2021-03-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby script to get overall Statistic for weblog logs!
14
14
  email: a.eremeev@outlook.com
@@ -21,6 +21,7 @@ files:
21
21
  - lib/rslog.rb
22
22
  - lib/rslog/container.rb
23
23
  - lib/rslog/data_parser.rb
24
+ - lib/rslog/decorators.rb
24
25
  - lib/rslog/extractor.rb
25
26
  - lib/rslog/input_parser.rb
26
27
  - lib/rslog/opts.rb