Dex_Rack 0.1.8 → 0.1.9
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.
- data/Dex_Rack.gemspec +5 -3
- data/lib/Dex_Rack.rb +2 -25
- data/lib/Dex_Rack/version.rb +1 -1
- data/lib/Dex_Rack/views/record.rb +28 -11
- data/spec/Dex_App.rb +16 -4
- data/spec/lib/main.rb +1 -0
- metadata +39 -7
    
        data/Dex_Rack.gemspec
    CHANGED
    
    | @@ -11,8 +11,8 @@ Gem::Specification.new do |s| | |
| 11 11 | 
             
              s.homepage    = "https://github.com/da99/Dex_Rack"
         | 
| 12 12 | 
             
              s.summary     = %q{A Rack app to display Dex exceptions.}
         | 
| 13 13 | 
             
              s.description = %q{
         | 
| 14 | 
            -
            It is a web-frontend for Dex. 
         | 
| 15 | 
            -
            Update and view exceptions logged with the Dex gem.
         | 
| 14 | 
            +
                It is a web-frontend for Dex. 
         | 
| 15 | 
            +
                Update and view exceptions logged with the Dex gem.
         | 
| 16 16 | 
             
              }
         | 
| 17 17 |  | 
| 18 18 | 
             
              s.files         = `git ls-files`.split("\n")
         | 
| @@ -22,9 +22,10 @@ Update and view exceptions logged with the Dex gem. | |
| 22 22 |  | 
| 23 23 | 
             
              s.add_development_dependency 'bacon'
         | 
| 24 24 | 
             
              s.add_development_dependency 'rake'
         | 
| 25 | 
            -
              s.add_development_dependency 'Bacon_Colored'
         | 
| 26 25 | 
             
              s.add_development_dependency 'pry'
         | 
| 27 26 | 
             
              s.add_development_dependency 'rack-test'
         | 
| 27 | 
            +
              s.add_development_dependency 'Bacon_Colored'
         | 
| 28 | 
            +
              s.add_development_dependency 'Bacon_Rack'
         | 
| 28 29 |  | 
| 29 30 | 
             
              # Specify any dependencies here; for example:
         | 
| 30 31 | 
             
              s.add_runtime_dependency 'sinatra'
         | 
| @@ -34,4 +35,5 @@ Update and view exceptions logged with the Dex gem. | |
| 34 35 | 
             
              s.add_runtime_dependency 'chronic_duration'
         | 
| 35 36 | 
             
              s.add_runtime_dependency 'Dex', ">= 0.2.2" 
         | 
| 36 37 | 
             
              s.add_runtime_dependency 'escape_utils'
         | 
| 38 | 
            +
              s.add_runtime_dependency 'Backtrace_Array'
         | 
| 37 39 | 
             
            end
         | 
    
        data/lib/Dex_Rack.rb
    CHANGED
    
    | @@ -4,6 +4,7 @@ require 'markaby' | |
| 4 4 | 
             
            require 'chronic_duration'
         | 
| 5 5 | 
             
            require 'cgi'
         | 
| 6 6 | 
             
            require 'escape_utils'
         | 
| 7 | 
            +
            require 'Backtrace_Array'
         | 
| 7 8 |  | 
| 8 9 | 
             
            class Dex_Rack 
         | 
| 9 10 |  | 
| @@ -51,7 +52,7 @@ class Dex_Rack | |
| 51 52 | 
             
                  vars[:status_class] = status.downcase
         | 
| 52 53 | 
             
                  vars[:status_word]  = status
         | 
| 53 54 | 
             
                  r[:human_time]   = human_time(r[:created_at])
         | 
| 54 | 
            -
                  r[:backtrace]    =  | 
| 55 | 
            +
                  r[:backtrace]    = Backtrace_Array(r[:backtrace])
         | 
| 55 56 | 
             
                  vars[:table_keys] << :human_time
         | 
| 56 57 | 
             
                  layout vars, :record 
         | 
| 57 58 | 
             
                else
         | 
| @@ -152,30 +153,6 @@ class Dex_Rack | |
| 152 153 | 
             
                  EscapeUtils.escape_html( str.encode('UTF-8') )
         | 
| 153 154 | 
             
                end
         | 
| 154 155 |  | 
| 155 | 
            -
                def backtrace_to_html s
         | 
| 156 | 
            -
                  last_file = nil
         | 
| 157 | 
            -
                  str = ""
         | 
| 158 | 
            -
                  s.split("\n").each { |l|
         | 
| 159 | 
            -
                    
         | 
| 160 | 
            -
                    file, num, code = l.split(':')
         | 
| 161 | 
            -
                    
         | 
| 162 | 
            -
                    str.<< %!
         | 
| 163 | 
            -
                      <div class="file">#{escape_html file}</div>
         | 
| 164 | 
            -
                    ! if file != last_file
         | 
| 165 | 
            -
             | 
| 166 | 
            -
                    str.<< %!  
         | 
| 167 | 
            -
                      <div class="line">
         | 
| 168 | 
            -
                        <span class="num">#{num}</span> 
         | 
| 169 | 
            -
                        <span class="code">#{escape_html code}</span>
         | 
| 170 | 
            -
                      </div>!
         | 
| 171 | 
            -
                      
         | 
| 172 | 
            -
                    last_file = file
         | 
| 173 | 
            -
                    
         | 
| 174 | 
            -
                  }
         | 
| 175 | 
            -
             | 
| 176 | 
            -
                  str
         | 
| 177 | 
            -
                end
         | 
| 178 | 
            -
             | 
| 179 156 | 
             
                def human_time t
         | 
| 180 157 | 
             
                  target = Time.now.utc.to_i - t.to_i
         | 
| 181 158 | 
             
                  if target < 61
         | 
    
        data/lib/Dex_Rack/version.rb
    CHANGED
    
    
| @@ -34,19 +34,36 @@ div.content! { | |
| 34 34 | 
             
                }
         | 
| 35 35 | 
             
              end
         | 
| 36 36 |  | 
| 37 | 
            -
               | 
| 38 | 
            -
                 | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
                   | 
| 37 | 
            +
              unless vars[:record][:backtrace].empty?
         | 
| 38 | 
            +
                
         | 
| 39 | 
            +
                div.toggle_backtrace! {
         | 
| 40 | 
            +
                  div {
         | 
| 41 | 
            +
                    a.button.show_backtrace!(:href=>"#show") { "Show Backtrace" }
         | 
| 42 | 
            +
                  }
         | 
| 43 | 
            +
                  div.omega {
         | 
| 44 | 
            +
                    a.button.hide_backtrace!(:href=>"#hide") { "Hide Backtrace" }
         | 
| 45 | 
            +
                  }
         | 
| 43 46 | 
             
                }
         | 
| 44 | 
            -
              }
         | 
| 45 47 |  | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
                 | 
| 49 | 
            -
             | 
| 48 | 
            +
             | 
| 49 | 
            +
                
         | 
| 50 | 
            +
                div.backtrace! {
         | 
| 51 | 
            +
                  h3 "Backtrace:"
         | 
| 52 | 
            +
                  div.body {
         | 
| 53 | 
            +
                    vars[:record][:backtrace].each { |file, lines|
         | 
| 54 | 
            +
                      div.file file.to_s
         | 
| 55 | 
            +
                      div.lines {
         | 
| 56 | 
            +
                        lines.each { |l|
         | 
| 57 | 
            +
                          div.line {
         | 
| 58 | 
            +
                            span.num("#{l.first}:")
         | 
| 59 | 
            +
                            span.code l[1].to_s
         | 
| 60 | 
            +
                          }
         | 
| 61 | 
            +
                        }
         | 
| 62 | 
            +
                      }
         | 
| 63 | 
            +
                    }
         | 
| 64 | 
            +
                  }
         | 
| 65 | 
            +
                }
         | 
| 66 | 
            +
              end
         | 
| 50 67 |  | 
| 51 68 |  | 
| 52 69 | 
             
            }
         | 
    
        data/spec/Dex_App.rb
    CHANGED
    
    | @@ -76,10 +76,22 @@ describe "get /:id" do | |
| 76 76 |  | 
| 77 77 | 
             
              behaves_like 'Test DB'
         | 
| 78 78 |  | 
| 79 | 
            -
              it " | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 79 | 
            +
              it "renders record" do
         | 
| 80 | 
            +
                id = Dex.insert(except "rand err")
         | 
| 81 | 
            +
                get "/#{id}"
         | 
| 82 | 
            +
                renders 200, %r"rand err"
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
              it "renders non-standard backtrace: <<< Rack App" do
         | 
| 86 | 
            +
                id = Dex.insert(except("rand"), :backtrace=>"<<< Rack App")
         | 
| 87 | 
            +
                get "/#{id}"
         | 
| 88 | 
            +
                renders 200, %r"<<< Rack App"
         | 
| 89 | 
            +
              end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
              it "renders non-standard backtrace: file:13:code:1:2:3:" do
         | 
| 92 | 
            +
                id = Dex.insert(except("rand"), :backtrace=>"file:13:code:1:2:3:")
         | 
| 93 | 
            +
                get "/#{id}"
         | 
| 94 | 
            +
                renders 200, %r">code:1:2:3"
         | 
| 83 95 | 
             
              end
         | 
| 84 96 |  | 
| 85 97 | 
             
            end # === get /:id
         | 
    
        data/spec/lib/main.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: Dex_Rack
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.9
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-05- | 
| 12 | 
            +
            date: 2012-05-12 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: bacon
         | 
| @@ -44,7 +44,7 @@ dependencies: | |
| 44 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 45 45 | 
             
                    version: '0'
         | 
| 46 46 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 | 
            -
              name:  | 
| 47 | 
            +
              name: pry
         | 
| 48 48 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 49 | 
             
                none: false
         | 
| 50 50 | 
             
                requirements:
         | 
| @@ -60,7 +60,7 @@ dependencies: | |
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 61 | 
             
                    version: '0'
         | 
| 62 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 | 
            -
              name:  | 
| 63 | 
            +
              name: rack-test
         | 
| 64 64 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                none: false
         | 
| 66 66 | 
             
                requirements:
         | 
| @@ -76,7 +76,23 @@ dependencies: | |
| 76 76 | 
             
                  - !ruby/object:Gem::Version
         | 
| 77 77 | 
             
                    version: '0'
         | 
| 78 78 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 79 | 
            -
              name:  | 
| 79 | 
            +
              name: Bacon_Colored
         | 
| 80 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 | 
            +
                none: false
         | 
| 82 | 
            +
                requirements:
         | 
| 83 | 
            +
                - - ! '>='
         | 
| 84 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 85 | 
            +
                    version: '0'
         | 
| 86 | 
            +
              type: :development
         | 
| 87 | 
            +
              prerelease: false
         | 
| 88 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 89 | 
            +
                none: false
         | 
| 90 | 
            +
                requirements:
         | 
| 91 | 
            +
                - - ! '>='
         | 
| 92 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 93 | 
            +
                    version: '0'
         | 
| 94 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 95 | 
            +
              name: Bacon_Rack
         | 
| 80 96 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 97 | 
             
                none: false
         | 
| 82 98 | 
             
                requirements:
         | 
| @@ -203,8 +219,24 @@ dependencies: | |
| 203 219 | 
             
                - - ! '>='
         | 
| 204 220 | 
             
                  - !ruby/object:Gem::Version
         | 
| 205 221 | 
             
                    version: '0'
         | 
| 206 | 
            -
             | 
| 207 | 
            -
               | 
| 222 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 223 | 
            +
              name: Backtrace_Array
         | 
| 224 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 225 | 
            +
                none: false
         | 
| 226 | 
            +
                requirements:
         | 
| 227 | 
            +
                - - ! '>='
         | 
| 228 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 229 | 
            +
                    version: '0'
         | 
| 230 | 
            +
              type: :runtime
         | 
| 231 | 
            +
              prerelease: false
         | 
| 232 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 233 | 
            +
                none: false
         | 
| 234 | 
            +
                requirements:
         | 
| 235 | 
            +
                - - ! '>='
         | 
| 236 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 237 | 
            +
                    version: '0'
         | 
| 238 | 
            +
            description: ! "\n    It is a web-frontend for Dex. \n    Update and view exceptions
         | 
| 239 | 
            +
              logged with the Dex gem.\n  "
         | 
| 208 240 | 
             
            email:
         | 
| 209 241 | 
             
            - i-hate-spam-45671204@mailinator.com
         | 
| 210 242 | 
             
            executables: []
         |