Module: Schedulable::ClassMethods

Defined in:
app/models/concerns/schedulable.rb

Overview

Class-level DSL added to every ApplicationRecord.

Has one collapse

Instance Method Summary collapse

Instance Method Details

#acts_as_schedulable(name = :schedule) ⇒ void

This method returns an undefined value.

Declares a polymorphic has_one association to a Schedule record
and permits nested attributes for it.

Parameters:

  • name (Symbol) (defaults to: :schedule)

    the association name



42
43
44
45
46
47
48
49
50
51
# File 'app/models/concerns/schedulable.rb', line 42

def acts_as_schedulable(name = :schedule)
  name = name.to_sym
  # Rails already constrains a polymorphic `has_one` by `schedulable_type`,
  # so no explicit type scope is needed (the gem carried a redundant one).
  has_one name,
          as: :schedulable,
          dependent: :destroy,
          class_name: 'Schedule'
  accepts_nested_attributes_for name
end

#nameSchedule

Rails already constrains a polymorphic has_one by schedulable_type,
so no explicit type scope is needed (the gem carried a redundant one).

Returns:

See Also:



46
47
48
49
# File 'app/models/concerns/schedulable.rb', line 46

has_one name,
as: :schedulable,
dependent: :destroy,
class_name: 'Schedule'