class Rohbau::Index::Validator

Public Class Methods

new(memory) click to toggle source
# File lib/rohbau/index.rb, line 126
def initialize(memory)
  @memory = memory
end

Public Instance Methods

validate_add(entity) click to toggle source
# File lib/rohbau/index.rb, line 130
def validate_add(entity)
  ensure_entity!(entity)
  ensure_entity_has_no_uid!(entity)
end
validate_add_with_uid(entity) click to toggle source
# File lib/rohbau/index.rb, line 135
def validate_add_with_uid(entity)
  ensure_entity!(entity)
  ensure_entity_has_uid!(entity)
  ensure_uid_type!(entity.uid)
end
validate_delete(uid) click to toggle source
# File lib/rohbau/index.rb, line 152
def validate_delete(uid)
  ensure_uid_exists!(uid)
end
validate_get(uid) click to toggle source
# File lib/rohbau/index.rb, line 141
def validate_get(uid)
  ensure_uid!(uid)
  ensure_uid_type!(uid)
end
validate_update(entity) click to toggle source
# File lib/rohbau/index.rb, line 146
def validate_update(entity)
  ensure_entity!(entity)
  ensure_entity_has_uid!(entity)
  ensure_entity_exists!(entity)
end

Private Instance Methods

argument_error(error, object = nil) click to toggle source
# File lib/rohbau/index.rb, line 200
def argument_error(error, object = nil)
  message = "#{self.class.inspect}: #{error}"
  message += ": #{object.inspect}" if object
  ArgumentError.new(message)
end
ensure_entity!(entity) click to toggle source
# File lib/rohbau/index.rb, line 170
def ensure_entity!(entity)
  if entity.nil?
    raise argument_error('entity is invalid', entity)
  end
end
ensure_entity_exists!(entity) click to toggle source
# File lib/rohbau/index.rb, line 188
def ensure_entity_exists!(entity)
  unless @memory.has_uid?(entity.uid)
    raise argument_error('entity is unknown', entity)
  end
end
ensure_entity_has_no_uid!(entity) click to toggle source
# File lib/rohbau/index.rb, line 182
def ensure_entity_has_no_uid!(entity)
  if entity.uid
    raise argument_error('entity has uid', entity)
  end
end
ensure_entity_has_uid!(entity) click to toggle source
# File lib/rohbau/index.rb, line 176
def ensure_entity_has_uid!(entity)
  unless entity.uid
    raise argument_error('entity has no uid', entity)
  end
end
ensure_uid!(uid) click to toggle source
# File lib/rohbau/index.rb, line 158
def ensure_uid!(uid)
  if uid.nil?
    raise argument_error('uid is missing')
  end
end
ensure_uid_exists!(uid) click to toggle source
# File lib/rohbau/index.rb, line 194
def ensure_uid_exists!(uid)
  unless @memory.has_uid?(uid)
    raise argument_error('uid is unknown', uid)
  end
end
ensure_uid_type!(uid) click to toggle source
# File lib/rohbau/index.rb, line 164
def ensure_uid_type!(uid)
  if !uid.kind_of?(String) || uid.size == 0
    raise argument_error('uid is invalid', uid)
  end
end