Module: LinkedRails::Model::ClassMethods

Defined in:
lib/linked_rails/model.rb

Instance Method Summary collapse

Instance Method Details

#build_new(parent: nil, user_context: nil) ⇒ Object

Raises:

  • (ActiveRecord::RecordNotFound)


40
41
42
43
44
# File 'lib/linked_rails/model.rb', line 40

def build_new(parent: nil, user_context: nil)
  raise(ActiveRecord::RecordNotFound) if try(:abstract_class?)

  new(**attributes_for_new(parent: parent, user_context: user_context))
end

#controller_classObject



46
47
48
# File 'lib/linked_rails/model.rb', line 46

def controller_class
  @controller_class ||= "#{to_s.pluralize}Controller".safe_constantize || superclass.try(:controller_class)
end

#form_classObject



50
51
52
# File 'lib/linked_rails/model.rb', line 50

def form_class
  @form_class ||= "#{name}Form".safe_constantize || superclass.try(:form_class)
end

#labelObject



54
55
56
57
# File 'lib/linked_rails/model.rb', line 54

def label
  obj = iri.is_a?(Array) ? iri.first : iri
  LinkedRails.translate(:class, :label, obj) if obj
end

#plural_labelObject



59
60
61
62
# File 'lib/linked_rails/model.rb', line 59

def plural_label
  obj = iri.is_a?(Array) ? iri.first : iri
  LinkedRails.translate(:class, :plural_label, obj) if obj
end

#policy_classObject



64
65
66
# File 'lib/linked_rails/model.rb', line 64

def policy_class
  @policy_class ||= "#{name}Policy".safe_constantize || superclass.try(:policy_class)
end