lib/unidom/common/yaml_helper.rb in unidom-common-2.1.2 vs lib/unidom/common/yaml_helper.rb in unidom-common-3.0

- old
+ new

@@ -1,25 +1,30 @@ -## -# YAML Helper 是用于加载知识层枚举的配置文件的辅助模块。 +module Unidom + module Common -module Unidom::Common::YamlHelper + ## + # YAML Helper 是用于加载知识层枚举的配置文件的辅助模块。 + module YamlHelper - ## - # 从应用或者引擎的跟路径 root 加载 config/enum.yml 中的内容到 config 中。 - def self.load_enum(config: nil, root: nil) + ## + # 从应用或者引擎的跟路径 root 加载 config/enum.yml 中的内容到 config 中。 + 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? + 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 + 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 + 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 - end