Class: Plog::CompletedLine

Inherits:
Object
  • Object
show all
Defined in:
lib/completed_line.rb

Constant Summary collapse

TOTAL_TIME_REGEX =

2

/^(Completed in )(\d+)ms/
VIEW_TIME_REGEX =

4

/([^\(]+)([^V]+)(View: )(\d+)(.*)/
DB_TIME_REGEX =

4

/([^\(]+)([^D]+)(DB: )(\d+)(.*)/
URL_REGEX =
/([^\[]+)(\[)([^\]]+)(.*)/
STATUS_REGEX =

2, 4

/(\s)(\d+)(\s)(\w+)(\s)(\[)(.*)/
COMPLETED_TIME_REGEX =
/^Completed/

Class Method Summary collapse

Class Method Details

.completed_line?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
# File 'lib/completed_line.rb', line 20

def self.completed_line?
  return false unless @line.is_a? String
  return false unless COMPLETED_TIME_REGEX =~ @line
  return false unless DB_TIME_REGEX =~ @line
  return false if @line.size < 10
  true
end

.db_timeObject



33
34
35
# File 'lib/completed_line.rb', line 33

def self.db_time
  @db_time
end

.merge(view, db) ⇒ Object



57
58
59
60
61
# File 'lib/completed_line.rb', line 57

def self.merge(view, db)
  @view_time += view.to_i
  @db_time += db.to_i
  @total_time = (@view_time + @db_time)
end

.read!(string_line) ⇒ Object



28
29
30
31
# File 'lib/completed_line.rb', line 28

def self.read!(string_line)
  @line = string_line
  validate
end

.status_numberObject



49
50
51
# File 'lib/completed_line.rb', line 49

def self.status_number
  @status_number
end

.status_stringObject



45
46
47
# File 'lib/completed_line.rb', line 45

def self.status_string
  @status_string
end

.to_csvObject



53
54
55
# File 'lib/completed_line.rb', line 53

def self.to_csv
  [total_time, view_time, db_time, url.simplify].join(',')
end

.total_timeObject



41
42
43
# File 'lib/completed_line.rb', line 41

def self.total_time
  @total_time
end

.urlObject



12
13
14
# File 'lib/completed_line.rb', line 12

def self.url
  URL.new(@url)
end

.valid?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/completed_line.rb', line 16

def self.valid?
  completed_line?
end

.view_timeObject



37
38
39
# File 'lib/completed_line.rb', line 37

def self.view_time
  @view_time
end