Sha256: d8ac58147b8cba21f2fbcbb7266a15b7dfc27c8531cac5ee208526834a1cbb8c

Contents?: true

Size: 719 Bytes

Versions: 3

Compression:

Stored size: 719 Bytes

Contents

require_dependency "jobshop/application_controller"

module Jobshop
  class SitesController < ApplicationController
    before_action :authenticate_user!, unless: :configure_by_token?, only: :edit

    def edit

    end

    protected

    def configure_by_token?
      params[:configuration_token].present? && configuration_token_valid?
    end

    def configuration_token_valid?
      encrypted_configuration_token = Devise.token_generator.digest(
        Jobshop::Site, :configuration_token, params[:configuration_token])

      configurable = Jobshop::Site.find_by(
        configuration_token: encrypted_configuration_token)

      configurable && configurable.configuration_token_period_valid?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jobshop-0.0.4.0p1 app/controllers/jobshop/sites_controller.rb
jobshop-0.0.3.1 app/controllers/jobshop/sites_controller.rb
jobshop-0.0.3.0 app/controllers/jobshop/sites_controller.rb