Module: Cardio

Extended by:
Delaying
Defined in:
lib/cardio.rb,
lib/cardio/job.rb,
lib/cardio/mod.rb,
lib/cardio/seed.rb,
lib/cardio/utils.rb,
lib/cardio/record.rb,
lib/cardio/command.rb,
lib/cardio/mod/eat.rb,
lib/cardio/mod/sow.rb,
lib/cardio/railtie.rb,
lib/cardio/version.rb,
lib/cardio/commands.rb,
lib/cardio/delaying.rb,
lib/cardio/mod/dirs.rb,
lib/cardio/migration.rb,
lib/cardio/generators.rb,
lib/cardio/mod/loader.rb,
lib/cardio/script_loader.rb,
lib/cardio/command/custom.rb,
lib/cardio/migration/port.rb,
lib/cardio/generators/base.rb,
lib/cardio/migration/stamp.rb,
lib/cardio/mod/eat/edibles.rb,
lib/cardio/mod/modfile_api.rb,
lib/cardio/migration/schema.rb,
lib/cardio/mod/class_methods.rb,
lib/cardio/mod/load_strategy.rb,
lib/cardio/mod/sow/yaml_dump.rb,
lib/cardio/mod/modfile_loader.rb,
lib/cardio/generators/mod_base.rb,
lib/cardio/migration/transform.rb,
lib/cardio/mod/module_template.rb,
lib/cardio/mod/sow/card_source.rb,
lib/cardio/command/command_base.rb,
lib/cardio/command/rake_command.rb,
lib/cardio/migration/assumption.rb,
lib/cardio/command/rspec_command.rb,
lib/cardio/mod/loader/set_loader.rb,
lib/cardio/mod/sow/remote_source.rb,
lib/generators/mod/mod_generator.rb,
lib/generators/set/set_generator.rb,
lib/cardio/generators/deck_helper.rb,
lib/cardio/mod/load_strategy/eval.rb,
lib/cardio/mod/loader/set_template.rb,
lib/generators/deck/deck_generator.rb,
lib/cardio/generators/rails_overrides.rb,
lib/cardio/mod/load_strategy/tmp_files.rb,
lib/cardio/command/rspec_command/parser.rb,
lib/cardio/mod/loader/set_pattern_loader.rb,
lib/cardio/mod/load_strategy/set_tmp_files.rb,
lib/generators/migration/migration_generator.rb,
lib/cardio/mod/load_strategy/pattern_tmp_files.rb,
lib/cardio/mod/load_strategy/set_binding_magic.rb

Overview

We could have used CommandsBase (and may yet move to that), but it’s worth noting that this might have caused its own confusion with CommandBase, a base class for classes that handle specific kinds of commands.

Defined Under Namespace

Modules: Delaying, Generators, ScriptLoader, Seed, Utils, Version Classes: Command, Commands, Job, Migration, Mod, Railtie, Record

Constant Summary collapse

Application =

The application class from which card applications inherit

Rails::Application

Class Method Summary collapse

Methods included from Delaying

delaying!, delaying?

Class Method Details

.cacheObject



40
41
42
# File 'lib/cardio.rb', line 40

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

.card_defined?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/cardio.rb', line 25

def card_defined?
  const_defined? "Card"
end

.databaseObject



44
45
46
# File 'lib/cardio.rb', line 44

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

.gem_rootObject



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

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

.load_card!Object



35
36
37
38
# File 'lib/cardio.rb', line 35

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

.load_card?Boolean

Returns:

  • (Boolean)


29
30
31
32
33
# File 'lib/cardio.rb', line 29

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

.modsObject



48
49
50
# File 'lib/cardio.rb', line 48

def mods
  Mod.dirs.mods
end

.with_config(tmp) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/cardio.rb', line 52

def with_config tmp
  keep = tmp.keys.each_with_object({}) { |k, h| h[k] = config.send k }
  tmp.each { |k, v| config.send "#{k}=", v }
  yield
ensure
  keep.each { |k, v| config.send "#{k}=", v }
end