positioning 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2863317333ca4e36b7c8aecb178fb38f4489fc4dd76eb771c053769eb82cfbe2
4
- data.tar.gz: 13ad7808c1beb5ffaff7d97849b48e194915eeb043e541254843bb22ecfc167d
3
+ metadata.gz: 1a18c3175781c6d4509ea42db1583e68bb2e7258e9c0b99201b1b551fc50ccd7
4
+ data.tar.gz: 8ceb46c8c93882d2e82e88f4d9c5bcafb3371830dd6d5169cf23dd76d8ba6cd0
5
5
  SHA512:
6
- metadata.gz: dfcf0d2652e7c9e7ac65e5a1c885edae966ec0d7bc7119b3691c13b2c34c8ad434c6a7e8590e0ff76e550000cddd8cc3b2b2daf72b0626803d988ed21d6e8d7c
7
- data.tar.gz: bcdd1517650a8327eaa63ebed37bdcf2cc236beaad383eed23c3e063dfca1031c00714acf99542e8dca0d7320a53fcba6181da24f1e60fe0e4c706e870dd23ae
6
+ metadata.gz: 19ced8dddfaefd60c644f19ac576513185e5f3dfa52e8aaabab59f390042f1937bfd3f24874bd228012b337f9f843963b6261b25133d5d1d54f2d606d5c08b7a
7
+ data.tar.gz: ac66e6a3eeb7ab20d54511640c9c1e1e20090b9cd0d01cf583031944d42e7f517dc603afc9b59b49c35617a437f5ebbdbf406e0b1cc71beff3413fd8cf73d76b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.5] - 2024-03-04
4
+
5
+ - Allow empty strings to represent nil for the purposes of solidifying a position
6
+
3
7
  ## [0.1.4] - 2024-03-04
4
8
 
5
9
  - Fix bug relating to relative position hash coming from Rails being a Hash With Indifferent Access
@@ -103,9 +103,9 @@ module Positioning
103
103
  case position_before_type_cast
104
104
  when Integer
105
105
  self.position = position_before_type_cast.clamp(1..last_position)
106
- when :first, {after: nil}
106
+ when :first, {after: nil}, {after: ""}
107
107
  self.position = 1
108
- when nil, :last, {before: nil}
108
+ when nil, "", :last, {before: nil}, {before: ""}
109
109
  self.position = last_position
110
110
  when Hash
111
111
  relative_position, relative_record_or_primary_key = *position_before_type_cast.first
@@ -135,8 +135,9 @@ module Positioning
135
135
 
136
136
  unless position.is_a? Integer
137
137
  raise Error.new,
138
- "`#{@column}` must be an Integer, :first, :last, before: #{base_class.name}, " \
139
- "after: #{base_class.name}, or nil"
138
+ %(`#{@column}` must be an Integer, :first, :last, ) +
139
+ %{before: (#{base_class.name}, #{primary_key_column}, nil, or ""), } +
140
+ %{after: (#{base_class.name}, #{primary_key_column}, nil or ""), nil or ""}
140
141
  end
141
142
  end
142
143
 
@@ -1,3 +1,3 @@
1
1
  module Positioning
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: positioning
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brendon Muir