class Shiftable::ShiftingRecord

Gets data to be shifted

Public Instance Methods

found?() click to toggle source
# File lib/shiftable/shifting_record.rb, line 6
def found?
  !!result
end
shift() { || ... } click to toggle source

@return true, false

# File lib/shiftable/shifting_record.rb, line 11
def shift
  return false unless found?

  result.send("#{column}=", to.id)
  @run_save = yield if block_given?
  return nil unless run_save

  run_save!
end

Private Instance Methods

do_save() click to toggle source
# File lib/shiftable/shifting_record.rb, line 33
def do_save
  if shift_each_wrapper
    shift_each_wrapper.call(self, result) do
      bang ? result.save! : result.save
    end
  else
    bang ? result.save! : result.save
  end
end
query() click to toggle source
# File lib/shiftable/shifting_record.rb, line 43
def query
  base.find_by(column => from.id)
end
run_save!() click to toggle source
# File lib/shiftable/shifting_record.rb, line 23
def run_save!
  if shift_all_wrapper
    shift_all_wrapper.call(self) do
      do_save
    end
  else
    do_save
  end
end