Class: Spree::Api::VariantsController
Instance Attribute Summary
#current_api_user
Instance Method Summary
collapse
#map_nested_attributes_keys, #permitted_line_item_attributes, #set_jsonp_format
included
Instance Method Details
#create ⇒ Object
7
8
9
10
11
12
13
14
15
|
# File 'app/controllers/spree/api/variants_controller.rb', line 7
def create
authorize! :create, Variant
@variant = scope.new(variant_params)
if @variant.save
respond_with(@variant, status: 201, default_template: :show)
else
invalid_resource!(@variant)
end
end
|
#destroy ⇒ Object
17
18
19
20
21
|
# File 'app/controllers/spree/api/variants_controller.rb', line 17
def destroy
@variant = scope.accessible_by(current_ability, :destroy).find(params[:id])
@variant.destroy
respond_with(@variant, status: 204)
end
|
#index ⇒ Object
23
24
25
26
27
|
# File 'app/controllers/spree/api/variants_controller.rb', line 23
def index
@variants = scope.includes(:option_values).ransack(params[:q]).result.
page(params[:page]).per(params[:per_page])
respond_with(@variants)
end
|
#new ⇒ Object
29
30
|
# File 'app/controllers/spree/api/variants_controller.rb', line 29
def new
end
|
#show ⇒ Object
32
33
34
35
|
# File 'app/controllers/spree/api/variants_controller.rb', line 32
def show
@variant = scope.includes(:option_values).find(params[:id])
respond_with(@variant)
end
|
#update ⇒ Object
37
38
39
40
41
42
43
44
|
# File 'app/controllers/spree/api/variants_controller.rb', line 37
def update
@variant = scope.accessible_by(current_ability, :update).find(params[:id])
if @variant.update_attributes(variant_params)
respond_with(@variant, status: 200, default_template: :show)
else
invalid_resource!(@product)
end
end
|