module ArtirixDataModels::Model::PartialMode

Public Instance Methods

force_partial_mode_fields(fields) click to toggle source
# File lib/artirix_data_models/model.rb, line 427
def force_partial_mode_fields(fields)
  @_forced_partial_mode_fields = fields.map &:to_s
end
forced_partial_mode_fields?() click to toggle source
# File lib/artirix_data_models/model.rb, line 435
def forced_partial_mode_fields?
  !!@_forced_partial_mode_fields && @_forced_partial_mode_fields.present?
end
full_mode?() click to toggle source
# File lib/artirix_data_models/model.rb, line 406
def full_mode?
  if @_full_mode.nil?
    self.class.default_full_mode?
  else
    @_full_mode
  end
end
mark_full_mode() click to toggle source
# File lib/artirix_data_models/model.rb, line 414
def mark_full_mode
  @_full_mode = true
end
mark_partial_mode() click to toggle source
# File lib/artirix_data_models/model.rb, line 418
def mark_partial_mode
  @_full_mode = false
end
partial_mode?() click to toggle source
# File lib/artirix_data_models/model.rb, line 402
def partial_mode?
  !full_mode?
end
reload_model!() click to toggle source
# File lib/artirix_data_models/model.rb, line 422
def reload_model!
  dao.reload(self)
  self
end
reload_with(new_data) click to toggle source
# File lib/artirix_data_models/model.rb, line 397
def reload_with(new_data)
  _set_properties new_data
  self
end
unforce_partial_mode_fields() click to toggle source
# File lib/artirix_data_models/model.rb, line 431
def unforce_partial_mode_fields
  @_forced_partial_mode_fields = nil
end

Private Instance Methods

in_partial_mode_field?(attribute) click to toggle source
# File lib/artirix_data_models/model.rb, line 440
def in_partial_mode_field?(attribute)
  return true if self.class.is_always_in_partial_mode?(attribute)

  list = forced_partial_mode_fields? ? @_forced_partial_mode_fields : dao.partial_mode_fields
  list.include?(attribute.to_s) || list.include?(attribute.to_sym)
end
nil_attribute(attribute) click to toggle source
# File lib/artirix_data_models/model.rb, line 447
def nil_attribute(attribute)
  return nil if full_mode? || in_partial_mode_field?(attribute)
  reload_model!
  send(attribute)
end