def load_options(*required_options, options)
      # Load required options
      required_options.each { |o| options = load_option(o, options) }

      # Load remaining options
      options.each_key  { |k| options = load_option(k, options) }

      block_given? ? yield : options
    end
def load_options(*required_options, options)
      # Load required options
      required_options.each { |o| options = load_option(o, options) }

      # Load remaining options
      options.each_key  { |k| options = load_option(k, options) }

      block_given? ? yield : options
    end
Load instance variables from the provided hash of dependencies.

 Raises if any required dependencies (+required_options+) are missing from +options+ hash.
 Optionally, takes and yields a block after loading options. Use this to validate dependencies.

 @param [List<String,Symbol>]
   option_names list of keys representing required dependencies

 @param [Hash]
   options A hash of dependencies

 @public