Sha256: 0439e0b5064aa32debef5917f512d625b8eee539b1b1103e85acc98d92fe12c5

Contents?: true

Size: 724 Bytes

Versions: 2

Compression:

Stored size: 724 Bytes

Contents

require 'generators/katapult/clearance/clearance_generator'

module Katapult
  class Authentication < Element

    MissingUserModel = Class.new(StandardError)

    # attr name: The user model name
    attr_accessor :system_email

    def ensure_user_model_attributes_present
      user_model = application_model.get_model(name) or raise MissingUserModel,
        "Could not find a model named #{ name }"
      user_attrs = user_model.attrs.map(&:name)

      user_model.attr(:email) unless user_attrs.include?('email')
      user_model.attr(:password, type: :password, skip_db: true) unless user_attrs.include?('password')
    end

    def render
      Generators::ClearanceGenerator.new(self).invoke_all
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
katapult-0.3.0 lib/katapult/authentication.rb
katapult-0.2.0 lib/katapult/authentication.rb