module AuthThree::Generators::ControllerHelpers

Public Instance Methods

namespace_sessions_contents(namespace_label) click to toggle source
# File lib/generators/controller_helpers.rb, line 75
      def namespace_sessions_contents(namespace_label)
<<RUBY
  def create
    @user = User.find_by_credentials(
      params[:user][:username],
      params[:user][:password]
    )

    if @user
      login!(@user)
      render :"#{namespace_label}/users/show"
    else
      render(json: ['Sorry, you entered an incorrect email address or password.'], status: 401)
    end
  end

  def destroy
    @user = current_user
      if @user
        logout!
        render json: @user
      else
        render(json: ["You are not signed in"], status: 404)
      end
  end
RUBY
      end
namespace_users_contents(namespace_label) click to toggle source
# File lib/generators/controller_helpers.rb, line 103
      def namespace_users_contents(namespace_label)
<<RUBY
  def create
    @user = User.new(user_params)
    if @user.save
      login!(@user)
      render :show
    else
      errors = @user.errors.full_messages
      render(json: errors, status: 422)
    end
  end

  def show
    @user = User.find(params[:id])
    render :show
  end

  def update
    @user = User.find(params[:user][:id])
    if @user.update(user_params)
      render :show
    else
      errors = @user.errors.full_messages
      render(json: errors, status: 422)
    end
  end
RUBY
      end
router_contents(namespace_label) click to toggle source
# File lib/generators/controller_helpers.rb, line 133
      def router_contents(namespace_label)
<<-RUBY

  namespace :#{namespace_label}, defaults: {format: :json} do
    resources :users
  end
  namespace :#{namespace_label}, defaults: {format: :json} do
    resource :session
  end
RUBY
      end
sessions_controller_contents() click to toggle source
# File lib/generators/controller_helpers.rb, line 46
      def sessions_controller_contents
<<RUBY
  def new
    render :new
  end

  def create
    user = User.find_by_credentials(
      params[:user][:username],
      params[:user][:password]
    )

    if user
      login!(user)
      # requires root_url to be set in routes.rb
      redirect_to root_url
    else
      flash.now[:errors] = ["Invalid username or password"]
      render :new
    end
  end

  def destroy
    logout!
    redirect_to new_session_url
  end
RUBY
      end
users_controller_contents() click to toggle source
# File lib/generators/controller_helpers.rb, line 4
      def users_controller_contents
<<RUBY
  def show
    @user = User.find(params[:id])
    render :show
  end

  def new
    @user = User.new
    render :new
  end

  def create
    @user = User.new(user_params)

    if @user.save
      sign_in(@user)
      redirect_to links_url
    else
      flash.now[:errors] = @user.errors.full_messages
      render :new
    end
  end

  def edit
    @user = User.find(params[:id])
    render :edit
  end

  def update
    @user = User.find(params[:id])
    if @user.update
      # default will redirect to root_url, change as you wish
      redirect_to root_url
    else
      flash.now[:errors] = @user.errors.full_messages
      render :edit
    end
  end
RUBY
      end