ranked-model 0.0.2 → 0.0.3
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.
- data/Readme.mkd +10 -3
- data/lib/ranked-model.rb +1 -0
- data/lib/ranked-model/version.rb +1 -1
- data/spec/duck-model/duck_spec.rb +17 -0
- metadata +5 -5
data/Readme.mkd
CHANGED
@@ -84,10 +84,11 @@ Internals
|
|
84
84
|
|
85
85
|
This libarary is written using ARel from the ground-up. This leaves the code much cleaner
|
86
86
|
than many implementations. ranked-model is also optimized to write to the database as little
|
87
|
-
as possible: ranks are stored as a number between
|
87
|
+
as possible: ranks are stored as a number between -8388607 and 8388607 (the MEDIUMINT range in MySQL).
|
88
88
|
When an item is given a new position, it assigns itself a rank number between two neighbors.
|
89
|
-
This allows several movements of items before no digits are available between
|
90
|
-
this occurs, ranked-model will
|
89
|
+
This allows several movements of items before no digits are available between two neighbors. When
|
90
|
+
this occurs, ranked-model will try to shift other records out of the way. If items can't be easily
|
91
|
+
shifted anymore, it will rebalance the distribution of rank numbers across all memebers
|
91
92
|
of the ranked group.
|
92
93
|
|
93
94
|
Contributing
|
@@ -96,3 +97,9 @@ Contributing
|
|
96
97
|
Fork, clone, write a test, write some code, commit, push, send a pull request. Github FTW!
|
97
98
|
|
98
99
|
This project was open-sourced by [Harvest](http://getharvest.com/). [We're hiring!](http://www.getharvest.com/careers)
|
100
|
+
|
101
|
+
A hearty thanks to these contributors:
|
102
|
+
|
103
|
+
* [yabawock](https://github.com/yabawock)
|
104
|
+
* [AndrewRadev](https://github.com/AndrewRadev/ranked-model)
|
105
|
+
|
data/lib/ranked-model.rb
CHANGED
data/lib/ranked-model/version.rb
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
+
describe Duck do
|
4
|
+
|
5
|
+
before {
|
6
|
+
@duck = Duck.new
|
7
|
+
}
|
8
|
+
|
9
|
+
subject { @duck }
|
10
|
+
|
11
|
+
it { subject.respond_to?(:row_position).should be_true }
|
12
|
+
it { subject.respond_to?(:row_position=).should be_true }
|
13
|
+
it { subject.respond_to?(:size_position).should be_true }
|
14
|
+
it { subject.respond_to?(:size_position=).should be_true }
|
15
|
+
it { subject.respond_to?(:age_position).should be_true }
|
16
|
+
it { subject.respond_to?(:age_position=).should be_true }
|
17
|
+
|
18
|
+
end
|
19
|
+
|
3
20
|
describe Duck do
|
4
21
|
|
5
22
|
before {
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ranked-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matthew Beale
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-27 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
165
|
requirements: []
|
166
166
|
|
167
167
|
rubyforge_project:
|
168
|
-
rubygems_version: 1.
|
168
|
+
rubygems_version: 1.6.2
|
169
169
|
signing_key:
|
170
170
|
specification_version: 3
|
171
171
|
summary: An acts_as_sortable replacement built for Rails 3
|