Sha256: cae4baad3a10e4cd670cfabf3fee14b12286ee9a38e1ac4c47900b28718b2258

Contents?: true

Size: 818 Bytes

Versions: 1

Compression:

Stored size: 818 Bytes

Contents

module ControllerResourceClass
  module Able
    extend ActiveSupport::Concern

    def resource_class
      self.class.resource_class
    end
    helper_method :resource_class

    module ClassMethods
      def set_resource_class(value)
        self.resource_class_name = value
      end

      def resource_class
        return nil if resource_class_name == false
        self.resource_class_name = Controller.new(self).resource_class_name unless resource_class_name
        resource_class_name.constantize
      end

    private
      def resource_class_name=(value)
        @resource_class_name = case value
          when false then false
          when String, Class then String(value)
          else 
        end
      end

      def resource_class_name
        @resource_class_name
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
controller_resource_class-0.0.2 lib/controller_resource_class/able.rb