log_analyzer 0.2.0 → 0.2.1

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
  SHA1:
3
- metadata.gz: 4d42a245ae56e949f0059dcb0cde4aa5f89dca03
4
- data.tar.gz: a069aa6274eb4c632ab1a27a0290e9de2ba53e7f
3
+ metadata.gz: c4db64b0570b5c4460fe690d93e3b76e1863a1e7
4
+ data.tar.gz: a23f1ffeb8204b95450ee89727a4be33b38676bd
5
5
  SHA512:
6
- metadata.gz: 46e10a656b85cef9074279beb4005c89e2f428de3309c1d0f3eadccd1ddcab9c9a30355a9a896347864dd15e16dc3342b4ac7c9030077163fd927bf24386cb33
7
- data.tar.gz: 721bac1c7f168b31b302f42a9e5d39c6f864d9ad56606145a78c9c5a075b84c04c026c235f7eb9c3024ec824c5a6063ec439c4ebd3e1ce9834abe3f5c5655baf
6
+ metadata.gz: '08e24d953918afdd034d80cd2081c196f963239596c87e038fd1ee7b4d16acfaa3b434dde217f64cf7e877e1a7646fc33a0e31d00311726058c8477564657a0b'
7
+ data.tar.gz: ab6fc1ab6b6d1edcb22d05ed02641139064eb4929c61775d5499561873a2c7679893adead6276528ae782f12a14df1ff9cb9fb776183bb219c46105021e2b646
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- log_analyzer (0.2.0)
4
+ log_analyzer (0.2.1)
5
5
  colorize
6
6
  rake
7
7
  terminal-table
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
+ [![Build Status](https://travis-ci.org/igorkasyanchuk/log_analyzer.svg?branch=master)](https://travis-ci.org/igorkasyanchuk/log_analyzer)
2
+
1
3
  # LogAnalyzer
2
4
 
3
5
  See how fast is rendering in your Ruby on Rails app. Based on information from logs. Provides you a picture of how often renders and how fast renders your views.
4
6
 
5
7
  ## Sample
6
8
 
7
- [![Sample](https://raw.githubusercontent.com/igorkasyanchuk/log_analyzer/master/docs/log_analyzer.png)](https://raw.githubusercontent.com/igorkasyanchuk/log_analyzer/master/docs/log_analyzer.png)
9
+ [![Sample](https://raw.githubusercontent.com/igorkasyanchuk/log_analyzer/master/docs/screenshot.png)](https://raw.githubusercontent.com/igorkasyanchuk/log_analyzer/master/docs/screenshot.png)
8
10
 
9
11
  You can see columns:
10
12
 
@@ -66,6 +68,10 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/varyfo
66
68
 
67
69
  * more analytics
68
70
  * more specs
71
+ * export to PDF
72
+ * export to CSV
73
+ * export to XLS
74
+ * export to HTML/CSS/JS with datatable.js
69
75
 
70
76
  ## License
71
77
 
@@ -2,13 +2,13 @@ module LogAnalyzer
2
2
 
3
3
  class Analyzer
4
4
  DEFAULT_TABLE_WIDTH = 120 # width
5
- MATCHER = /Rendered (.*\/.*) \((.*)ms\)/.freeze
6
5
  DANGER_DEFAULT = 800 # ms
7
6
  WARNING_DEFAULT = 400 # ms
8
7
  INFO_DEFAULT = 100 # ms
9
8
  HEADER = ['Type', 'View', 'Count', 'AVG (ms)', 'Max', 'Min'].freeze
10
9
  PARTIAL_LABEL = " P ".on_green.black.freeze
11
10
  VIEW_LABEL = " V ".on_yellow.black.freeze
11
+ MATCHER = /Rendered (.*\/.*) \((.*)ms\)/.freeze
12
12
 
13
13
  attr_reader :filename
14
14
  attr_reader :stats
@@ -28,10 +28,9 @@ module LogAnalyzer
28
28
  end
29
29
  end
30
30
  end
31
- end
32
-
33
- def find_type(view)
34
- view.split('/'.freeze).last[0] == '_' ? 'P'.freeze : 'V'.freeze
31
+ rescue Errno::ENOENT
32
+ puts "File <#{filename}> not found or not accessible.".red
33
+ exit
35
34
  end
36
35
 
37
36
  def order(by: :time)
@@ -70,6 +69,10 @@ module LogAnalyzer
70
69
 
71
70
  private
72
71
 
72
+ def find_type(view)
73
+ view.split('/'.freeze).last[0] == '_'.freeze ? 'P'.freeze : 'V'.freeze
74
+ end
75
+
73
76
  def type_label(type)
74
77
  type == LogAnalyzer::Configuration::PARTIALS ? PARTIAL_LABEL : VIEW_LABEL
75
78
  end
@@ -4,19 +4,25 @@ module LogAnalyzer
4
4
  ALL = 'A'.freeze # ALL
5
5
  PARTIALS = 'P'.freeze # Partials
6
6
  VIEWS = 'V'.freeze # Views
7
+ FILTERS = Hash.new([PARTIALS, VIEWS]).merge({
8
+ PARTIALS => [PARTIALS],
9
+ VIEWS => [VIEWS]
10
+ }).freeze # with default value ALL
7
11
 
8
12
  class << self
9
13
  attr_accessor :configuration
10
14
  end
11
15
 
12
16
  attr_accessor :filter
17
+ attr_reader :filters
13
18
 
14
19
  def initialize
15
20
  @filter = ALL
16
21
  end
17
22
 
18
23
  def filter=(other)
19
- @filter = other.upcase[0]
24
+ @filter = other.upcase[0]
25
+ @filters ||= FILTERS[filter]
20
26
  end
21
27
 
22
28
  def self.configuration
@@ -31,17 +37,6 @@ module LogAnalyzer
31
37
  yield(configuration)
32
38
  end
33
39
 
34
- def filters
35
- @filters ||= case filter
36
- when VIEWS
37
- [VIEWS]
38
- when PARTIALS
39
- [PARTIALS]
40
- else
41
- [PARTIALS, VIEWS]
42
- end
43
- end
44
-
45
40
  end
46
41
 
47
42
  end
@@ -1,3 +1,3 @@
1
1
  module LogAnalyzer
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: log_analyzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Kasyanchuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2018-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor