hanami-api 0.1.1 → 0.1.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/CHANGELOG.md +4 -0
 - data/README.md +15 -0
 - data/hanami-api.gemspec +2 -1
 - data/lib/hanami/api.rb +1 -1
 - data/lib/hanami/api/block/context.rb +5 -9
 - data/lib/hanami/api/version.rb +1 -1
 - metadata +21 -7
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 671e8eab5f3b562214858055a272e049368bfce7524d639ffa63cd7003bab804
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 461f4066a630f1a1bd66dbd52f4a977a79a4e09737f5861aeabfcc89d87aee04
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: e5398ddac6f97af3898faefd795bbb37f6be9d334163e90e0b68b004eab11e4923b366cc6b44504d06e16b7b67c2b3a3e46ca8a106ee694e65f2f83ab2ab1f41
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 34ad6218b1001a4b66a4ec9512f320649843928afc98bcd968a347dae0d23df2989ebc46bbd407f93734f934cbd725ded04e8528e9f04e365c180d8748a73097
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,6 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Hanami::API
         
     | 
| 
       2 
2 
     | 
    
         
             
            Minimal, extremely fast, lightweight Ruby framework for HTTP APIs.
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
      
 4 
     | 
    
         
            +
            ## v0.1.2 - 2020-10-21
         
     | 
| 
      
 5 
     | 
    
         
            +
            ### Fixed
         
     | 
| 
      
 6 
     | 
    
         
            +
            - [Luca Guidi] Ensure to be able to instantiate an `Hanami::API` app multiple times
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       4 
8 
     | 
    
         
             
            ## v0.1.1 - 2020-05-20
         
     | 
| 
       5 
9 
     | 
    
         
             
            ### Fixed
         
     | 
| 
       6 
10 
     | 
    
         
             
            - [Luca Guidi] Ensure Rack middleware to be mounted in scopes without a leading slash
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -28,6 +28,7 @@ Minimal, extremely fast, lightweight Ruby framework for HTTP APIs. 
     | 
|
| 
       28 
28 
     | 
    
         
             
                - [json](#json)
         
     | 
| 
       29 
29 
     | 
    
         
             
              + [Scope](#scope)
         
     | 
| 
       30 
30 
     | 
    
         
             
              + [Rack Middleware](#rack-middleware)
         
     | 
| 
      
 31 
     | 
    
         
            +
              + [Body Parsers](#body-parsers)
         
     | 
| 
       31 
32 
     | 
    
         
             
            * [Development](#development)
         
     | 
| 
       32 
33 
     | 
    
         
             
            * [Contributing](#contributing)
         
     | 
| 
       33 
34 
     | 
    
         | 
| 
         @@ -410,6 +411,20 @@ it's part of the top level scope. `ApiAuthentication` it's used for all the API 
     | 
|
| 
       410 
411 
     | 
    
         
             
            versions, because it's defined in the `"api"` scope. `ApiV1Deprecation` is used
         
     | 
| 
       411 
412 
     | 
    
         
             
            only by the routes in `"v1"` scope, but not by `"v2"`.
         
     | 
| 
       412 
413 
     | 
    
         | 
| 
      
 414 
     | 
    
         
            +
            ### Body Parsers
         
     | 
| 
      
 415 
     | 
    
         
            +
             
     | 
| 
      
 416 
     | 
    
         
            +
            Rack ignores request bodies unless they come from a form submission.
         
     | 
| 
      
 417 
     | 
    
         
            +
            If you have an endpoint that accepts JSON, the request payload isn’t available in `params`.
         
     | 
| 
      
 418 
     | 
    
         
            +
             
     | 
| 
      
 419 
     | 
    
         
            +
            In order to parse JSON payload and make it avaliable in `params`, you should add the following lines to `config.ru`:
         
     | 
| 
      
 420 
     | 
    
         
            +
             
     | 
| 
      
 421 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 422 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 423 
     | 
    
         
            +
            require "hanami/middleware/body_parser"
         
     | 
| 
      
 424 
     | 
    
         
            +
             
     | 
| 
      
 425 
     | 
    
         
            +
            use Hanami::Middleware::BodyParser, :json
         
     | 
| 
      
 426 
     | 
    
         
            +
            ```
         
     | 
| 
      
 427 
     | 
    
         
            +
             
     | 
| 
       413 
428 
     | 
    
         
             
            ## Development
         
     | 
| 
       414 
429 
     | 
    
         | 
| 
       415 
430 
     | 
    
         
             
            After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
         
     | 
    
        data/hanami-api.gemspec
    CHANGED
    
    | 
         @@ -33,5 +33,6 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
              spec.add_development_dependency "rake", "~> 13.0"
         
     | 
| 
       35 
35 
     | 
    
         
             
              spec.add_development_dependency "rspec", "~> 3.8"
         
     | 
| 
       36 
     | 
    
         
            -
              spec.add_development_dependency "rubocop", "~> 0. 
     | 
| 
      
 36 
     | 
    
         
            +
              spec.add_development_dependency "rubocop", "~> 0.86"
         
     | 
| 
      
 37 
     | 
    
         
            +
              spec.add_development_dependency "yard", "~> 0.9"
         
     | 
| 
       37 
38 
     | 
    
         
             
            end
         
     | 
    
        data/lib/hanami/api.rb
    CHANGED
    
    
| 
         @@ -130,8 +130,6 @@ module Hanami 
     | 
|
| 
       130 
130 
     | 
    
         
             
                    # @since 0.1.0
         
     | 
| 
       131 
131 
     | 
    
         
             
                    # @api private
         
     | 
| 
       132 
132 
     | 
    
         
             
                    #
         
     | 
| 
       133 
     | 
    
         
            -
                    # rubocop:disable Metrics/AbcSize
         
     | 
| 
       134 
     | 
    
         
            -
                    # rubocop:disable Metrics/MethodLength
         
     | 
| 
       135 
133 
     | 
    
         
             
                    def call
         
     | 
| 
       136 
134 
     | 
    
         
             
                      case caught
         
     | 
| 
       137 
135 
     | 
    
         
             
                        in String => body
         
     | 
| 
         @@ -147,15 +145,13 @@ module Hanami 
     | 
|
| 
       147 
145 
     | 
    
         
             
                        #       which results in a bug.
         
     | 
| 
       148 
146 
     | 
    
         
             
                        [status, headers, [self.body || http_status(status)]]
         
     | 
| 
       149 
147 
     | 
    
         
             
                        # rubocop:enable Style/RedundantSelf
         
     | 
| 
       150 
     | 
    
         
            -
                        in [Integer, String 
     | 
| 
       151 
     | 
    
         
            -
                        [ 
     | 
| 
       152 
     | 
    
         
            -
                        in [Integer, Hash, String 
     | 
| 
       153 
     | 
    
         
            -
                        headers.merge!( 
     | 
| 
       154 
     | 
    
         
            -
                        [ 
     | 
| 
      
 148 
     | 
    
         
            +
                        in [Integer => status, String => body]
         
     | 
| 
      
 149 
     | 
    
         
            +
                        [status, headers, [body]]
         
     | 
| 
      
 150 
     | 
    
         
            +
                        in [Integer => status, Hash => caught_headers, String => body]
         
     | 
| 
      
 151 
     | 
    
         
            +
                        headers.merge!(caught_headers)
         
     | 
| 
      
 152 
     | 
    
         
            +
                        [status, headers, [body]]
         
     | 
| 
       155 
153 
     | 
    
         
             
                      end
         
     | 
| 
       156 
154 
     | 
    
         
             
                    end
         
     | 
| 
       157 
     | 
    
         
            -
                    # rubocop:enable Metrics/MethodLength
         
     | 
| 
       158 
     | 
    
         
            -
                    # rubocop:enable Metrics/AbcSize
         
     | 
| 
       159 
155 
     | 
    
         | 
| 
       160 
156 
     | 
    
         
             
                    private
         
     | 
| 
       161 
157 
     | 
    
         | 
    
        data/lib/hanami/api/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: hanami-api
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Luca Guidi
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-10-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: hanami-router
         
     | 
| 
         @@ -58,14 +58,28 @@ dependencies: 
     | 
|
| 
       58 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
59 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '0.86'
         
     | 
| 
       62 
62 
     | 
    
         
             
              type: :development
         
     | 
| 
       63 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
66 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       67 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 68 
     | 
    
         
            +
                    version: '0.86'
         
     | 
| 
      
 69 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 70 
     | 
    
         
            +
              name: yard
         
     | 
| 
      
 71 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 72 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 73 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 75 
     | 
    
         
            +
                    version: '0.9'
         
     | 
| 
      
 76 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 77 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 78 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 79 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 80 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 81 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 82 
     | 
    
         
            +
                    version: '0.9'
         
     | 
| 
       69 
83 
     | 
    
         
             
            description: Extremely fast and lightweight HTTP API
         
     | 
| 
       70 
84 
     | 
    
         
             
            email:
         
     | 
| 
       71 
85 
     | 
    
         
             
            - me@lucaguidi.com
         
     | 
| 
         @@ -100,7 +114,7 @@ metadata: 
     | 
|
| 
       100 
114 
     | 
    
         
             
              homepage_uri: http://rubygems.org
         
     | 
| 
       101 
115 
     | 
    
         
             
              source_code_uri: https://github.com/hanami/api
         
     | 
| 
       102 
116 
     | 
    
         
             
              changelog_uri: https://github.com/hanami/api/blob/master/CHANGELOG.md
         
     | 
| 
       103 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 117 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       104 
118 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       105 
119 
     | 
    
         
             
            require_paths:
         
     | 
| 
       106 
120 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -116,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       116 
130 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       117 
131 
     | 
    
         
             
            requirements: []
         
     | 
| 
       118 
132 
     | 
    
         
             
            rubygems_version: 3.1.3
         
     | 
| 
       119 
     | 
    
         
            -
            signing_key: 
     | 
| 
      
 133 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       120 
134 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       121 
135 
     | 
    
         
             
            summary: Hanami API
         
     | 
| 
       122 
136 
     | 
    
         
             
            test_files: []
         
     |