Module: Unidom::Common::EngineExtension::ClassMethods

Defined in:
lib/unidom/common/engine_extension.rb

Overview

included do |includer| end

Instance Method Summary collapse

Instance Method Details

#enable_initializer(enum_enabled: false, migration_enabled: false) ⇒ Object

设置初始化器的开关。如: Unidom::Common::EngineExtension.enable_initializer enum_enabled: true, migration_enabled: false enum_enabled 表明是否加载枚举型。migration_enabled 表明是否运行领域模型数据库迁移脚本,同时也表明加载对应的领域模型。



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/unidom/common/engine_extension.rb', line 19

def enable_initializer(enum_enabled: false, migration_enabled: false)

  if enum_enabled
    require 'unidom/common/yaml_helper'
    initializer :load_config_initializers do |app|
      Unidom::Common::YamlHelper.load_enum config: app.config, root: config.root
    end
  end

  if migration_enabled
    initializer :append_migrations do |app|
      config.paths['db/migrate'].expanded.each { |expanded_path| app.config.paths['db/migrate'] << expanded_path } unless Unidom::Common::Neglection.namespace_neglected?(self.class.name)||app.root.to_s.match(root.to_s)
    end
  end

end