Class: Dex::Rack_App

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/Dex/Rack_App.rb

Instance Method Summary collapse

Instance Method Details

#layout(vars, &b) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/Dex/Rack_App.rb', line 41

def layout vars, &b
  mab = Markaby::Builder.new
  mab.html do
    head {
      title vars[:title]
    }
    body {
      instance_eval(&b)
    }
  end
  
  mab.to_s
end

#recent(num = 10) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/Dex/Rack_App.rb', line 33

def recent num = 10
  vars = Hash[
    :title => "Dex List",
    :list  => Dex.recent.to_a
  ]
  view_index vars
end

#status_to_word(num) ⇒ Object



85
86
87
88
89
90
91
92
# File 'lib/Dex/Rack_App.rb', line 85

def status_to_word num
  case num
  when 0
    "Unresolved"
  when 1
    "Resolved"
  end
end

#view_index(vars) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/Dex/Rack_App.rb', line 55

def view_index vars
  layout(vars) {
    if vars[:list].empty?
      div.empty { p "No exceptions created." }
    else
      vars[:list].each { |db|
        div {
          p db[:message]
          p db[:exception]
        }
      }
    end
  }
end

#view_record(vars) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/Dex/Rack_App.rb', line 70

def view_record vars
  r = vars[:record]
  s = self
  layout(vars) {
    div {
      p { 
        span "#{r[:exception]}: #{r[:message]}" 
        span.status s.status_to_word(r[:status])
      }
      pre { r[:backtrace] }

    }
  }
end