class Qonfig::Uploaders::YAML
@api private @since 0.11.0
Constants
- DEFAULT_OPTIONS
@return [Hash<Symbol,Any>]
@api private @since 0.11.0
- KEY_SYMBOLIZER
@return [Proc]
@api private @since 0.11.0
Public Class Methods
hash_representation_options(options, &value_processor)
click to toggle source
@param options [Hash<Symbol|String,Any>] @param value_processor [Block] @return [Hash]
@api private @since 0.11.0
# File lib/qonfig/uploaders/yaml.rb, line 60 def hash_representation_options(options, &value_processor) {}.tap do |representation_opts| # NOTE: this case/when with the same logic is only used for better code readbility # rubocop:disable Lint/DuplicateBranch case # NOTE: options has :symbolize_keys key when options.key?(:symbolize_keys) && !!options[:symbolize_keys] representation_opts[:transform_key] = KEY_SYMBOLIZER # NOTE: options does not have :symbolize_keys key when !options.key?(:symbolize_keys) && DEFAULT_OPTIONS[:symbolize_keys] # :nocov: representation_opts[:transform_key] = KEY_SYMBOLIZER # :nocov: end # rubocop:enable Lint/DuplicateBranch # NOTE: provide value transformer if block_given? representation_opts[:transform_value] = value_processor end end end
represent_settings(settings, options, &value_processor)
click to toggle source
@param settings [Qonfig::Settings] @param options [Hash<Symbol,Any>] @param value_processor [Block] @return [String]
@api private @since 0.11.0
# File lib/qonfig/uploaders/yaml.rb, line 48 def represent_settings(settings, options, &value_processor) settings_hash_opts = hash_representation_options(options, &value_processor) settings_hash = settings.__to_hash__(**settings_hash_opts) to_yaml_string(settings_hash, options) end
to_yaml_string(settings_hash, yaml_options)
click to toggle source
@param settings_hash [Hash<String|Symbol,Any>] @param yaml_options [Hash<Symbol,Any>] @return [String]
@api private @since 0.11.0
# File lib/qonfig/uploaders/yaml.rb, line 89 def to_yaml_string(settings_hash, yaml_options) representer = YAMLRepresenter.create(yaml_options) representer << settings_hash representer.tree.yaml(nil, yaml_options) end