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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9935bc5ee8ebe544a9afc014d5386acae85cd59c
4
- data.tar.gz: f9eabc3a2d9e587a99e4a29b743792b3b49de41d
3
+ metadata.gz: e63629829b740f9fc5a8a872349ce0e5052c882c
4
+ data.tar.gz: d3ad74aab0c7ecf587c6d452a64d90cd375bd5df
5
5
  SHA512:
6
- metadata.gz: a3ffe57cbbeeeb6864ead9a87baaf1d46d8efbce8450ad7297328a3f9025c8b14b60c4ba16ad6e4f987e971f46e229ba67d4f1364d3600a2711d59a9bd6b3af4
7
- data.tar.gz: eac82a04eb571a579dfcf6b90c37d92a929af57ad7b9bfd982bb47dedc51e65164c9fc71599897ac9bc175e9a1983486092e67e483554bd7a47803d8fcab8bce
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.
@@ -1,3 +1,3 @@
1
1
  module LoadMore
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
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
- scope :load_more, -> { order(id: :desc).limit(10) }
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.1
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
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :load_more do
3
- # # Task goes here
4
- # end