Class: Spree::Api::BaseController

Inherits:
ActionController::Base
  • Object
show all
Includes:
ControllerSetup, Core::ControllerHelpers::SSL, Core::ControllerHelpers::Store, Core::ControllerHelpers::StrongParameters
Defined in:
app/controllers/spree/api/base_controller.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ControllerSetup

included

Instance Attribute Details

#current_api_userObject

Returns the value of attribute current_api_user.



11
12
13
# File 'app/controllers/spree/api/base_controller.rb', line 11

def current_api_user
  @current_api_user
end

Instance Method Details

#map_nested_attributes_keys(klass, attributes) ⇒ Object



39
40
41
42
43
44
45
46
# File 'app/controllers/spree/api/base_controller.rb', line 39

def map_nested_attributes_keys(klass, attributes)
  nested_keys = klass.nested_attributes_options.keys
  attributes.inject({}) do |h, (k,v)|
    key = nested_keys.include?(k.to_sym) ? "#{k}_attributes" : k
    h[key] = v
    h
  end.with_indifferent_access
end

#permitted_line_item_attributesObject

users should be able to set price when importing orders via api



49
50
51
52
53
54
55
# File 'app/controllers/spree/api/base_controller.rb', line 49

def permitted_line_item_attributes
  if @current_user_roles.include?("admin")
    super << [:price, :variant_id, :sku]
  else
    super
  end
end

#set_jsonp_formatObject



32
33
34
35
36
37
# File 'app/controllers/spree/api/base_controller.rb', line 32

def set_jsonp_format
  if params[:callback] && request.get?
    self.response_body = "#{params[:callback]}(#{response.body})"
    headers["Content-Type"] = 'application/javascript'
  end
end