acts_as_positioned 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 819a27e3d8d9285287dbe10dfb2185d3e0a1efee
4
- data.tar.gz: 5516a75100c59844cf19a52ac92b3164a029d981
2
+ SHA256:
3
+ metadata.gz: 799eb208f9f60590a35f0ee65026162868b8cbebcf99398dff5e544479370852
4
+ data.tar.gz: 63f0524ba9f67c36e8b6001ad7e4eb25426b92258af63275d037ccd1a15d8e04
5
5
  SHA512:
6
- metadata.gz: a1e97ab6a6a4983ca04fb6c8afe53f3411f3a270c5d299fc0bb13ed5a6be3e8d0118dcbfa0d8cacf871cef6451c556f3038dc73b7823f3162cc943741b2e3331
7
- data.tar.gz: 0247be198970593479b415940b1c3f1af3beb05b6699805b5437d5540f8ad3f6cf6609b3276cc5318cd4a16dd0d13dd1a8e16b65e90917ef4f5cf7cfcbec8f63
6
+ metadata.gz: 536d83b9bb8e85d5ddb6d5cba419da7480312ed9be8283696c4acce1784db688d9ede39a63a886526a87086ee4bb2a5b52891d0daa77a71b031f978baa3231c4
7
+ data.tar.gz: d962243e15580e651fc6024c3c55f517c1ffb8f9e0711202bd9cb628c62ad75c6b5786d8e9f56870e26f3cf80ed2f4000e3628742265028177f50b74ba897b6e
data/README.md CHANGED
@@ -52,7 +52,7 @@ Suppose you have these records (for all examples this is the starting point):
52
52
  The existing records with position greater than or equal to 1 will have their
53
53
  position increased by 1 and the new record (with id 4) is inserted:
54
54
 
55
- Post.create(position: 2)
55
+ Post.create(position: 1)
56
56
 
57
57
  id | position
58
58
  ---+---------
@@ -36,11 +36,15 @@ module ActsAsPositioned
36
36
  end
37
37
 
38
38
  def aap_insert_position(column, scope_columns)
39
+ return if send(column).nil?
40
+
39
41
  scope = aap_scope(column, scope_columns, false)
40
42
  aap_execute_query(column, scope.where(scope.arel_table[column].gteq(send(column))), true)
41
43
  end
42
44
 
43
45
  def aap_remove_position(column, scope_columns)
46
+ return if send("#{column}_was").nil?
47
+
44
48
  scope = aap_scope(column, scope_columns, true)
45
49
  aap_execute_query(column, scope.where(scope.arel_table[column].gt(send("#{column}_was"))), false)
46
50
  end
@@ -81,7 +85,7 @@ module ActsAsPositioned
81
85
  end
82
86
 
83
87
  def aap_validate_position(column, scope_columns)
84
- return if errors[column].present? || (changes.keys & ([column] + scope_columns)).empty?
88
+ return if send(column).nil? || errors[column].present? || (changes.keys & ([column] + scope_columns)).empty?
85
89
 
86
90
  scope = aap_scope(column, scope_columns, false)
87
91
  options = { attributes: column, allow_nil: true, greater_than_or_equal_to: 0, only_integer: true,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_positioned
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Walter Horstman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-03 00:00:00.000000000 Z
11
+ date: 2018-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.5.2
115
+ rubygems_version: 2.7.6
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: Lightweight ordering of models in ActiveRecord 3 or higher