Module: Unidom::Common::YamlHelper
- Defined in:
- lib/unidom/common/yaml_helper.rb
Overview
YAML Helper 是用于加载知识层枚举的配置文件的辅助模块。
Class Method Summary collapse
-
.load_enum(config: nil, root: nil) ⇒ Object
从应用或者引擎的跟路径 root 加载 config/enum.yml 中的内容到 config 中。.
Class Method Details
.load_enum(config: nil, root: nil) ⇒ Object
从应用或者引擎的跟路径 root 加载 config/enum.yml 中的内容到 config 中。
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/unidom/common/yaml_helper.rb', line 10 def self.load_enum(config: nil, root: nil) enum_yaml_path = root.join 'config', 'enum.yml' raise ArgumentError.new "The file #{enum_yaml_path} does not exist." unless enum_yaml_path.exist? unless config.respond_to? :enum config.class_eval do attr_accessor :enum end end config.enum = {} if config.enum.nil? enum_definitions = YAML.load File.read(enum_yaml_path) config.enum.merge! enum_definitions['enum'] if enum_definitions.present?&&enum_definitions['enum'].present? end |