Sha256: f0f90863b6578ffc4cb7d5dfd52932048ddc9426d11c43ee67d63de21aafac4e

Contents?: true

Size: 893 Bytes

Versions: 2

Compression:

Stored size: 893 Bytes

Contents

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

require "active_support"
require "active_support/core_ext/module/delegation"
require "cardio/delaying"

ActiveSupport.on_load :after_card do
  Cardio::Mod.load
end

module Cardio
  extend Delaying

  class << self
    delegate :application, :root, to: :Rails
    delegate :config, :paths, to: :application

    def gem_root
      @gem_root ||= File.expand_path "..", __dir__
    end

    def card_defined?
      const_defined? "Card"
    end

    def load_card?
      ActiveRecord::Base.connection && !card_defined?
    rescue StandardError
      false
    end

    def load_card!
      require "card"
      ActiveSupport.run_load_hooks :after_card
    end

    def cache
      @cache ||= ::Rails.cache
    end

    def database
      @database ||= config.database_configuration.dig Rails.env, "database"
    end

    def mods
      Mod.dirs.mods
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
card-1.104.1 lib/cardio.rb
card-1.104.0 lib/cardio.rb