Module: XLock::Rails::ClassMethods

Defined in:
lib/xlock/rails.rb

Instance Method Summary collapse

Instance Method Details

#protect_with_xlock(**options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/xlock/rails.rb', line 18

def protect_with_xlock(**options)
  before_action :enforce_xlock!, **options.except(:site_key, :api_url, :fail_open)

  define_method(:xlock_config) do
    {
      site_key: options[:site_key] || ENV["XLOCK_SITE_KEY"],
      api_url: options[:api_url] || XLock::API_URL,
      fail_open: options.fetch(:fail_open, true)
    }
  end
  private :xlock_config
end