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