Sha256: 28cbd456bfc0ab08e1b52e9da133784ba4f51812e74362879b419b68050e9562

Contents?: true

Size: 1.45 KB

Versions: 2

Compression:

Stored size: 1.45 KB

Contents

# -*- coding: utf-8 -*-

class MultiAuth

  class << self
    attr_accessor_with_default :application_name, 'app'
    attr_accessor_with_default :from_address, 'noreply@example.com'
    attr_accessor_with_default :user_model, 'User'
    def setup
      yield self
    end

    def self.user_model_class
      @user_model.constantize
    end
  end

  module ClassMethods
    def verify_method_post(options = {})
      verify({
               :method => :post,
               :render => {:text => "Method Not Allowed", :status => 405},
             }.merge(options))
    end
  end

  module InstanceMethods

    private

    def authentication(user_id = session[:user_id])
      @login_user = User.find_by_id(user_id)
      return true
    end

    def authentication_required
      if @login_user
        return true
      else
        set_error("ログインが必要です。")
        redirect_to(root_path)
        return false
      end
    end

    def set_notice(message)
      flash[:notice] = @flash_notice = message
      flash[:error]  = @flash_error  = nil
    end

    def set_error(message)
      flash[:notice] = @flash_notice = nil
      flash[:error]  = @flash_error  = message
    end

    def set_error_now(message)
      flash.now[:notice] = @flash_notice = nil
      flash.now[:error]  = @flash_error  = message
    end
  end
end

ActionController::Base.__send__(:extend, MultiAuth::ClassMethods)
ActionController::Base.__send__(:include, MultiAuth::InstanceMethods)

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
multi_auth-0.0.1 lib/multi_auth.rb
okkez-multi_auth-0.0.1 lib/multi_auth.rb