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.
Defined Under Namespace
Modules: Authentication, Generators, Owner Classes: ApiKey, ApplicationRecord, Configuration, Engine
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
- .configuration ⇒ RailsApiKeys::Configuration
-
.configure {|configuration| ... } ⇒ Object
Yields RailsApiKeys.configuration for host overrides in an initializer.
-
.owner_class?(klass) ⇒ Boolean
Whether
klass(or its name) called Owner#has_api_keys. -
.owner_class_names ⇒ Set<String>
Registered owner class names.
-
.register_owner_class!(klass) ⇒ Object
Records
klassas an allowed API key owner (idempotent). -
.reset_configuration! ⇒ Object
Resets configuration to defaults (primarily for tests).
Class Method Details
.configuration ⇒ RailsApiKeys::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.
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.
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_names ⇒ Set<String>
Returns 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 |