class Composable::Core::ComposableDSL::Composable::Sync
Attributes
conditions[R]
from[R]
to[R]
Public Class Methods
new(from:)
click to toggle source
# File lib/composable/core/composable_dsl.rb, line 143 def initialize(from:) @from = from.to_sym @conditions = Conditions.new end
Public Instance Methods
initialize_copy(original_object)
click to toggle source
# File lib/composable/core/composable_dsl.rb, line 148 def initialize_copy(original_object) @conditions = original_object.conditions.deep_dup end
merge(to:, **options)
click to toggle source
# File lib/composable/core/composable_dsl.rb, line 152 def merge(to:, **options) @to = to.to_sym conditions.merge(**options) end
sync(form, record, reverse: false)
click to toggle source
# File lib/composable/core/composable_dsl.rb, line 158 def sync(form, record, reverse: false) if reverse form.send("#{from}=", record.send(to)) else value = form.send(from) record.send("#{to}=", value) if conditions.valid?(form, record) end end