rocketio 0.0.1 → 0.0.2
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 +4 -4
- data/lib/rocketio/application.rb +1 -1
- data/lib/rocketio/controller.rb +30 -22
- data/lib/rocketio/controller/error_handlers.rb +0 -6
- data/lib/rocketio/version.rb +1 -1
- data/test/cache_control_test.rb +1 -2
- data/test/content_type_test.rb +1 -3
- data/test/error_handlers_test.rb +3 -5
- data/test/etag_test.rb +1 -3
- data/test/halt_test.rb +1 -3
- metadata +4 -5
- data/lib/rocketio/error_templates/500.html +0 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 36eba071bea110611c309b5fe6aa7ff394e7bbd2
         | 
| 4 | 
            +
              data.tar.gz: 23f34bab298dbe32d802a727bffc2e9d34203672
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2f95ee86bbb12c1ceec9d8288e526940dd8ea036f6c9566162dcfa7a03583b159ecee1e0fed8fc3a962bc4b589c01be2ad149408e47195c1ac7b718e5ebe128a
         | 
| 7 | 
            +
              data.tar.gz: 613c888e3704cddb848c36a177428b09de78934a26e1d96335e2994af4075eac17622ad03c943fb1b000b79b086ace61376c76360fc4e8fc8197f82046b14759
         | 
    
        data/lib/rocketio/application.rb
    CHANGED
    
    | @@ -4,7 +4,7 @@ module RocketIO | |
| 4 4 | 
             
                def initialize *args, &block
         | 
| 5 5 | 
             
                  controllers = args.empty? ? RocketIO.controllers : args.flatten
         | 
| 6 6 | 
             
                  if block
         | 
| 7 | 
            -
                    controllers.each {|c| c.class_exec {define_method(: | 
| 7 | 
            +
                    controllers.each {|c| c.class_exec {private define_method(:__run__, block)}}
         | 
| 8 8 | 
             
                  end
         | 
| 9 9 | 
             
                  @router = Router.new(*controllers)
         | 
| 10 10 | 
             
                end
         | 
    
        data/lib/rocketio/controller.rb
    CHANGED
    
    | @@ -26,33 +26,41 @@ module RocketIO | |
| 26 26 | 
             
                #
         | 
| 27 27 | 
             
                def call env
         | 
| 28 28 | 
             
                  catch :__response__ do
         | 
| 29 | 
            -
                     | 
| 30 | 
            -
                       | 
| 31 | 
            -
             | 
| 32 | 
            -
                       | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
                         | 
| 37 | 
            -
                         | 
| 38 | 
            -
                          response.body = public_send(requested_method, *path_params_array)
         | 
| 39 | 
            -
                        }
         | 
| 40 | 
            -
                        invoke_after_filter
         | 
| 41 | 
            -
                      }
         | 
| 42 | 
            -
                      response.body ||= RocketIO::EMPTY_ARRAY
         | 
| 43 | 
            -
                      response.body = [] if head? # dropping body on HEAD requests
         | 
| 44 | 
            -
                      response.finish
         | 
| 45 | 
            -
                    rescue Exception => e
         | 
| 46 | 
            -
                      if RocketIO.development?
         | 
| 47 | 
            -
                        puts "\e[0;31m%s\e[0m" % e.inspect
         | 
| 48 | 
            -
                        e.backtrace.each {|l| puts "  \e[0;36m%s\e[0m" % l}
         | 
| 29 | 
            +
                    if error_handlers[500]
         | 
| 30 | 
            +
                      begin
         | 
| 31 | 
            +
                        __call__(env)
         | 
| 32 | 
            +
                      rescue Exception => e
         | 
| 33 | 
            +
                        if RocketIO.development?
         | 
| 34 | 
            +
                          puts "\e[0;31m%s\e[0m" % e.inspect
         | 
| 35 | 
            +
                          e.backtrace.each {|l| puts "  \e[0;36m%s\e[0m" % l}
         | 
| 36 | 
            +
                        end
         | 
| 37 | 
            +
                        error(500, e)
         | 
| 49 38 | 
             
                      end
         | 
| 50 | 
            -
             | 
| 39 | 
            +
                    else
         | 
| 40 | 
            +
                      __call__(env)
         | 
| 51 41 | 
             
                    end
         | 
| 52 42 | 
             
                  end
         | 
| 53 43 | 
             
                end
         | 
| 54 44 |  | 
| 55 | 
            -
                def  | 
| 45 | 
            +
                private def __call__ env
         | 
| 46 | 
            +
                  self.env = env
         | 
| 47 | 
            +
                  validate_or_request_authentication_if_needed
         | 
| 48 | 
            +
                  validate_or_request_authorization_if_needed
         | 
| 49 | 
            +
                  validate_parameters
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                  __run__ proc {
         | 
| 52 | 
            +
                    invoke_before_filter
         | 
| 53 | 
            +
                    invoke_around_filter proc {
         | 
| 54 | 
            +
                      response.body = public_send(requested_method, *path_params_array)
         | 
| 55 | 
            +
                    }
         | 
| 56 | 
            +
                    invoke_after_filter
         | 
| 57 | 
            +
                  }
         | 
| 58 | 
            +
                  response.body ||= RocketIO::EMPTY_ARRAY
         | 
| 59 | 
            +
                  response.body = [] if head? # dropping body on HEAD requests
         | 
| 60 | 
            +
                  response.finish
         | 
| 61 | 
            +
                end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                private def __run__ app
         | 
| 56 64 | 
             
                  app.call
         | 
| 57 65 | 
             
                end
         | 
| 58 66 |  | 
| @@ -75,12 +75,6 @@ module RocketIO | |
| 75 75 | 
             
                  })
         | 
| 76 76 | 
             
                end
         | 
| 77 77 |  | 
| 78 | 
            -
                # 500: Fatal Error
         | 
| 79 | 
            -
                error 500 do |error|
         | 
| 80 | 
            -
                  error = StandardError.new(error) unless Exception === error
         | 
| 81 | 
            -
                  RocketIO.error_renderer(500, xhr?, env: env, error: error)
         | 
| 82 | 
            -
                end
         | 
| 83 | 
            -
             | 
| 84 78 | 
             
                # 501: Not Implemented
         | 
| 85 79 | 
             
                error 501 do
         | 
| 86 80 | 
             
                  RocketIO.error_renderer(501, xhr?, env: env)
         | 
    
        data/lib/rocketio/version.rb
    CHANGED
    
    
    
        data/test/cache_control_test.rb
    CHANGED
    
    
    
        data/test/content_type_test.rb
    CHANGED
    
    
    
        data/test/error_handlers_test.rb
    CHANGED
    
    | @@ -65,13 +65,11 @@ spec :ErrorHandlers do | |
| 65 65 | 
             
              end
         | 
| 66 66 |  | 
| 67 67 | 
             
              context '500: Fatal Error' do
         | 
| 68 | 
            -
                it ' | 
| 68 | 
            +
                it 'raises when no handler defined' do
         | 
| 69 69 | 
             
                  app mock_controller {
         | 
| 70 70 | 
             
                    def get; raise end
         | 
| 71 71 | 
             
                  }
         | 
| 72 | 
            -
                  get
         | 
| 73 | 
            -
                  assert(last_response.status) == 500
         | 
| 74 | 
            -
                  assert(last_response.body) =~ /500.+fatal/i
         | 
| 72 | 
            +
                  assert {get}.raise RuntimeError
         | 
| 75 73 | 
             
                end
         | 
| 76 74 |  | 
| 77 75 | 
             
                it 'uses custom handler' do
         | 
| @@ -94,7 +92,7 @@ spec :ErrorHandlers do | |
| 94 92 | 
             
                  get
         | 
| 95 93 | 
             
                  assert(called) == true
         | 
| 96 94 | 
             
                  assert(last_response.status) == 500
         | 
| 97 | 
            -
                  assert(last_response.body) =~ / | 
| 95 | 
            +
                  assert(last_response.body) =~ /badgirl/im
         | 
| 98 96 | 
             
                end
         | 
| 99 97 | 
             
              end
         | 
| 100 98 |  | 
    
        data/test/etag_test.rb
    CHANGED
    
    | @@ -438,8 +438,6 @@ spec :etag do | |
| 438 438 |  | 
| 439 439 | 
             
              it 'raises an ArgumentError for an invalid strength' do
         | 
| 440 440 | 
             
                run_with(:get, "that's weak, dude.") {etag 'FOO', :w00t}
         | 
| 441 | 
            -
                get
         | 
| 442 | 
            -
                assert(last_response.status) == 500
         | 
| 443 | 
            -
                assert(last_response.body) =~ /:strong or :weak expected/
         | 
| 441 | 
            +
                assert {get}.raise ArgumentError, /:strong or :weak expected/
         | 
| 444 442 | 
             
              end
         | 
| 445 443 | 
             
            end
         | 
    
        data/test/halt_test.rb
    CHANGED
    
    | @@ -59,9 +59,7 @@ spec :HaltTest do | |
| 59 59 | 
             
              end
         | 
| 60 60 |  | 
| 61 61 | 
             
              it 'returns a fatal error unless given array\'s second element is a Hash' do
         | 
| 62 | 
            -
                halt_app [200, 'wrong headers', 'boby']
         | 
| 63 | 
            -
                assert(last_response.status) == 500
         | 
| 64 | 
            -
                assert(last_response.body) =~ /no implicit conversion of String into Hash/
         | 
| 62 | 
            +
                assert {halt_app [200, 'wrong headers', 'boby']}.raise TypeError, /no implicit conversion of String into Hash/
         | 
| 65 63 | 
             
              end
         | 
| 66 64 |  | 
| 67 65 | 
             
              it 'halts right away ignoring other arguments if a Rack::Response passed as first argument' do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rocketio
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Slee Woo
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2016-01-14 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rack
         | 
| @@ -146,7 +146,6 @@ files: | |
| 146 146 | 
             
            - lib/rocketio/controller/websocket.rb
         | 
| 147 147 | 
             
            - lib/rocketio/error_templates/404.html
         | 
| 148 148 | 
             
            - lib/rocketio/error_templates/409.html
         | 
| 149 | 
            -
            - lib/rocketio/error_templates/500.html
         | 
| 150 149 | 
             
            - lib/rocketio/error_templates/501.html
         | 
| 151 150 | 
             
            - lib/rocketio/error_templates/layout.html
         | 
| 152 151 | 
             
            - lib/rocketio/exceptions.rb
         | 
| @@ -208,8 +207,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 208 207 | 
             
                  version: '0'
         | 
| 209 208 | 
             
            requirements: []
         | 
| 210 209 | 
             
            rubyforge_project: 
         | 
| 211 | 
            -
            rubygems_version: 2. | 
| 210 | 
            +
            rubygems_version: 2.5.1
         | 
| 212 211 | 
             
            signing_key: 
         | 
| 213 212 | 
             
            specification_version: 4
         | 
| 214 | 
            -
            summary: '["rocketio-0.0. | 
| 213 | 
            +
            summary: '["rocketio-0.0.2", "Simple, fast, scalable web framework for Ruby"]'
         | 
| 215 214 | 
             
            test_files: []
         |