nedforce-grape-swagger-ui 0.2.0
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 +7 -0
 - data/.gitignore +22 -0
 - data/CHANGELOG.md +39 -0
 - data/Gemfile +4 -0
 - data/LICENSE.txt +22 -0
 - data/README.md +78 -0
 - data/Rakefile +1 -0
 - data/app/controllers/swagger_controller.rb +8 -0
 - data/app/views/layouts/swagger.html.erb +96 -0
 - data/app/views/swagger/index.html +0 -0
 - data/grape-swagger-ui.gemspec +22 -0
 - data/lib/generators/swagger/layout/USAGE +8 -0
 - data/lib/generators/swagger/layout/layout_generator.rb +15 -0
 - data/lib/generators/swagger/layout/templates/swagger.html.haml +96 -0
 - data/lib/grape-swagger-ui.rb +19 -0
 - data/lib/grape-swagger-ui/routes.rb +15 -0
 - data/lib/grape-swagger-ui/version.rb +7 -0
 - data/vendor/assets/fonts/DroidSans-Bold.ttf +0 -0
 - data/vendor/assets/fonts/DroidSans.ttf +0 -0
 - data/vendor/assets/images/collapse.gif +0 -0
 - data/vendor/assets/images/expand.gif +0 -0
 - data/vendor/assets/images/explorer_icons.png +0 -0
 - data/vendor/assets/images/favicon-16x16.png +0 -0
 - data/vendor/assets/images/favicon-32x32.png +0 -0
 - data/vendor/assets/images/favicon.ico +0 -0
 - data/vendor/assets/images/logo_small.png +0 -0
 - data/vendor/assets/images/pet_store_api.png +0 -0
 - data/vendor/assets/images/throbber.gif +0 -0
 - data/vendor/assets/images/wordnik_api.png +0 -0
 - data/vendor/assets/javascripts/lang/en.js +56 -0
 - data/vendor/assets/javascripts/lang/es.js +53 -0
 - data/vendor/assets/javascripts/lang/fr.js +54 -0
 - data/vendor/assets/javascripts/lang/geo.js +56 -0
 - data/vendor/assets/javascripts/lang/it.js +52 -0
 - data/vendor/assets/javascripts/lang/ja.js +53 -0
 - data/vendor/assets/javascripts/lang/pl.js +53 -0
 - data/vendor/assets/javascripts/lang/pt.js +53 -0
 - data/vendor/assets/javascripts/lang/ru.js +56 -0
 - data/vendor/assets/javascripts/lang/tr.js +53 -0
 - data/vendor/assets/javascripts/lang/translator.js +39 -0
 - data/vendor/assets/javascripts/lang/zh-cn.js +53 -0
 - data/vendor/assets/javascripts/lib/backbone-min.js +15 -0
 - data/vendor/assets/javascripts/lib/handlebars-2.0.0.js +28 -0
 - data/vendor/assets/javascripts/lib/highlight.9.1.0.pack.js +2 -0
 - data/vendor/assets/javascripts/lib/highlight.9.1.0.pack_extended.js +34 -0
 - data/vendor/assets/javascripts/lib/jquery-1.8.0.min.js +2 -0
 - data/vendor/assets/javascripts/lib/jquery.ba-bbq.min.js +18 -0
 - data/vendor/assets/javascripts/lib/jquery.slideto.min.js +1 -0
 - data/vendor/assets/javascripts/lib/jquery.wiggle.min.js +8 -0
 - data/vendor/assets/javascripts/lib/js-yaml.min.js +3 -0
 - data/vendor/assets/javascripts/lib/jsoneditor.min.js +11 -0
 - data/vendor/assets/javascripts/lib/lodash.min.js +102 -0
 - data/vendor/assets/javascripts/lib/marked.js +1272 -0
 - data/vendor/assets/javascripts/lib/object-assign-pollyfill.js +23 -0
 - data/vendor/assets/javascripts/lib/swagger-oauth.js +339 -0
 - data/vendor/assets/javascripts/swagger-ui.js +22278 -0
 - data/vendor/assets/javascripts/swagger-ui.min.js +9 -0
 - data/vendor/assets/javascripts/swagger_ui.js +28 -0
 - data/vendor/assets/stylesheets/print.css +1362 -0
 - data/vendor/assets/stylesheets/reset.css +125 -0
 - data/vendor/assets/stylesheets/reset_2.css +125 -0
 - data/vendor/assets/stylesheets/screen.css +1489 -0
 - data/vendor/assets/stylesheets/style.css +250 -0
 - data/vendor/assets/stylesheets/swagger_ui.css +18 -0
 - data/vendor/assets/stylesheets/swagger_ui_print.css +15 -0
 - data/vendor/assets/stylesheets/swagger_ui_screen.css +16 -0
 - data/vendor/assets/stylesheets/typography.css +14 -0
 - metadata +124 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b19d502ccef2c5deda67804f2e6db8fed86c354e
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3fe45a64973900ad23d4e696fd76c34c9aee69c8
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 0e74d2d35a746e15cb0d938dd72b52af49d56e85a399dbc9a77c30acadfae3ea28ff37c0d938f8bda5452df46d7549a9e4701a4ba29662ad80c2a3a96a6a6ff3
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 81fb3aefd1645be214f4cffbb954c302f5818450685f986fcdecbbf47c831b7f62ddd2339c750e00a9cc61c5138a95929d4ed913966be72bf298d6d27454aba2
         
     | 
    
        data/.gitignore
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .project
         
     | 
| 
      
 2 
     | 
    
         
            +
            *.gem
         
     | 
| 
      
 3 
     | 
    
         
            +
            *.rbc
         
     | 
| 
      
 4 
     | 
    
         
            +
            .bundle
         
     | 
| 
      
 5 
     | 
    
         
            +
            .config
         
     | 
| 
      
 6 
     | 
    
         
            +
            .yardoc
         
     | 
| 
      
 7 
     | 
    
         
            +
            Gemfile.lock
         
     | 
| 
      
 8 
     | 
    
         
            +
            InstalledFiles
         
     | 
| 
      
 9 
     | 
    
         
            +
            _yardoc
         
     | 
| 
      
 10 
     | 
    
         
            +
            coverage
         
     | 
| 
      
 11 
     | 
    
         
            +
            doc/
         
     | 
| 
      
 12 
     | 
    
         
            +
            lib/bundler/man
         
     | 
| 
      
 13 
     | 
    
         
            +
            pkg
         
     | 
| 
      
 14 
     | 
    
         
            +
            rdoc
         
     | 
| 
      
 15 
     | 
    
         
            +
            spec/reports
         
     | 
| 
      
 16 
     | 
    
         
            +
            test/tmp
         
     | 
| 
      
 17 
     | 
    
         
            +
            test/version_tmp
         
     | 
| 
      
 18 
     | 
    
         
            +
            tmp
         
     | 
| 
      
 19 
     | 
    
         
            +
            *.iml
         
     | 
| 
      
 20 
     | 
    
         
            +
            atlassian-ide-plugin.xml
         
     | 
| 
      
 21 
     | 
    
         
            +
            .idea/
         
     | 
| 
      
 22 
     | 
    
         
            +
            .DS_Store
         
     | 
    
        data/CHANGELOG.md
    ADDED
    
    | 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Change Log
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ## [Unreleased](https://github.com/kendrikat/grape-swagger-ui/tree/HEAD)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            [Full Changelog](https://github.com/kendrikat/grape-swagger-ui/compare/v0.0.3...HEAD)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            **Closed issues:**
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            - Swagger UI needs to be updated  [\#9](https://github.com/kendrikat/grape-swagger-ui/issues/9)
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ## [v0.0.3](https://github.com/kendrikat/grape-swagger-ui/tree/v0.0.3) (2016-08-09)
         
     | 
| 
      
 12 
     | 
    
         
            +
            [Full Changelog](https://github.com/kendrikat/grape-swagger-ui/compare/v0.0.2...v0.0.3)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            **Closed issues:**
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            - Routing not working [\#6](https://github.com/kendrikat/grape-swagger-ui/issues/6)
         
     | 
| 
      
 17 
     | 
    
         
            +
            - haml issue in rails 4 [\#4](https://github.com/kendrikat/grape-swagger-ui/issues/4)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            **Merged pull requests:**
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            - Support swagger spec 2.0 [\#8](https://github.com/kendrikat/grape-swagger-ui/pull/8) ([dangnm](https://github.com/dangnm))
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ## [v0.0.2](https://github.com/kendrikat/grape-swagger-ui/tree/v0.0.2) (2015-01-14)
         
     | 
| 
      
 24 
     | 
    
         
            +
            [Full Changelog](https://github.com/kendrikat/grape-swagger-ui/compare/v0.0.1...v0.0.2)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            **Closed issues:**
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            - License missing from gemspec [\#2](https://github.com/kendrikat/grape-swagger-ui/issues/2)
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            **Merged pull requests:**
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            - update for swagger-ui 2.0.24 [\#5](https://github.com/kendrikat/grape-swagger-ui/pull/5) ([alexagranov](https://github.com/alexagranov))
         
     | 
| 
      
 33 
     | 
    
         
            +
            - assets path mistake in swagger-ui.js [\#3](https://github.com/kendrikat/grape-swagger-ui/pull/3) ([dfang](https://github.com/dfang))
         
     | 
| 
      
 34 
     | 
    
         
            +
            - Optional form fields are not being send with request [\#1](https://github.com/kendrikat/grape-swagger-ui/pull/1) ([camol](https://github.com/camol))
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            ## [v0.0.1](https://github.com/kendrikat/grape-swagger-ui/tree/v0.0.1) (2013-02-25)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
         
     | 
    
        data/Gemfile
    ADDED
    
    
    
        data/LICENSE.txt
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2013 Klaas Endrikat
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            MIT License
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 6 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 7 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 8 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 9 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 10 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 11 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 14 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 17 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 18 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 19 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 20 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 21 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 22 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,78 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Grape::Swagger::Ui
         
     | 
| 
      
 2 
     | 
    
         
            +
            ===============
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            [](https://codeclimate.com/github/kendrikat/grape-swagger-ui)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            TODO/WIP: Write a gem description
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            Integrates [swagger-ui] with your "grapified" Rails application.
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ## Dependencies
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            * [grape-swagger]
         
     | 
| 
      
 13 
     | 
    
         
            +
            > Add swagger compliant documentation to your grape API
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            * [grape]
         
     | 
| 
      
 16 
     | 
    
         
            +
            > An opinionated micro-framework for creating REST-like APIs in Ruby
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                gem 'grape-swagger-ui'
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                $ gem install grape-swagger-ui
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            ## Usage example:
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                class YourAPI < Grape::API
         
     | 
| 
      
 35 
     | 
    
         
            +
                  version 'v1'
         
     | 
| 
      
 36 
     | 
    
         
            +
                  format :json
         
     | 
| 
      
 37 
     | 
    
         
            +
                  ...
         
     | 
| 
      
 38 
     | 
    
         
            +
                  add_swagger_documentation :add_version => true,
         
     | 
| 
      
 39 
     | 
    
         
            +
                                            :base_path => '/api'
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            *See https://github.com/ruby-grape/grape-swagger#configure for more configuration settings.*
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            If your api path is "api/v1" just go to
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                http://host:port/api/swagger
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            else
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            *Generate the main layout for customizations*
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            	rails generate swagger:layout
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            and change the initializer.
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            Since this is a seperate layout and if you want to use this in your staging environment you need to precompile it.
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            	#staging.rb
         
     | 
| 
      
 59 
     | 
    
         
            +
            	config.assets.precompile += %w(swagger_ui.js swagger_ui.css swagger_ui_print.css swagger_ui_screen.css)
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            1. Fork it
         
     | 
| 
      
 65 
     | 
    
         
            +
            2. Create your feature branch (`git checkout -b my-new-feature`)
         
     | 
| 
      
 66 
     | 
    
         
            +
            3. Commit your changes (`git commit -am 'Add some feature'`)
         
     | 
| 
      
 67 
     | 
    
         
            +
            4. Push to the branch (`git push origin my-new-feature`)
         
     | 
| 
      
 68 
     | 
    
         
            +
            5. Create new Pull Request
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            ## License
         
     | 
| 
      
 71 
     | 
    
         
            +
            MIT License, full text of license see [here][License]
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            *Free Software, Fuck Yeah!*
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            [License]: https://github.com/kendrikat/grape-swagger-ui/blob/master/LICENSE.txt "LICENSE"
         
     | 
| 
      
 76 
     | 
    
         
            +
            [grape-swagger]: https://github.com/tim-vandecasteele/grape-swagger
         
     | 
| 
      
 77 
     | 
    
         
            +
            [grape]: https://github.com/intridea/grape
         
     | 
| 
      
 78 
     | 
    
         
            +
            [swagger-ui]: https://github.com/wordnik/swagger-ui/
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "bundler/gem_tasks"
         
     | 
| 
         @@ -0,0 +1,96 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         
     | 
| 
      
 2 
     | 
    
         
            +
            <html lang="<%= I18n.locale.to_s %>" xml:lang="<%= I18n.locale.to_s %>" xmlns="http://www.w3.org/1999/xhtml">
         
     | 
| 
      
 3 
     | 
    
         
            +
            <head>
         
     | 
| 
      
 4 
     | 
    
         
            +
                <title>Swagger UI</title>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <%= javascript_include_tag :swagger_ui %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                <%= stylesheet_link_tag "//fonts.googleapis.com/css?family=Droid+Sans:400,700" %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <%= stylesheet_link_tag :swagger_ui_screen, :media => :screen %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                <%= stylesheet_link_tag :swagger_ui_print, :media => :print %>
         
     | 
| 
      
 9 
     | 
    
         
            +
                <%= csrf_meta_tags %>
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                <script type="text/javascript">
         
     | 
| 
      
 12 
     | 
    
         
            +
                  $(function () {
         
     | 
| 
      
 13 
     | 
    
         
            +
                    var url = window.location.search.match(/url=([^&]+)/);
         
     | 
| 
      
 14 
     | 
    
         
            +
                    if (url && url.length > 1) {
         
     | 
| 
      
 15 
     | 
    
         
            +
                      url = decodeURIComponent(url[1]);
         
     | 
| 
      
 16 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 17 
     | 
    
         
            +
                      url = "http://<%= request.host%>:<%=request.port%>/api/v1/swagger_doc";
         
     | 
| 
      
 18 
     | 
    
         
            +
                    }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                    hljs.configure({
         
     | 
| 
      
 21 
     | 
    
         
            +
                      highlightSizeThreshold: 5000
         
     | 
| 
      
 22 
     | 
    
         
            +
                    });
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                    // Pre load translate...
         
     | 
| 
      
 25 
     | 
    
         
            +
                    if(window.SwaggerTranslator) {
         
     | 
| 
      
 26 
     | 
    
         
            +
                      window.SwaggerTranslator.translate();
         
     | 
| 
      
 27 
     | 
    
         
            +
                    }
         
     | 
| 
      
 28 
     | 
    
         
            +
                    window.swaggerUi = new SwaggerUi({
         
     | 
| 
      
 29 
     | 
    
         
            +
                      url: url,
         
     | 
| 
      
 30 
     | 
    
         
            +
                      dom_id: "swagger-ui-container",
         
     | 
| 
      
 31 
     | 
    
         
            +
                      supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
         
     | 
| 
      
 32 
     | 
    
         
            +
                      onComplete: function(swaggerApi, swaggerUi){
         
     | 
| 
      
 33 
     | 
    
         
            +
                        if(typeof initOAuth == "function") {
         
     | 
| 
      
 34 
     | 
    
         
            +
                          initOAuth({
         
     | 
| 
      
 35 
     | 
    
         
            +
                            clientId: "your-client-id",
         
     | 
| 
      
 36 
     | 
    
         
            +
                            clientSecret: "your-client-secret-if-required",
         
     | 
| 
      
 37 
     | 
    
         
            +
                            realm: "your-realms",
         
     | 
| 
      
 38 
     | 
    
         
            +
                            appName: "your-app-name",
         
     | 
| 
      
 39 
     | 
    
         
            +
                            scopeSeparator: ",",
         
     | 
| 
      
 40 
     | 
    
         
            +
                            additionalQueryStringParams: {}
         
     | 
| 
      
 41 
     | 
    
         
            +
                          });
         
     | 
| 
      
 42 
     | 
    
         
            +
                        }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                        if(window.SwaggerTranslator) {
         
     | 
| 
      
 45 
     | 
    
         
            +
                          window.SwaggerTranslator.translate();
         
     | 
| 
      
 46 
     | 
    
         
            +
                        }
         
     | 
| 
      
 47 
     | 
    
         
            +
                      },
         
     | 
| 
      
 48 
     | 
    
         
            +
                      onFailure: function(data) {
         
     | 
| 
      
 49 
     | 
    
         
            +
                        log("Unable to Load SwaggerUI");
         
     | 
| 
      
 50 
     | 
    
         
            +
                      },
         
     | 
| 
      
 51 
     | 
    
         
            +
                      docExpansion: "none",
         
     | 
| 
      
 52 
     | 
    
         
            +
                      jsonEditor: false,
         
     | 
| 
      
 53 
     | 
    
         
            +
                      defaultModelRendering: 'schema',
         
     | 
| 
      
 54 
     | 
    
         
            +
                      showRequestHeaders: false
         
     | 
| 
      
 55 
     | 
    
         
            +
                    });
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                    $('#input_apiKey').change(function() {
         
     | 
| 
      
 58 
     | 
    
         
            +
                      var key = $('#input_apiKey')[0].value;
         
     | 
| 
      
 59 
     | 
    
         
            +
                      if(key && key.trim() != "") {
         
     | 
| 
      
 60 
     | 
    
         
            +
                        swaggerUi.api.clientAuthorizations.add("key", new SwaggerClient.ApiKeyAuthorization("api_key", key, "query"));
         
     | 
| 
      
 61 
     | 
    
         
            +
                      }
         
     | 
| 
      
 62 
     | 
    
         
            +
                    })
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                    window.swaggerUi.load();
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                    function log() {
         
     | 
| 
      
 67 
     | 
    
         
            +
                      if ('console' in window) {
         
     | 
| 
      
 68 
     | 
    
         
            +
                        console.log.apply(console, arguments);
         
     | 
| 
      
 69 
     | 
    
         
            +
                      }
         
     | 
| 
      
 70 
     | 
    
         
            +
                    }
         
     | 
| 
      
 71 
     | 
    
         
            +
                });
         
     | 
| 
      
 72 
     | 
    
         
            +
                </script>
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            </head>
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            <body class="swagger-section">
         
     | 
| 
      
 78 
     | 
    
         
            +
            <div id='header'>
         
     | 
| 
      
 79 
     | 
    
         
            +
              <div class="swagger-ui-wrap">
         
     | 
| 
      
 80 
     | 
    
         
            +
                <a id="logo" href="http://swagger.io"><span class="logo__title">swagger</span></a>
         
     | 
| 
      
 81 
     | 
    
         
            +
                <form id='api_selector'>
         
     | 
| 
      
 82 
     | 
    
         
            +
                  <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
         
     | 
| 
      
 83 
     | 
    
         
            +
                  <div class="input">
         
     | 
| 
      
 84 
     | 
    
         
            +
            				<input id="input_apiKey" name="apiKey" placeholder="api_key" type="text"></input>
         
     | 
| 
      
 85 
     | 
    
         
            +
            			</div>
         
     | 
| 
      
 86 
     | 
    
         
            +
                  <div id='auth_container'></div>
         
     | 
| 
      
 87 
     | 
    
         
            +
                  <div class='input'><a id="explore" class="header__btn" href="#" data-sw-translate>Explore</a></div>
         
     | 
| 
      
 88 
     | 
    
         
            +
                </form>
         
     | 
| 
      
 89 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 90 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            <div id="message-bar" class="swagger-ui-wrap" data-sw-translate> </div>
         
     | 
| 
      
 93 
     | 
    
         
            +
            <div id="swagger-ui-container" class="swagger-ui-wrap"></div>
         
     | 
| 
      
 94 
     | 
    
         
            +
            </body>
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            </html>
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'grape-swagger-ui/version'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            Gem::Specification.new do |gem|
         
     | 
| 
      
 7 
     | 
    
         
            +
              gem.name          = "nedforce-grape-swagger-ui"
         
     | 
| 
      
 8 
     | 
    
         
            +
              gem.version       = Grape::Swagger::Ui::VERSION
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem.authors       = ["Klaas Endrikat"]
         
     | 
| 
      
 10 
     | 
    
         
            +
              gem.email         = ["klaas.endrikat@googlemail.com"]
         
     | 
| 
      
 11 
     | 
    
         
            +
              gem.description   = %q{swagger ui js integration for grape and grape-swagger}
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem.summary       = %q{swagger ui js integration for grape and grape-swagger}
         
     | 
| 
      
 13 
     | 
    
         
            +
              gem.license       = 'MIT'
         
     | 
| 
      
 14 
     | 
    
         
            +
              gem.homepage      = "https://github.com/nedforce/grape-swagger-ui"
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              gem.files         = `git ls-files`.split($/)
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         
     | 
| 
      
 18 
     | 
    
         
            +
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.require_paths = ["lib"]
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              gem.add_dependency "railties", ">= 3.1"
         
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Swagger
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Generators
         
     | 
| 
      
 3 
     | 
    
         
            +
                class LayoutGenerator < ::Rails::Generators::Base
         
     | 
| 
      
 4 
     | 
    
         
            +
                  desc 'Setup a dedicated layout for the swagger-ui'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  def self.source_root
         
     | 
| 
      
 7 
     | 
    
         
            +
                    File.expand_path('../templates', __FILE__)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  def create_swagger_layout        
         
     | 
| 
      
 11 
     | 
    
         
            +
                    template 'swagger.html.haml', File.join('app', 'views', 'layouts', 'swagger.html.haml')
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end        
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,96 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            !!!
         
     | 
| 
      
 2 
     | 
    
         
            +
            %html{ :xmlns => "http://www.w3.org/1999/xhtml", :lang => I18n.locale.to_s, "xml:lang" => I18n.locale.to_s }
         
     | 
| 
      
 3 
     | 
    
         
            +
              %head
         
     | 
| 
      
 4 
     | 
    
         
            +
                %title Swagger UI
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                = javascript_include_tag :swagger_ui
         
     | 
| 
      
 7 
     | 
    
         
            +
                = stylesheet_link_tag :swagger_ui_screen, :media => :screen
         
     | 
| 
      
 8 
     | 
    
         
            +
                = stylesheet_link_tag :swagger_ui_print, :media => :print
         
     | 
| 
      
 9 
     | 
    
         
            +
                = csrf_meta_tags
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                :css
         
     | 
| 
      
 12 
     | 
    
         
            +
                  .swagger-ui-wrap {
         
     | 
| 
      
 13 
     | 
    
         
            +
                    max-width: 80%;
         
     | 
| 
      
 14 
     | 
    
         
            +
                    min-width: 960px;
         
     | 
| 
      
 15 
     | 
    
         
            +
                    margin-left: auto;
         
     | 
| 
      
 16 
     | 
    
         
            +
                    margin-right: auto;
         
     | 
| 
      
 17 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                :javascript
         
     | 
| 
      
 20 
     | 
    
         
            +
                  $(function () {
         
     | 
| 
      
 21 
     | 
    
         
            +
                    var url = window.location.search.match(/url=([^&]+)/);
         
     | 
| 
      
 22 
     | 
    
         
            +
                    if (url && url.length > 1) {
         
     | 
| 
      
 23 
     | 
    
         
            +
                      url = decodeURIComponent(url[1]);
         
     | 
| 
      
 24 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 25 
     | 
    
         
            +
                      url = "http://#{request.host}:#{request.port}/api/v1/swagger_doc";
         
     | 
| 
      
 26 
     | 
    
         
            +
                    }
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    hljs.configure({
         
     | 
| 
      
 29 
     | 
    
         
            +
                      highlightSizeThreshold: 5000
         
     | 
| 
      
 30 
     | 
    
         
            +
                    });
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    // Pre load translate...
         
     | 
| 
      
 33 
     | 
    
         
            +
                    if(window.SwaggerTranslator) {
         
     | 
| 
      
 34 
     | 
    
         
            +
                      window.SwaggerTranslator.translate();
         
     | 
| 
      
 35 
     | 
    
         
            +
                    }
         
     | 
| 
      
 36 
     | 
    
         
            +
                    window.swaggerUi = new SwaggerUi({
         
     | 
| 
      
 37 
     | 
    
         
            +
                      url: url,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      dom_id: "swagger-ui-container",
         
     | 
| 
      
 39 
     | 
    
         
            +
                      supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
         
     | 
| 
      
 40 
     | 
    
         
            +
                      onComplete: function(swaggerApi, swaggerUi){
         
     | 
| 
      
 41 
     | 
    
         
            +
                        if(typeof initOAuth == "function") {
         
     | 
| 
      
 42 
     | 
    
         
            +
                          initOAuth({
         
     | 
| 
      
 43 
     | 
    
         
            +
                            clientId: "your-client-id",
         
     | 
| 
      
 44 
     | 
    
         
            +
                            clientSecret: "your-client-secret-if-required",
         
     | 
| 
      
 45 
     | 
    
         
            +
                            realm: "your-realms",
         
     | 
| 
      
 46 
     | 
    
         
            +
                            appName: "your-app-name",
         
     | 
| 
      
 47 
     | 
    
         
            +
                            scopeSeparator: ",",
         
     | 
| 
      
 48 
     | 
    
         
            +
                            additionalQueryStringParams: {}
         
     | 
| 
      
 49 
     | 
    
         
            +
                          });
         
     | 
| 
      
 50 
     | 
    
         
            +
                        }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                        if(window.SwaggerTranslator) {
         
     | 
| 
      
 53 
     | 
    
         
            +
                          window.SwaggerTranslator.translate();
         
     | 
| 
      
 54 
     | 
    
         
            +
                        }
         
     | 
| 
      
 55 
     | 
    
         
            +
                      },
         
     | 
| 
      
 56 
     | 
    
         
            +
                      onFailure: function(data) {
         
     | 
| 
      
 57 
     | 
    
         
            +
                        log("Unable to Load SwaggerUI");
         
     | 
| 
      
 58 
     | 
    
         
            +
                      },
         
     | 
| 
      
 59 
     | 
    
         
            +
                      docExpansion: "none",
         
     | 
| 
      
 60 
     | 
    
         
            +
                      jsonEditor: false,
         
     | 
| 
      
 61 
     | 
    
         
            +
                      defaultModelRendering: 'schema',
         
     | 
| 
      
 62 
     | 
    
         
            +
                      showRequestHeaders: false
         
     | 
| 
      
 63 
     | 
    
         
            +
                    });
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                    $('#input_apiKey').change(function() {
         
     | 
| 
      
 66 
     | 
    
         
            +
                      var key = $('#input_apiKey')[0].value;
         
     | 
| 
      
 67 
     | 
    
         
            +
                      if(key && key.trim() != "") {
         
     | 
| 
      
 68 
     | 
    
         
            +
                        swaggerUi.api.clientAuthorizations.add("key", new SwaggerClient.ApiKeyAuthorization("api_key", key, "query"));
         
     | 
| 
      
 69 
     | 
    
         
            +
                      }
         
     | 
| 
      
 70 
     | 
    
         
            +
                    })
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                    window.swaggerUi.load();
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                    function log() {
         
     | 
| 
      
 75 
     | 
    
         
            +
                      if ('console' in window) {
         
     | 
| 
      
 76 
     | 
    
         
            +
                        console.log.apply(console, arguments);
         
     | 
| 
      
 77 
     | 
    
         
            +
                      }
         
     | 
| 
      
 78 
     | 
    
         
            +
                    }
         
     | 
| 
      
 79 
     | 
    
         
            +
                  });
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
              %body.swagger-section
         
     | 
| 
      
 82 
     | 
    
         
            +
                #header
         
     | 
| 
      
 83 
     | 
    
         
            +
                  .swagger-ui-wrap
         
     | 
| 
      
 84 
     | 
    
         
            +
                    %a#logo{:href => "http://swagger.io"}
         
     | 
| 
      
 85 
     | 
    
         
            +
                      %span.logo__title swagger
         
     | 
| 
      
 86 
     | 
    
         
            +
                    %form#api_selector
         
     | 
| 
      
 87 
     | 
    
         
            +
                      .input
         
     | 
| 
      
 88 
     | 
    
         
            +
                        %input#input_baseUrl{:name => "baseUrl", :placeholder => "http://example.com/api", :type => "text"}/
         
     | 
| 
      
 89 
     | 
    
         
            +
                      .input
         
     | 
| 
      
 90 
     | 
    
         
            +
                        %input#input_apiKey{:name => "apiKey", :placeholder => "api_key", :type => "text"}
         
     | 
| 
      
 91 
     | 
    
         
            +
                      #auth_container
         
     | 
| 
      
 92 
     | 
    
         
            +
                      .input
         
     | 
| 
      
 93 
     | 
    
         
            +
                        %a#explore.header__btn{"data-sw-translate" => "", :href => "#"} Explore
         
     | 
| 
      
 94 
     | 
    
         
            +
                #message-bar.swagger-ui-wrap{"data-sw-translate" => ""}  
         
     | 
| 
      
 95 
     | 
    
         
            +
                #swagger-ui-container.swagger-ui-wrap
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "grape-swagger-ui/version"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "grape-swagger-ui/routes"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Grape
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Swagger
         
     | 
| 
      
 6 
     | 
    
         
            +
                module Ui
         
     | 
| 
      
 7 
     | 
    
         
            +
                  class Engine < ::Rails::Engine
         
     | 
| 
      
 8 
     | 
    
         
            +
                    config.draw_swagger_routes = true
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    initializer 'grape-swagger-ui.draw_routes' do |app|
         
     | 
| 
      
 11 
     | 
    
         
            +
                      if config.draw_swagger_routes && (!$rails_rake_task || (ARGV[0] =~ /routes\Z/))
         
     | 
| 
      
 12 
     | 
    
         
            +
                        app.routes.append{ Grape::Swagger::Ui::Routes.draw(self) }
         
     | 
| 
      
 13 
     | 
    
         
            +
                      end
         
     | 
| 
      
 14 
     | 
    
         
            +
                    end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     |