kawaii-core 0.1.0 → 0.1.1
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/.gitignore +1 -0
- data/README.md +121 -52
- data/kawaii-core.gemspec +5 -4
- data/lib/kawaii/base.rb +32 -8
- data/lib/kawaii/controller.rb +1 -1
- data/lib/kawaii/matchers.rb +2 -2
- data/lib/kawaii/method_chain.rb +1 -1
- data/lib/kawaii/render_methods.rb +2 -1
- data/lib/kawaii/routing_methods.rb +1 -1
- data/lib/kawaii/version.rb +1 -1
- metadata +18 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d81d0ba32a44a5b7eceec6b3979cd33f58970ec3
         | 
| 4 | 
            +
              data.tar.gz: 8da2f45e4fc4e5291372f5f5c46edfb1139e849e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 4b583cd1e65bbbc8b8f73ea402fde6e5a706d31778ebfdfd801590af617ee74dd2b3cd8985f1eaa3c42c562610f7f47b181b27a8a45fce7d53c595a9f425f1fb
         | 
| 7 | 
            +
              data.tar.gz: 368d2864fe554d1923dea8e4cb438694c522eb618316d8feca27554ba3f25578eac98dbf884463bd1e1117cce89017d70697d7a74f108b28e57d431830328294
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -3,7 +3,7 @@ | |
| 3 3 |  | 
| 4 4 | 
             
            Kawaii is a simple web framework based on Rack.
         | 
| 5 5 |  | 
| 6 | 
            -
            ** | 
| 6 | 
            +
            **This is work in progress. The API is subject to change.**
         | 
| 7 7 |  | 
| 8 8 | 
             
            ## Installation
         | 
| 9 9 |  | 
| @@ -23,26 +23,34 @@ Or install it yourself as: | |
| 23 23 |  | 
| 24 24 | 
             
            ## Running examples
         | 
| 25 25 |  | 
| 26 | 
            -
            The  | 
| 26 | 
            +
            Clone the Kawaii project to run the examples. The [/examples directory](https://github.com/bilus/kawaii/tree/master/examples) contains various basic usage examples.
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            ```
         | 
| 29 | 
            +
            $ git clone https://github.com/bilus/kawaii.git
         | 
| 30 | 
            +
            $ cd kawaii
         | 
| 31 | 
            +
            ```
         | 
| 27 32 |  | 
| 28 33 | 
             
            Run the examples using rackup or directly:
         | 
| 29 34 |  | 
| 30 35 | 
             
            ```
         | 
| 31 36 | 
             
            $ cd examples
         | 
| 32 | 
            -
            $ rackup - | 
| 37 | 
            +
            $ rackup -I ../lib modular.ru
         | 
| 33 38 | 
             
            ```
         | 
| 34 39 |  | 
| 35 40 | 
             
            Many examples can also be run directly without rackup, e.g.:
         | 
| 36 41 |  | 
| 37 | 
            -
            ```
         | 
| 42 | 
            +
            ```ruby
         | 
| 38 43 | 
             
            $ cd examples
         | 
| 39 | 
            -
            $ ruby - | 
| 44 | 
            +
            $ ruby -I ../lib hello_world.rb
         | 
| 45 | 
            +
            ```
         | 
| 40 46 |  | 
| 41 47 | 
             
            ## Getting started
         | 
| 42 48 |  | 
| 49 | 
            +
            Note: In addition to this Readme, there's also an online [API reference](http://bilus.github.io/kawaii/Kawaii.html).
         | 
| 50 | 
            +
             | 
| 43 51 | 
             
            Kawaii's basic usage is very similar how you'd use Sinatra. You can define route handlers at the file scope. Here's an example:
         | 
| 44 52 |  | 
| 45 | 
            -
            ```
         | 
| 53 | 
            +
            ```ruby
         | 
| 46 54 | 
             
            require 'kawaii'
         | 
| 47 55 |  | 
| 48 56 | 
             
            get '/' do
         | 
| @@ -62,7 +70,7 @@ Then navigate to `http://localhost:8088` to see the greeting. | |
| 62 70 |  | 
| 63 71 | 
             
            To run the app you created in the "Getting started" section above using rackup, create the following `hello.ru` file:
         | 
| 64 72 |  | 
| 65 | 
            -
            ```
         | 
| 73 | 
            +
            ```ruby
         | 
| 66 74 | 
             
            require 'kawaii'
         | 
| 67 75 | 
             
            require_relative 'hello'
         | 
| 68 76 |  | 
| @@ -79,7 +87,7 @@ There are several methods you can use to build your routes, handle passed parame | |
| 79 87 |  | 
| 80 88 | 
             
            The basic way to add a route handler is to invoke a method corresponding to the given HTTP verb, e.g.:
         | 
| 81 89 |  | 
| 82 | 
            -
            ```
         | 
| 90 | 
            +
            ```ruby
         | 
| 83 91 | 
             
            post '/users' do
         | 
| 84 92 | 
             
              # Some response
         | 
| 85 93 | 
             
            end
         | 
| @@ -110,7 +118,7 @@ For example `get '/users/?'` matches both `/users/` and `/users` while `get '/us | |
| 110 118 |  | 
| 111 119 | 
             
            Route patterns may contain named parameters, prefixed with a colon. Parameters are accessible through the `params` hash in handler:
         | 
| 112 120 |  | 
| 113 | 
            -
            ```
         | 
| 121 | 
            +
            ```ruby
         | 
| 114 122 | 
             
            get '/users/:id' do
         | 
| 115 123 | 
             
              params[:id]
         | 
| 116 124 | 
             
            end
         | 
| @@ -122,7 +130,7 @@ end | |
| 122 130 |  | 
| 123 131 | 
             
            Route patterns may contain regular expressions. Example:
         | 
| 124 132 |  | 
| 125 | 
            -
            ```
         | 
| 133 | 
            +
            ```ruby
         | 
| 126 134 | 
             
            get %r{/users/.*} do
         | 
| 127 135 | 
             
              'Hello, world'
         | 
| 128 136 | 
             
            end
         | 
| @@ -132,7 +140,7 @@ end | |
| 132 140 |  | 
| 133 141 | 
             
            Routes may be nested using the `context` method. Example:
         | 
| 134 142 |  | 
| 135 | 
            -
            ```
         | 
| 143 | 
            +
            ```ruby
         | 
| 136 144 | 
             
            context '/api' do
         | 
| 137 145 | 
             
              get '/users' do
         | 
| 138 146 | 
             
                'Hello'
         | 
| @@ -146,13 +154,13 @@ Will above handler will be accessible through `/api/users`. | |
| 146 154 |  | 
| 147 155 | 
             
            If string patterns and regular expression are not flexible enough, you can create a custom matcher.
         | 
| 148 156 |  | 
| 149 | 
            -
            A matcher instance responds to `match` method and returns either a `Match` instance or nil if there's no match. See documentation for {Matcher#match} for more details.
         | 
| 157 | 
            +
            A matcher instance responds to `match` method and returns either a `Match` instance or nil if there's no match. See documentation for {Kawaii::Matcher#match} for more details.
         | 
| 150 158 |  | 
| 151 159 | 
             
            ### Request object
         | 
| 152 160 |  | 
| 153 161 | 
             
            Handlers can access the `Rack::Request` instance corresponding to the current request:
         | 
| 154 162 |  | 
| 155 | 
            -
            ```
         | 
| 163 | 
            +
            ```ruby
         | 
| 156 164 | 
             
            get '/' do
         | 
| 157 165 | 
             
              request.host
         | 
| 158 166 | 
             
            end
         | 
| @@ -162,7 +170,7 @@ end | |
| 162 170 |  | 
| 163 171 | 
             
            View templates must currently be stored in `views/` directory of the project using Kawaii. They can be rendered using the `render` method:
         | 
| 164 172 |  | 
| 165 | 
            -
            ```
         | 
| 173 | 
            +
            ```ruby
         | 
| 166 174 | 
             
            get '/' do
         | 
| 167 175 | 
             
              render('index.html.erb')
         | 
| 168 176 | 
             
            end
         | 
| @@ -170,7 +178,7 @@ end | |
| 170 178 |  | 
| 171 179 | 
             
            You can set instance variables and use them in the templates.
         | 
| 172 180 |  | 
| 173 | 
            -
            ```
         | 
| 181 | 
            +
            ```ruby
         | 
| 174 182 | 
             
            get '/' do
         | 
| 175 183 | 
             
              @title = 'Hello, world'
         | 
| 176 184 | 
             
              render('index.html.erb')
         | 
| @@ -179,7 +187,7 @@ end | |
| 179 187 |  | 
| 180 188 | 
             
            Let's say `views/index.html.erb` looks like this:
         | 
| 181 189 |  | 
| 182 | 
            -
            ```
         | 
| 190 | 
            +
            ```html
         | 
| 183 191 | 
             
            <h1><%= @title %></h1>
         | 
| 184 192 | 
             
            ```
         | 
| 185 193 |  | 
| @@ -311,10 +319,40 @@ describe MyApp | |
| 311 319 | 
             
            end
         | 
| 312 320 | 
             
            ```
         | 
| 313 321 |  | 
| 322 | 
            +
            ## Custom 404 handler
         | 
| 323 | 
            +
             | 
| 324 | 
            +
            By default Kawaii will respond with 404 'Not found' if no matching routes can be found.
         | 
| 325 | 
            +
             | 
| 326 | 
            +
            You can define your own 404 handler:
         | 
| 327 | 
            +
             | 
| 328 | 
            +
            ```ruby
         | 
| 329 | 
            +
            not_found do
         | 
| 330 | 
            +
              [404, {Rack::CONTENT_TYPE => 'text/plain'}, ['No matching routes found']]
         | 
| 331 | 
            +
            end
         | 
| 332 | 
            +
            ```
         | 
| 333 | 
            +
             | 
| 334 | 
            +
            Notice that it needs to respond with a valid Rack response Array.
         | 
| 335 | 
            +
             | 
| 336 | 
            +
            ## Custom exception handler
         | 
| 337 | 
            +
             | 
| 338 | 
            +
            You can define your own 500 handler for unhandled exception:
         | 
| 339 | 
            +
             | 
| 340 | 
            +
            ```ruby
         | 
| 341 | 
            +
            get '/' do
         | 
| 342 | 
            +
              fail 'Ooops!'
         | 
| 343 | 
            +
            end
         | 
| 344 | 
            +
            on_error do |e|
         | 
| 345 | 
            +
              [500, {Rack::CONTENT_TYPE => 'text/plain'}, [e.to_s]]
         | 
| 346 | 
            +
            end
         | 
| 347 | 
            +
            ```
         | 
| 348 | 
            +
             | 
| 349 | 
            +
            Just like with `not_found`, you need to return a well-formed Rack response Array.
         | 
| 350 | 
            +
             | 
| 314 351 | 
             
            ## Resources
         | 
| 315 352 |  | 
| 316 | 
            -
             | 
| 317 | 
            -
             | 
| 353 | 
            +
            1. [API reference](http://bilus.github.io/kawaii/Kawaii.html).
         | 
| 354 | 
            +
            2. See [examples](https://github.com/bilus/kawaii/tree/master/examples) of basic usage of Kawaii.
         | 
| 355 | 
            +
            3. Small [example project](https://github.com/bilus/kawaii-sample) using the gem.
         | 
| 318 356 |  | 
| 319 357 | 
             
            ## Contributing
         | 
| 320 358 |  | 
| @@ -328,43 +366,74 @@ The gem is available as open source under the terms of the [MIT License](http:// | |
| 328 366 |  | 
| 329 367 | 
             
            ## TODO
         | 
| 330 368 |  | 
| 331 | 
            -
             | 
| 332 | 
            -
             | 
| 333 | 
            -
             | 
| 334 | 
            -
             | 
| 335 | 
            -
             | 
| 336 | 
            -
             | 
| 337 | 
            -
             | 
| 338 | 
            -
             | 
| 339 | 
            -
             | 
| 340 | 
            -
             | 
| 341 | 
            -
             | 
| 342 | 
            -
             | 
| 343 | 
            -
             | 
| 344 | 
            -
             | 
| 345 | 
            -
             | 
| 346 | 
            -
             | 
| 347 | 
            -
             | 
| 348 | 
            -
             | 
| 349 | 
            -
             | 
| 350 | 
            -
             | 
| 351 | 
            -
             | 
| 352 | 
            -
             | 
| 353 | 
            -
             | 
| 354 | 
            -
             | 
| 355 | 
            -
             | 
| 356 | 
            -
             | 
| 357 | 
            -
             | 
| 358 | 
            -
             | 
| 359 | 
            -
             | 
| 360 | 
            -
             | 
| 361 | 
            -
             | 
| 362 | 
            -
             | 
| 363 | 
            -
             | 
| 364 | 
            -
             | 
| 369 | 
            +
            X Hello world app.
         | 
| 370 | 
            +
             | 
| 371 | 
            +
            X Specs for the app.
         | 
| 372 | 
            +
             | 
| 373 | 
            +
            X GET routes inside a class deriving from Base.
         | 
| 374 | 
            +
             | 
| 375 | 
            +
            X Support for running apps without config.ru (ruby -I ./lib examples/hello_world.rb
         | 
| 376 | 
            +
             | 
| 377 | 
            +
            X Top-level routes.
         | 
| 378 | 
            +
             | 
| 379 | 
            +
            X Example for top-level routes.
         | 
| 380 | 
            +
             | 
| 381 | 
            +
            X Nested routes.
         | 
| 382 | 
            +
             | 
| 383 | 
            +
            X Modular apps (multiple modules via config.ru).
         | 
| 384 | 
            +
             | 
| 385 | 
            +
            X Matchers.
         | 
| 386 | 
            +
             | 
| 387 | 
            +
            X Wildcard regex routes, e.g. '/foo/bar/?'.
         | 
| 388 | 
            +
             | 
| 389 | 
            +
            X Parameter-based routes. Unsupported in 'context'.
         | 
| 390 | 
            +
             | 
| 391 | 
            +
            X Request object.
         | 
| 392 | 
            +
             | 
| 393 | 
            +
            X Merge Rack Request params.
         | 
| 394 | 
            +
             | 
| 395 | 
            +
            X String responses.
         | 
| 396 | 
            +
             | 
| 397 | 
            +
            X Other HTTP verbs.
         | 
| 398 | 
            +
             | 
| 399 | 
            +
            X Refactor & create individual files.
         | 
| 400 | 
            +
             | 
| 401 | 
            +
            X Views (via `render` method in handlers) using Tilt.
         | 
| 402 | 
            +
             | 
| 403 | 
            +
            X Rack route test helpers work.
         | 
| 404 | 
            +
             | 
| 405 | 
            +
            X API reference.
         | 
| 406 | 
            +
             | 
| 407 | 
            +
            X Check: References to methods defined in contexts and at class scope.
         | 
| 408 | 
            +
             | 
| 409 | 
            +
            X Controllers - 'hello_world#index'
         | 
| 410 | 
            +
             | 
| 411 | 
            +
            X 'route' to controllers (via class name or symbol references).
         | 
| 412 | 
            +
             | 
| 413 | 
            +
            X Controllers - render.
         | 
| 414 | 
            +
             | 
| 415 | 
            +
            X Push gem.
         | 
| 416 | 
            +
             | 
| 417 | 
            +
            X Readme - description and tutorial.
         | 
| 418 | 
            +
             | 
| 419 | 
            +
            X Example project using the gem and controllers (with views).
         | 
| 420 | 
            +
             | 
| 421 | 
            +
            X Custom error handling (intercept exceptions, 404 what else?).
         | 
| 422 | 
            +
             | 
| 423 | 
            +
            X Rubocop-compliant.
         | 
| 424 | 
            +
             | 
| 425 | 
            +
            O Update and push.
         | 
| 426 | 
            +
             | 
| 427 | 
            +
            O Code review
         | 
| 428 | 
            +
             | 
| 429 | 
            +
            O Rack/custom global middleware.
         | 
| 430 | 
            +
             | 
| 431 | 
            +
            O Route-specific middleware.
         | 
| 365 432 |  | 
| 366 433 | 
             
            ## Known issues
         | 
| 367 434 |  | 
| 435 | 
            +
            **There are many missing features and glitches are inevitable. The library hasn't been used in production yet. Please report them to `gyamtso at gmail dot com`.**
         | 
| 436 | 
            +
             | 
| 368 437 | 
             
            ### Rubocop
         | 
| 369 438 |  | 
| 370 439 | 
             
            `lib/kawaii/routing_methods.rb:46:1: C: Extra blank line detected.`
         | 
    
        data/kawaii-core.gemspec
    CHANGED
    
    | @@ -9,10 +9,10 @@ Gem::Specification.new do |spec| | |
| 9 9 | 
             
              spec.authors   = ['Marcin Bilski']
         | 
| 10 10 | 
             
              spec.email     = ['gyamtso@gmail.com']
         | 
| 11 11 |  | 
| 12 | 
            -
              spec.summary       = ' | 
| 13 | 
            -
              spec.description   = 'Kawaii is a  | 
| 14 | 
            -
             | 
| 15 | 
            -
              spec.homepage  =  | 
| 12 | 
            +
              spec.summary       = 'A simple web framework based on Rack'
         | 
| 13 | 
            +
              spec.description   = 'Kawaii is a simple web framework based on Rack'
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              spec.homepage  = 'https://github.com/bilus/kawaii'
         | 
| 16 16 | 
             
              spec.license   = 'MIT'
         | 
| 17 17 |  | 
| 18 18 | 
             
              spec.files     = `git ls-files -z`.split("\x0").reject { |f|
         | 
| @@ -31,4 +31,5 @@ Gem::Specification.new do |spec| | |
| 31 31 | 
             
              spec.add_development_dependency 'guard-rspec', '~>4.6'
         | 
| 32 32 | 
             
              spec.add_development_dependency 'rack-test', '~>0.6'
         | 
| 33 33 | 
             
              spec.add_development_dependency 'yard', '~> 0.8'
         | 
| 34 | 
            +
              spec.add_development_dependency 'rubocop', '~> 0.35'
         | 
| 34 35 | 
             
            end
         | 
    
        data/lib/kawaii/base.rb
    CHANGED
    
    | @@ -20,29 +20,53 @@ module Kawaii | |
| 20 20 |  | 
| 21 21 | 
             
                # Instances of classes derived from [Kawaii::Base] are Rack applications.
         | 
| 22 22 | 
             
                def call(env)
         | 
| 23 | 
            -
                  matching = self.class.match(env) | 
| 23 | 
            +
                  matching = self.class.match(env)
         | 
| 24 24 | 
             
                  matching.call(env)
         | 
| 25 | 
            +
                rescue => e
         | 
| 26 | 
            +
                  self.class.handle_error(e)
         | 
| 25 27 | 
             
                end
         | 
| 26 28 |  | 
| 27 29 | 
             
                class << self
         | 
| 28 30 | 
             
                  include ServerMethods
         | 
| 29 31 | 
             
                  include RoutingMethods
         | 
| 30 32 |  | 
| 33 | 
            +
                  # Define 404 handler. Has to return a valid Rack response.
         | 
| 34 | 
            +
                  def not_found(&block)
         | 
| 35 | 
            +
                    @not_found_handler = block
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  # Define an unhandled exception handler. Has to return a valid Rack
         | 
| 39 | 
            +
                  # response.
         | 
| 40 | 
            +
                  def on_error(&block)
         | 
| 41 | 
            +
                    @error_handler = block
         | 
| 42 | 
            +
                  end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  def match(env)
         | 
| 45 | 
            +
                    super(env) || not_found_handler
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 31 48 | 
             
                  # Make it runnable via `run MyApp`.
         | 
| 32 49 | 
             
                  def call(env)
         | 
| 33 50 | 
             
                    @app ||= new
         | 
| 34 51 | 
             
                    @app.call(env)
         | 
| 35 52 | 
             
                  end
         | 
| 36 | 
            -
                end
         | 
| 37 53 |  | 
| 38 | 
            -
             | 
| 54 | 
            +
                  def handle_error(e)
         | 
| 55 | 
            +
                    handler = @error_handler || ->(ex) { fail ex }
         | 
| 56 | 
            +
                    handler.call(e)
         | 
| 57 | 
            +
                  end
         | 
| 39 58 |  | 
| 40 | 
            -
             | 
| 41 | 
            -
                  @downstream_app || ->(_env) { text(404, 'Not found') }
         | 
| 42 | 
            -
                end
         | 
| 59 | 
            +
                  protected
         | 
| 43 60 |  | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 61 | 
            +
                  def not_found_handler
         | 
| 62 | 
            +
                    @downstream_app ||
         | 
| 63 | 
            +
                      @not_found_handler ||
         | 
| 64 | 
            +
                      ->(_env) { text(404, 'Not found') }
         | 
| 65 | 
            +
                  end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                  def text(status, s)
         | 
| 68 | 
            +
                    [status, { Rack::CONTENT_TYPE => 'text/plain' }, [s]]
         | 
| 69 | 
            +
                  end
         | 
| 46 70 | 
             
                end
         | 
| 47 71 | 
             
              end
         | 
| 48 72 | 
             
            end
         | 
    
        data/lib/kawaii/controller.rb
    CHANGED
    
    
    
        data/lib/kawaii/matchers.rb
    CHANGED
    
    | @@ -43,7 +43,7 @@ module Kawaii | |
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 45 | 
             
                # Tries to match the actual path.
         | 
| 46 | 
            -
                # @param  | 
| 46 | 
            +
                # @param _path [String] the actual path from Rack env
         | 
| 47 47 | 
             
                # @return {Match} if the beginning of path does match or nil if there is
         | 
| 48 48 | 
             
                # no match.
         | 
| 49 49 | 
             
                def match(_path)
         | 
| @@ -100,7 +100,7 @@ module Kawaii | |
| 100 100 | 
             
              #   get /\/users.*/ do ... end
         | 
| 101 101 | 
             
              class RegexpMatcher
         | 
| 102 102 | 
             
                # Creates a {RegexpMatcher}
         | 
| 103 | 
            -
                # @param  | 
| 103 | 
            +
                # @param rx [Regexp] path specification regex
         | 
| 104 104 | 
             
                # @todo Support parameters based on named capture groups.
         | 
| 105 105 | 
             
                def initialize(rx)
         | 
| 106 106 | 
             
                  @rx = rx
         | 
    
        data/lib/kawaii/method_chain.rb
    CHANGED
    
    
| @@ -2,7 +2,8 @@ module Kawaii | |
| 2 2 | 
             
              # Template rendering based on Tilt.
         | 
| 3 3 | 
             
              module RenderMethods
         | 
| 4 4 | 
             
                # Renders a template.
         | 
| 5 | 
            -
                # @param tmpl [String] file name or path to template, relative to /views in | 
| 5 | 
            +
                # @param tmpl [String] file name or path to template, relative to /views in
         | 
| 6 | 
            +
                #        project dir
         | 
| 6 7 | 
             
                # @example Rendering html erb file
         | 
| 7 8 | 
             
                #   render('index.html.erb')
         | 
| 8 9 | 
             
                # @todo Layouts.
         | 
    
        data/lib/kawaii/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: kawaii-core
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Marcin Bilski
         | 
| @@ -122,7 +122,21 @@ dependencies: | |
| 122 122 | 
             
                - - "~>"
         | 
| 123 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 124 | 
             
                    version: '0.8'
         | 
| 125 | 
            -
             | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: rubocop
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: '0.35'
         | 
| 132 | 
            +
              type: :development
         | 
| 133 | 
            +
              prerelease: false
         | 
| 134 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            +
                requirements:
         | 
| 136 | 
            +
                - - "~>"
         | 
| 137 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            +
                    version: '0.35'
         | 
| 139 | 
            +
            description: Kawaii is a simple web framework based on Rack
         | 
| 126 140 | 
             
            email:
         | 
| 127 141 | 
             
            - gyamtso@gmail.com
         | 
| 128 142 | 
             
            executables: []
         | 
| @@ -185,9 +199,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 185 199 | 
             
                  version: '0'
         | 
| 186 200 | 
             
            requirements: []
         | 
| 187 201 | 
             
            rubyforge_project: 
         | 
| 188 | 
            -
            rubygems_version: 2. | 
| 202 | 
            +
            rubygems_version: 2.4.8
         | 
| 189 203 | 
             
            signing_key: 
         | 
| 190 204 | 
             
            specification_version: 4
         | 
| 191 | 
            -
            summary:  | 
| 205 | 
            +
            summary: A simple web framework based on Rack
         | 
| 192 206 | 
             
            test_files: []
         | 
| 193 207 | 
             
            has_rdoc: 
         |