load_more 0.0.1 → 0.0.2
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/README.rdoc +28 -1
- data/lib/load_more/version.rb +1 -1
- data/lib/load_more.rb +25 -2
- metadata +1 -2
- data/lib/tasks/load_more_tasks.rake +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e63629829b740f9fc5a8a872349ce0e5052c882c
|
4
|
+
data.tar.gz: d3ad74aab0c7ecf587c6d452a64d90cd375bd5df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cac9267ef75ca044c32d4920c6ebc9686cf136d56ed68d83cc23c79d0f11858a96c2bde431ac03a400e8ab1f30f1cb81c659b23953d43eb137374b816c18cd5d
|
7
|
+
data.tar.gz: e2cef122a3d4c16c758f4bcdf10e672024c92990d9ea90c6215629b379b07c4ddacabdd90551baf9ed250adfdbbe42e541838c3ba158a6b99517d8c3416a6c4f
|
data/README.rdoc
CHANGED
@@ -1,3 +1,30 @@
|
|
1
1
|
= LoadMore
|
2
|
+
A simple solution for performing load more queries with ActiveRecord
|
3
|
+
|
4
|
+
== Installation
|
5
|
+
In your Gemfile:
|
6
|
+
gem 'load_more'
|
7
|
+
Then run
|
8
|
+
bundle install
|
9
|
+
|
10
|
+
== Usage
|
11
|
+
In your model:
|
12
|
+
class Article < ActiveRecord::Base
|
13
|
+
acts_as_load_more
|
14
|
+
self.per_load = 15
|
15
|
+
end
|
16
|
+
The default 'per_load' value is 10.
|
17
|
+
|
18
|
+
Then you can use
|
19
|
+
>> Article.load_more(last_load: 99)
|
20
|
+
or
|
21
|
+
>> Article.load_more.last_load(99)
|
22
|
+
|
23
|
+
You can also customize the per_load value:
|
24
|
+
>> Article.load_more(per_load: 20, last_load: 99)
|
25
|
+
|
26
|
+
By default it use id as the sort column.
|
27
|
+
|
28
|
+
== License
|
29
|
+
This project rocks and uses MIT-LICENSE.
|
2
30
|
|
3
|
-
This project rocks and uses MIT-LICENSE.
|
data/lib/load_more/version.rb
CHANGED
data/lib/load_more.rb
CHANGED
@@ -1,6 +1,30 @@
|
|
1
1
|
require 'active_record' unless defined? ActiveRecord
|
2
2
|
|
3
3
|
module LoadMore
|
4
|
+
module ActiveRecord
|
5
|
+
@@per_load = 10
|
6
|
+
|
7
|
+
def per_load=(limit)
|
8
|
+
@@per_load = limit
|
9
|
+
end
|
10
|
+
|
11
|
+
def per_load
|
12
|
+
@@per_load
|
13
|
+
end
|
14
|
+
|
15
|
+
def load_more(options = {})
|
16
|
+
per_load = options.delete(:per_load) || self.per_load
|
17
|
+
last_load_id = options.delete(:last_load)
|
18
|
+
rel = order(id: :desc).limit(per_load)
|
19
|
+
rel = rel.last_load(last_load_id) if last_load_id
|
20
|
+
rel
|
21
|
+
end
|
22
|
+
|
23
|
+
def last_load(id)
|
24
|
+
where("id < ?", id)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
4
28
|
module ActsAsLoadMore
|
5
29
|
extend ActiveSupport::Concern
|
6
30
|
|
@@ -9,8 +33,7 @@ module LoadMore
|
|
9
33
|
|
10
34
|
module ClassMethods
|
11
35
|
def acts_as_load_more
|
12
|
-
|
13
|
-
scope :last_load, ->(id) { where("id < ?", id) }
|
36
|
+
extend LoadMore::ActiveRecord
|
14
37
|
end
|
15
38
|
end
|
16
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: load_more
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jiajia Wang
|
@@ -77,7 +77,6 @@ files:
|
|
77
77
|
- Rakefile
|
78
78
|
- lib/load_more.rb
|
79
79
|
- lib/load_more/version.rb
|
80
|
-
- lib/tasks/load_more_tasks.rake
|
81
80
|
homepage: https://github.com/jiajiawang/load_more
|
82
81
|
licenses:
|
83
82
|
- MIT
|