module Spree::Core::ControllerHelpers::RespondWith::ClassMethods

Public Instance Methods

clear_overrides!() click to toggle source
# File lib/solidus_responders/controller_helpers/respond_with.rb, line 34
def clear_overrides!
  self.spree_responders = {}
end
respond_override(options = {}) click to toggle source
# File lib/solidus_responders/controller_helpers/respond_with.rb, line 38
def respond_override(options = {})
  unless options.blank?
    action_name = options.keys.first
    action_value = options.values.first

    if action_name.blank? || action_value.blank?
      raise ArgumentError, "invalid values supplied #{options.inspect}"
    end

    format_name = action_value.keys.first
    format_value = action_value.values.first

    if format_name.blank? || format_value.blank?
      raise ArgumentError, "invalid values supplied #{options.inspect}"
    end

    if format_value.is_a?(Proc)
      options = { action_name.to_sym => { format_name.to_sym => { success: format_value } } }
    end

    spree_responders.deep_merge!(name.to_sym => options)
  end
end