0.0
No commit activity in last 3 years
No release in over 3 years
You can list, view and create middlewares for your rails app
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 5.0
~> 12.3

Runtime

~> 1.0.1
 Project Readme

Middleware CLI

Installation

Add this line to your application's Gemfile:

gem 'middleware-cli', group: :development

And then execute:

$ bundle

Or install it yourself as:

$ gem install middleware-cli

Usage

To get all the options type:

  $ bundle exec middleware-cli

To list all your middlewares type:

  $ bundle exec middleware-cli list

which will list all your middlewares:

  +-------+--------------------------------------------------------+
  | S/n   | Middleware Name                                        |
  +-------+--------------------------------------------------------+
  | 1     | Rack::Sendfile                                         |
  | 2     | ActionDispatch::Static                                 |
  | 3     | ActionDispatch::Executor                               |
  | 4     | ActiveSupport::Cache::Strategy::LocalCache::Middleware |
  | 5     | Rack::Runtime                                          |
  | 6     | Rack::MethodOverride                                   |
  | 7     | ActionDispatch::RequestId                              |
  | 8     | ActionDispatch::RemoteIp                               |
  | 9     | Sprockets::Rails::QuietAssets                          |
  | 10    | Rails::Rack::Logger                                    |
  | 11    | ActionDispatch::ShowExceptions                         |
  | 12    | WebConsole::Middleware                                 |
  | 13    | ActionDispatch::DebugExceptions                        |
  | 14    | Airbrake::Rack::Middleware                             |
  | 15    | ActionDispatch::Reloader                               |
  | 16    | ActionDispatch::Callbacks                              |
  | 17    | ActiveRecord::Migration::CheckPending                  |
  | 18    | ActionDispatch::Cookies                                |
  | 19    | ActionDispatch::Session::CookieStore                   |
  | 20    | ActionDispatch::Flash                                  |
  | 21    | ActionDispatch::ContentSecurityPolicy::Middleware      |
  | 22    | Rack::Head                                             |
  | 23    | Rack::ConditionalGet                                   |
  | 24    | Rack::ETag                                             |
  | 25    | Rack::TempfileReaper                                   |
  | 26    | MyRailsApp::Application.routes                         |
  +-------+--------------------------------------------------------+
  | Total | 26 Middlewares                                         |
  +-------+--------------------------------------------------------+

To create new middleware type:

  $ bundle exec middleware-cli create MyMiddleware

which will create your middleware at 'app/middlewares' which is the default.

  class MyMiddleware
    def initialize(app)
      # app here is our rails app
      @app = app
    end

    def call(env)
      # env variable is a hash comprising of request parameters such as
      # headers, request url, request parameters etc.
      @app.call(env)
    end
  end

You can set your path by passing your path as second parameter:

  $ bundle exec middleware-cli create MyMiddleware app/services

To view all your middleware, you can simple use:

  $ bundle exec middleware-cli view

This will generate the code for all your middlewares of the application at middleware folder, which is the default. You can set the folder for all your generated middleware code by:

  $ bundle exec middleware-cli view app/middlewares

For generating code for any particular middleware, use the name option:

  $ bundle exec middleware-cli view app/middlewares --name Rack::Sendfile

To view the middleware code in terminal itself use terminal option:

  $ bundle exec middleware-cli view app/middlewares --name Rack::Sendfile --terminal

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/vikasvr/middleware-cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Middleware::Cli project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.