Sha256: 5b774c57b105ea87fffd78ef13db2f38e6b5d0ccf7f54ac10ae903b88a5f7f16

Contents?: true

Size: 1.54 KB

Versions: 6

Compression:

Stored size: 1.54 KB

Contents

module DeviseInvitable
  module Routes #:doc:
    # Adds route generation for invitable. This method is responsible to
    # generate all needed routes for devise, based on what modules you have
    # defined in your model.
    # Examples: Let's say you have an User model configured to use
    # invitable module. After creating this inside your routes:
    #
    #   map.devise_for :users
    #
    # this method is going to look inside your User model and create the
    # needed routes:
    #
    #  # Invitation routes for Invitable, if User model has :invitable configured
    #     new_user_invitation GET  /users/invitation/new(.:format)     {:controller=>"invitations", :action=>"new"}
    #         user_invitation PUT  /users/invitation(.:format)         {:controller=>"invitations", :action=>"update"}
    #                         POST /users/invitation(.:format)         {:controller=>"invitations", :action=>"create"}
    #  accept_user_invitation GET  /users/invitation/accept(.:format)  {:controller=>"invitations", :action=>"edit"}
    #

    protected
      def invitable(routes, mapping)
        routes.resource :invitation, :only => [:new, :create, :update], :as => mapping.path_names[:invitation]
        routes.send(:"accept_#{mapping.name}_invitation", mapping.path_names[:accept] || 'accept', :controller => 'invitations', :action => 'edit', :name_prefix => nil, :path_prefix => "#{mapping.as}/invitation", :conditions => { :method => :get })
      end
  end
end

ActionController::Routing::RouteSet::Mapper.send :include, DeviseInvitable::Routes

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
devise_invitable-0.2.3 lib/devise_invitable/routes.rb
devise_invitable-0.2.2 lib/devise_invitable/routes.rb
devise_invitable-0.2.1 lib/devise_invitable/routes.rb
devise_invitable-0.2.0 lib/devise_invitable/routes.rb
devise_invitable-0.1.4 lib/devise_invitable/routes.rb
devise_invitable-0.1.3 lib/devise_invitable/routes.rb