Module: Spree::Core::ControllerHelpers::RespondWith::ClassMethods Private

Defined in:
lib/spree/core/controller_helpers/respond_with.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Instance Method Summary (collapse)

Instance Method Details

- (Object) clear_overrides!

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



34
35
36
# File 'lib/spree/core/controller_helpers/respond_with.rb', line 34

def clear_overrides!
  self.spree_responders = {}
end

- (Object) respond_override(options = {})

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/spree/core/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