Sha256: ba51458f1cb12e500f9edb7931589a7dbd8ff9aaa816386b299e518555a733be

Contents?: true

Size: 1.4 KB

Versions: 14

Compression:

Stored size: 1.4 KB

Contents

# -*- encoding : utf-8 -*-

# card config overrides application.rb config overrides default
def load_recaptcha_config setting
  setting = "recaptcha_#{setting}".to_sym
  Cardio.config.send(
    "#{setting}=", load_recaptcha_card_config(setting) || # card content
    Cardio.config.send(setting) || # application.rb
    default_setting(setting)
  )
end

def default_setting setting
  # when creating the database (with `decko seed`) this is called
  # but fails because Card::Auth doesn't exist
  return unless Card.const_defined? "Auth"
  Card::Auth::Permissions::RECAPTCHA_DEFAULTS[setting]
end

def card_table_ready?
  # FIXME: this test should be more generally usable
  ActiveRecord::Base.connection.table_exists?("cards") &&
    Card.ancestors.include?(ActiveRecord::Base)
end

# use if card with value is present
def load_recaptcha_card_config setting
  card = Card.find_by_codename setting
  card && card.db_content.present? && card.db_content
end

ActiveSupport.on_load :after_card do
  Recaptcha.configure do |config|
    # the seed task runs initializers so we have to check
    # if the cards table is ready before we use it here
    CONFIG_OPTIONS =
      {
        public_key: :site_key,
        private_key: :secret_key,
        proxy: :proxy
      }
    if card_table_ready?
      CONFIG_OPTIONS.each do |codename, setting|
        config.send "#{setting}=", load_recaptcha_config(codename)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
card-1.97.0 config/initializers/recaptcha.rb
card-1.96.8 config/initializers/recaptcha.rb
card-1.96.7 config/initializers/recaptcha.rb
card-1.96.6 config/initializers/recaptcha.rb
card-1.96.5 config/initializers/recaptcha.rb
card-1.96.4 config/initializers/recaptcha.rb
card-1.96.3 config/initializers/recaptcha.rb
card-1.96.2 config/initializers/recaptcha.rb
card-1.96.1 config/initializers/recaptcha.rb
card-1.96.0 config/initializers/recaptcha.rb
card-1.95.3 config/initializers/recaptcha.rb
card-1.95.2 config/initializers/recaptcha.rb
card-1.95.1 config/initializers/recaptcha.rb
card-1.95.0 config/initializers/recaptcha.rb