module Credible::Controllers::UsersController

Public Instance Methods

confirm() click to toggle source

GET /users/confirm/:confirmation_token GET /users/confirm/:confirmation_token.json

# File lib/credible/controllers/users_controller.rb, line 38
def confirm
  @user = ::User.find_by(email: params[:email])

  @user.confirm(params[:confirmation_token])

  if @user.save
    @session = current_user ? current_session : ::Session.create(user: @user)
    render :show, status: :created, location: @user
  else
    render json: @user.errors, status: :unprocessable_entity
  end
end
create() click to toggle source

POST /users POST /users.json

# File lib/credible/controllers/users_controller.rb, line 24
def create
  @user = ::User.new(user_params)

  if @user.save
    Credible::ConfirmationMailer.with(user: @user).confirmation_email.deliver_later
    @session = ::Session.create(user: @user)
    render :show, status: :created, location: @user
  else
    render json: @user.errors, status: :unprocessable_entity
  end
end
destroy() click to toggle source

DELETE /users/1 DELETE /users/1.json

# File lib/credible/controllers/users_controller.rb, line 82
def destroy
  @user.destroy
  head :no_content
end
edit() click to toggle source

GET /users/1/edit

# File lib/credible/controllers/users_controller.rb, line 67
def edit
end
new() click to toggle source

GET /users/new

# File lib/credible/controllers/users_controller.rb, line 18
def new
  @user = ::User.new
end
reset_password() click to toggle source

POST /users/reset_password POST /users/reset_password.json

# File lib/credible/controllers/users_controller.rb, line 53
def reset_password
  @user = ::User.find_by(email: user_params[:email])

  @user.reset_password

  if @user.save
    Credible::ResetPasswordMailer.with(user: @user).reset_password_email.deliver_later
    render :show, status: :ok, location: @user
  else
    render json: @user.errors, status: :unprocessable_entity
  end
end
show() click to toggle source

GET /users/1 GET /users/1.json

# File lib/credible/controllers/users_controller.rb, line 14
def show
end
update() click to toggle source

PATCH/PUT /users/1 PATCH/PUT /users/1.json

# File lib/credible/controllers/users_controller.rb, line 72
def update
  if @user.update(user_params)
    render :show, status: :ok, location: @user
  else
    render json: @user.errors, status: :unprocessable_entity
  end
end

Private Instance Methods

set_user() click to toggle source

Use callbacks to share common setup or constraints between actions.

# File lib/credible/controllers/users_controller.rb, line 89
def set_user
  @user = current_user
end
user_params() click to toggle source
# File lib/credible/controllers/users_controller.rb, line 93
def user_params
  params.require(:user).permit(:email, :password)
end