Module: Effective::Resources::Klass

Included in:
Effective::Resource
Defined in:
app/models/effective/resources/klass.rb

Instance Method Summary collapse

Instance Method Details

#active_model?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/models/effective/resources/klass.rb', line 38

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

#active_record?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/models/effective/resources/klass.rb', line 34

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

#controller_klassObject



26
27
28
29
30
31
32
# File 'app/models/effective/resources/klass.rb', line 26

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

#datatable_klassObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/effective/resources/klass.rb', line 9

def datatable_klass
  if defined?(EffectiveDatatables)
    "#{controller_path.classify.pluralize}Datatable".safe_constantize ||
    "#{controller_path.classify}Datatable".safe_constantize ||
    "#{namespaced_class_name.pluralize}Datatable".safe_constantize ||
    "#{namespaced_module_name.pluralize}Datatable".safe_constantize ||
    "#{namespaced_class_name.pluralize.gsub('::', '')}Datatable".safe_constantize ||
    "#{class_name.pluralize.camelize}Datatable".safe_constantize ||
    "#{class_name.pluralize.camelize.gsub('::', '')}Datatable".safe_constantize ||
    "#{name.pluralize.camelize}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

#klassObject



5
6
7
# File 'app/models/effective/resources/klass.rb', line 5

def klass
  @model_klass
end