Sha256: b2834983c5eed32c885f46a798ee70e654d6a4751ffa06744b9cde54a4a1f5ab

Contents?: true

Size: 1011 Bytes

Versions: 62

Compression:

Stored size: 1011 Bytes

Contents

module Ecom
  module Core
    module Lookupable
      extend ActiveSupport::Concern

      included do
        before_action :set_clazz
      end

      def index
        render json: LookupSerializer.new(@clazz.all)
      end

      def create
        lookup = @clazz.new(lookup_params)
        if lookup.save
          render json: LookupSerializer.new(lookup), status: :created
        else
          render json: { success: false, errors: lookup.errors }, status: :unprocessable_entity
        end
      end

      def update
        lookup = @clazz.find(params[:id])
        if lookup.update(lookup_params)
          render json: LookupSerializer.new(lookup)
        else
          render json: { success: false, errors: lookup.errors }, status: :unprocessable_entity
        end
      end


      private

      def set_clazz
        @clazz = "Ecom::Core::#{controller_name.classify}".constantize
      end

      def lookup_params
        params.require(:lookup).permit(:name)
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
ecom_core-1.2.12 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.11 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.10 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.9 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.7 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.6 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.5 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.4 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.3 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.2 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.1 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.2.0 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.28 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.27 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.26 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.25 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.24 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.23 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.22 app/controllers/concerns/ecom/core/lookupable.rb
ecom_core-1.1.21 app/controllers/concerns/ecom/core/lookupable.rb