Sha256: 4d98b741182f14f59f2ea467683a75384b3d06c5d6a4eff77c6c71902ed2cf4a

Contents?: true

Size: 1.51 KB

Versions: 1

Compression:

Stored size: 1.51 KB

Contents

module Effective
  module Resources
    module Klass

      def klass
        @model_klass
      end

      def datatable_klass
        if defined?(EffectiveDatatables)
          "#{namespaced_class_name.pluralize}Datatable".safe_constantize ||
          "#{class_name.pluralize.camelize}Datatable".safe_constantize ||
          "#{name.pluralize.camelize}Datatable".safe_constantize ||
          "#{namespaced_class_name.pluralize.gsub('::', '')}Datatable".safe_constantize ||
          "#{class_name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
          "#{name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
          "Effective::Datatables::#{namespaced_class_name.pluralize}".safe_constantize ||
          "Effective::Datatables::#{class_name.pluralize.camelize}".safe_constantize ||
          "Effective::Datatables::#{name.pluralize.camelize}".safe_constantize
        end
      end

      def controller_klass
        "#{namespaced_class_name.pluralize}Controller".safe_constantize ||
        "#{class_name.pluralize.classify}Controller".safe_constantize ||
        "#{name.pluralize.classify}Controller".safe_constantize ||
        "#{initialized_name.to_s.classify.pluralize}Controller".safe_constantize ||
        "#{initialized_name.to_s.classify}Controller".safe_constantize
      end

      def active_record?
        klass && klass.ancestors.include?(ActiveRecord::Base)
      end

      def active_model?
        klass && klass.ancestors.include?(ActiveModel::Model)
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
effective_resources-1.6.0 app/models/effective/resources/klass.rb