Sha256: 217d3ad27f4d716744119a1190e9330edd142e0a57eed4a00362722508d07367

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

module Spree
  module Api
    class CountiesController < Spree::Api::BaseController
      skip_before_filter :set_expiry
      skip_before_filter :check_for_user_or_api_key
      skip_before_filter :authenticate_user

      def index
        @counties = scope.ransack(params[:q]).result.
                    includes(:state).order('name ASC')

        if params[:page] || params[:per_page]
          @counties = @counties.page(params[:page]).per(params[:per_page])
        end

        county = @counties.last
        if stale?(county)
          respond_with(@counties)
        end
      end

      def show
        @county = scope.find(params[:id])
        respond_with(@county)
      end

      private
        def scope
          if params[:state_id]
            @state = Spree::State.accessible_by(current_ability, :read).find(params[:state_id])
            return @state.counties.accessible_by(current_ability, :read)
          else
            return Spree::County.accessible_by(current_ability, :read)
          end
        end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
spree_counties-3.0.4 app/controllers/spree/api/counties_controller.rb
spree_counties-3.0.1 app/controllers/spree/api/counties_controller.rb
spree_counties-3.0.0 app/controllers/spree/api/counties_controller.rb
spree_counties-2.3.6 app/controllers/spree/api/counties_controller.rb
spree_counties-2.3.5 app/controllers/spree/api/counties_controller.rb
spree_counties-1.0.0 app/controllers/spree/api/counties_controller.rb