Sha256: 86a970744016dd5a672b3c5fae0e59da03c54a872abb4c186e2f7fcdd31df6b7
Contents?: true
Size: 1.18 KB
Versions: 4
Compression:
Stored size: 1.18 KB
Contents
module Spree module Api class ZonesController < Spree::Api::BaseController def create authorize! :create, Spree::Zone @zone = Spree::Zone.new(map_nested_attributes_keys(Spree::Zone, params[:zone])) if @zone.save respond_with(@zone, :status => 201, :default_template => :show) else invalid_resource!(@zone) end end def destroy authorize! :destroy, zone zone.destroy respond_with(zone, :status => 204) end def index @zones = Spree::Zone.accessible_by(current_ability, :read).order('name ASC').ransack(params[:q]).result.page(params[:page]).per(params[:per_page]) respond_with(@zones) end def show respond_with(zone) end def update authorize! :update, zone if zone.update_attributes(map_nested_attributes_keys(Spree::Zone, params[:zone])) respond_with(zone, :status => 200, :default_template => :show) else invalid_resource!(zone) end end private def zone @zone ||= Spree::Zone.accessible_by(current_ability, :read).find(params[:id]) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems