def field(repository_name = Undefined)
self_repository_name = self.repository_name
klass = self.class
unless repository_name.equal?(Undefined)
warn "Passing in +repository_name+ to #{klass}#field is deprecated (#{caller[0]})"
if repository_name != self_repository_name
raise ArgumentError, "Mismatching +repository_name+ with #{klass}#repository_name (#{repository_name.inspect} != #{self_repository_name.inspect})"
end
end
@field ||= model.field_naming_convention(self_repository_name).call(self).freeze
end