Module: RailsApiKeys

Defined in:
lib/rails_api_keys.rb,
lib/rails_api_keys/owner.rb,
lib/rails_api_keys/engine.rb,
lib/rails_api_keys/version.rb,
lib/rails_api_keys/configuration.rb,
app/models/rails_api_keys/api_key.rb,
lib/rails_api_keys/authentication.rb,
app/models/rails_api_keys/application_record.rb,
lib/generators/rails_api_keys/install/install_generator.rb

Overview

Thin Rails engine for personal API key authentication.

See Also:

Defined Under Namespace

Modules: Authentication, Generators, Owner Classes: ApiKey, ApplicationRecord, Configuration, Engine

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configurationRailsApiKeys::Configuration



16
17
18
# File 'lib/rails_api_keys.rb', line 16

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields configuration for host overrides in an initializer.

Yields:



21
22
23
# File 'lib/rails_api_keys.rb', line 21

def configure
  yield configuration
end

.owner_class?(klass) ⇒ Boolean

Returns whether klass (or its name) called Owner#has_api_keys.

Returns:

  • (Boolean)

    whether klass (or its name) called Owner#has_api_keys



37
38
39
40
# File 'lib/rails_api_keys.rb', line 37

def owner_class?(klass)
  name = klass.is_a?(Module) ? klass.name : klass.to_s
  owner_class_names.include?(name)
end

.owner_class_namesSet<String>

Returns registered owner class names.

Returns:

  • (Set<String>)

    registered owner class names



43
44
45
# File 'lib/rails_api_keys.rb', line 43

def owner_class_names
  @owner_class_names ||= Set.new
end

.register_owner_class!(klass) ⇒ Object

Records klass as an allowed API key owner (idempotent).



32
33
34
# File 'lib/rails_api_keys.rb', line 32

def register_owner_class!(klass)
  owner_class_names << klass.name
end

.reset_configuration!Object

Resets configuration to defaults (primarily for tests). Does not clear owner_class_names; those are registered at model load via Owner#has_api_keys.



27
28
29
# File 'lib/rails_api_keys.rb', line 27

def reset_configuration!
  @configuration = Configuration.new
end