resort 0.4.0 → 0.5.0
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 +4 -4
- data/.ruby-version +1 -0
- data/Readme.md +5 -3
- data/lib/generators/active_record/resort_generator.rb +1 -1
- data/lib/resort.rb +9 -9
- data/lib/resort/version.rb +1 -1
- data/resort.gemspec +1 -1
- metadata +8 -8
- data/.rvmrc +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5d5826e36decbd7ce65e8146ca2b4bdd0798d08
|
4
|
+
data.tar.gz: b2af8aebeedfaa5c721b25dbe8832e7348038608
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7e54325489ea146fc48ec1a4c9d19b72775cbcab8aef1bd00f4323348b6bdbf2b958034df5f81c3189cc44a7eec77e93369ead52b89392c43029f0d047d09e7
|
7
|
+
data.tar.gz: 5d15a4f77afccd8c5be80dfb2b7b71c1bdcd9758374d70057c83ec20133f5226035c659359e16e58271a9b6c266d7b8f0e3d7114adaabe0a5cb5e59b4907fca2
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.1
|
data/Readme.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#resort [](http://travis-ci.org/codegram/resort)
|
2
2
|
|
3
|
-
Resort provides sorting capabilities to your Rails
|
3
|
+
Resort provides sorting capabilities to your Rails models.
|
4
4
|
|
5
5
|
##Install
|
6
6
|
|
@@ -72,8 +72,10 @@ Moreover, now a `product` responds to the following methods:
|
|
72
72
|
|
73
73
|
* `first?` — Returns true if the element is the first of the tree.
|
74
74
|
* `append_to(other_element)` — Appends the element _after_ another element.
|
75
|
-
* `
|
76
|
-
|
75
|
+
* `prepend` — Moves the elemnt to the beggining of the list (sets it as
|
76
|
+
first).
|
77
|
+
* `next` — Returns the next element in the list.
|
78
|
+
* `previous` — Returns the previous element in the list.
|
77
79
|
|
78
80
|
And the class Product has a new scope named `ordered` that returns the
|
79
81
|
products in order.
|
data/lib/resort.rb
CHANGED
@@ -84,7 +84,7 @@ module Resort
|
|
84
84
|
all.where(:next_id => nil).first
|
85
85
|
end
|
86
86
|
|
87
|
-
|
87
|
+
|
88
88
|
# Returns eager-loaded Components in order.
|
89
89
|
#
|
90
90
|
# OPTIMIZE: Use IdentityMap when available
|
@@ -102,7 +102,7 @@ module Resort
|
|
102
102
|
end
|
103
103
|
|
104
104
|
raise "Multiple or no first items in the list where found. Consider defining a siblings method" if ordered_elements.length != 1 && elements.length > 0
|
105
|
-
|
105
|
+
|
106
106
|
elements.length.times do
|
107
107
|
ordered_elements << elements[ordered_elements.last.next_id]
|
108
108
|
end
|
@@ -144,7 +144,7 @@ module Resort
|
|
144
144
|
self.class.transaction do
|
145
145
|
self.lock!
|
146
146
|
_siblings.count > 0 ? last!\
|
147
|
-
|
147
|
+
: prepend
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
@@ -156,8 +156,8 @@ module Resort
|
|
156
156
|
if _siblings.count > 0
|
157
157
|
delete_from_list
|
158
158
|
old_first = _siblings.first_in_order
|
159
|
-
raise(ActiveRecord::RecordNotSaved) unless self.update_attribute(:next_id, old_first.id)
|
160
|
-
raise(ActiveRecord::RecordNotSaved) unless old_first.update_attribute(:first, false)
|
159
|
+
raise(ActiveRecord::RecordNotSaved.new("[Resort] - Couldn't set next_id from previous first element.")) unless self.update_attribute(:next_id, old_first.id)
|
160
|
+
raise(ActiveRecord::RecordNotSaved.new("[Resort] - Couldn't reset previous firt element")) unless old_first.update_attribute(:first, false)
|
161
161
|
end
|
162
162
|
raise(ActiveRecord::RecordNotSaved) unless self.update_attribute(:first, true)
|
163
163
|
end
|
@@ -179,10 +179,10 @@ module Resort
|
|
179
179
|
another.lock!
|
180
180
|
delete_from_list
|
181
181
|
if self.next_id or (another && another.next_id)
|
182
|
-
raise(ActiveRecord::RecordNotSaved) unless self.update_attribute(:next_id, another.next_id)
|
182
|
+
raise(ActiveRecord::RecordNotSaved.new("[Resort] - Couldn't append element")) unless self.update_attribute(:next_id, another.next_id)
|
183
183
|
end
|
184
184
|
if another
|
185
|
-
raise(ActiveRecord::RecordNotSaved) unless another.update_attribute(:next_id, self.id)
|
185
|
+
raise(ActiveRecord::RecordNotSaved.new("[Resort] - Couldn't set this element to another's next")) unless another.update_attribute(:next_id, self.id)
|
186
186
|
end
|
187
187
|
end
|
188
188
|
end
|
@@ -200,8 +200,8 @@ module Resort
|
|
200
200
|
raise(ActiveRecord::RecordNotSaved) unless p.update_attribute(:next_id, self.next_id)
|
201
201
|
end
|
202
202
|
unless frozen?
|
203
|
-
self.first = false
|
204
|
-
self.next = nil
|
203
|
+
self.first = false
|
204
|
+
self.next = nil
|
205
205
|
save!
|
206
206
|
end
|
207
207
|
end
|
data/lib/resort/version.rb
CHANGED
data/resort.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.rubyforge_project = "resort"
|
16
16
|
|
17
|
-
s.add_runtime_dependency 'activerecord', '
|
17
|
+
s.add_runtime_dependency 'activerecord', '~> 4'
|
18
18
|
s.add_development_dependency 'sqlite3'
|
19
19
|
s.add_development_dependency 'rspec', '~> 2.14.1'
|
20
20
|
s.add_development_dependency 'yard'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resort
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oriol Gual
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-04-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 4
|
21
|
+
version: '4'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 4
|
28
|
+
version: '4'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: sqlite3
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +105,7 @@ extra_rdoc_files: []
|
|
105
105
|
files:
|
106
106
|
- ".gitignore"
|
107
107
|
- ".rspec"
|
108
|
-
- ".
|
108
|
+
- ".ruby-version"
|
109
109
|
- ".travis.yml"
|
110
110
|
- Gemfile
|
111
111
|
- LICENSE
|
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
138
|
version: '0'
|
139
139
|
requirements: []
|
140
140
|
rubyforge_project: resort
|
141
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.4.5
|
142
142
|
signing_key:
|
143
143
|
specification_version: 4
|
144
144
|
summary: Positionless model sorting for Rails 3.
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm --create use ruby-2.1.1@resort
|