class Composable::Form::Command

Public Class Methods

composable(attribute, model: nil, **options, &block) click to toggle source
Calls superclass method
# File lib/composable/form/command.rb, line 19
def composable(attribute, model: nil, **options, &block)
  super(attribute, **options, &block)

  return unless model

  define_singleton_method(:model_name) do
    ActiveModel::Name.new(model)
  end

  delegate :id, :persisted?, :new_record?, to: attribute.to_sym, allow_nil: true
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/composable/form/command.rb, line 14
def inherited(subclass)
  super
  subclass.prepend(Core::Command)
end

Public Instance Methods

call() click to toggle source
# File lib/composable/form/command.rb, line 32
def call
  return unless valid?

  run_callbacks :save do
    save_composables { save }
  end
end
new_record?() click to toggle source
# File lib/composable/form/command.rb, line 44
def new_record?
  true
end
persisted?() click to toggle source
# File lib/composable/form/command.rb, line 40
def persisted?
  false
end

Private Instance Methods

save() click to toggle source
# File lib/composable/form/command.rb, line 50
def save
end