class MediaEmbed::OptionsHandler
Attributes
prioritized_options[RW]
remaining_options[RW]
Public Class Methods
new(prioritized_options_name, options_hash)
click to toggle source
# File lib/media_embed/options_handler.rb, line 6 def initialize(prioritized_options_name, options_hash) @prioritized_options_name = prioritized_options_name @options_hash = transform_synonymous_keys(options_hash) split_options override_duplicate_remaining_options end
Public Instance Methods
consolidate_options()
click to toggle source
# File lib/media_embed/options_handler.rb, line 14 def consolidate_options prioritized_options.merge(remaining_options) end
Private Instance Methods
keys_synonym(key)
click to toggle source
# File lib/media_embed/options_handler.rb, line 38 def keys_synonym(key) key == :auto_play ? :autoplay : key end
override_duplicate_remaining_options()
click to toggle source
# File lib/media_embed/options_handler.rb, line 25 def override_duplicate_remaining_options remaining_options.reject! do |option_name, _| prioritized_options.keys.include?(option_name) end end
split_options()
click to toggle source
# File lib/media_embed/options_handler.rb, line 20 def split_options self.remaining_options = @options_hash.dup self.prioritized_options = remaining_options.delete(@prioritized_options_name) || {} end
transform_synonymous_keys(options)
click to toggle source
# File lib/media_embed/options_handler.rb, line 31 def transform_synonymous_keys(options) Hash[ options.map do |key, value| [ keys_synonym(key), value.is_a?(Hash) ? transform_synonymous_keys(value) : value ] end ] end