lib/positioning/mechanisms.rb in positioning-0.1.4 vs lib/positioning/mechanisms.rb in positioning-0.1.5

- old
+ new

@@ -101,13 +101,13 @@ position_before_type_cast = position_before_type_cast.symbolize_keys if position_before_type_cast.is_a? Hash case position_before_type_cast when Integer self.position = position_before_type_cast.clamp(1..last_position) - when :first, {after: nil} + when :first, {after: nil}, {after: ""} self.position = 1 - when nil, :last, {before: nil} + when nil, "", :last, {before: nil}, {before: ""} self.position = last_position when Hash relative_position, relative_record_or_primary_key = *position_before_type_cast.first unless [:before, :after].include? relative_position @@ -133,11 +133,12 @@ self.position = solidified_position end unless position.is_a? Integer raise Error.new, - "`#{@column}` must be an Integer, :first, :last, before: #{base_class.name}, " \ - "after: #{base_class.name}, or nil" + %(`#{@column}` must be an Integer, :first, :last, ) + + %{before: (#{base_class.name}, #{primary_key_column}, nil, or ""), } + + %{after: (#{base_class.name}, #{primary_key_column}, nil or ""), nil or ""} end end def last_position (positioning_scope.maximum(@column) || 0) + (in_positioning_scope? ? 0 : 1)