paginative 0.0.4 → 0.0.6
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/lib/paginative/models/model_extension.rb +5 -5
- data/lib/paginative/version.rb +1 -1
- data/spec/models/paginative/test_model_spec.rb +19 -15
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d1843eeb26e1420655e90dbfebf0597997b00e7
|
4
|
+
data.tar.gz: 8ea6627574e120539c063e2963eb1809ec56419c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8fd03ada62d1f902743c4ea3b839af2be80ee1e6cef7c92a628c0eb3edb9ca501ae9f7b476f6f181b2d22a04156e2d12486c63c9ecb8195e0295c50992a1277
|
7
|
+
data.tar.gz: 856d19c610445427a3eff59b30e6913a3f904c73d96d6987434adefad5fd6e38913b73e1927bc3e68ca685d867c64291b8588a7804582309131df77143a11ca1
|
@@ -11,15 +11,15 @@ module Paginative
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.with_name_from(name="", limit=25)
|
14
|
-
|
14
|
+
self.order(name: :asc).where("lower(name) > ?", name.downcase).offset(0).limit(limit)
|
15
15
|
end
|
16
16
|
|
17
|
-
def self.with_id_from(id=0, limit=25)
|
18
|
-
|
19
|
-
end
|
17
|
+
# def self.with_id_from(id=0, limit=25)
|
18
|
+
# self.order(id: :asc).where("id > ?", id).limit(limit)
|
19
|
+
# end
|
20
20
|
|
21
21
|
def self.with_field_from(field="", value="", limit=25)
|
22
|
-
self.order("#{field} ASC").where("#{field}
|
22
|
+
self.order("#{field} ASC").where("#{field} >= '#{value}'").limit(limit)
|
23
23
|
end
|
24
24
|
# RUBY
|
25
25
|
end
|
data/lib/paginative/version.rb
CHANGED
@@ -1,21 +1,13 @@
|
|
1
|
-
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe TestModel do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
it "returns results after given id" do
|
13
|
-
10.times do |count|
|
14
|
-
FactoryGirl.create(:test_model, id: count + 1)
|
15
|
-
end
|
16
|
-
TestModel.with_id_from(5).count.should eq 5
|
17
|
-
TestModel.with_id_from(5).first.id.should eq 6
|
18
|
-
end
|
5
|
+
def create_models
|
6
|
+
@model1 = FactoryGirl.create(:test_model, address: "Lorem", created_at: Time.now.ago(2.days))
|
7
|
+
@model2 = FactoryGirl.create(:test_model, address: "Ipsum", created_at: Time.now.ago(1.days))
|
8
|
+
@model3 = FactoryGirl.create(:test_model, address: "New York", created_at: Time.now)
|
9
|
+
@model4 = FactoryGirl.create(:test_model, address: "BroadWay", created_at: (Time.now + 1.day))
|
10
|
+
@model5 = FactoryGirl.create(:test_model, address: "Island St", created_at: (Time.now + 2.days))
|
19
11
|
end
|
20
12
|
|
21
13
|
describe "by passed field" do
|
@@ -31,6 +23,18 @@ describe TestModel do
|
|
31
23
|
|
32
24
|
TestModel.with_field_from("created_at", (Time.now.ago(5.days))).count.should eq 5
|
33
25
|
end
|
26
|
+
|
27
|
+
it "doesn't return values less than the passed in value" do
|
28
|
+
create_models
|
29
|
+
|
30
|
+
TestModel.with_field_from("created_at", @model3.created_at).should eq [@model3, @model4, @model5]
|
31
|
+
end
|
32
|
+
|
33
|
+
it "works on INT values" do
|
34
|
+
create_models
|
35
|
+
|
36
|
+
TestModel.with_field_from("id", @model3.id).should eq [@model3, @model4, @model5]
|
37
|
+
end
|
34
38
|
end
|
35
39
|
|
36
40
|
context "by name" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paginative
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isaac Norman
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: awesome_print
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description: After spending a lot of time screwing around with orphaned objects and
|
112
126
|
every other problem that pagination causes, this is the solution
|
113
127
|
email:
|
@@ -198,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
212
|
version: '0'
|
199
213
|
requirements: []
|
200
214
|
rubyforge_project:
|
201
|
-
rubygems_version: 2.2.
|
215
|
+
rubygems_version: 2.2.0
|
202
216
|
signing_key:
|
203
217
|
specification_version: 4
|
204
218
|
summary: A new way to paginate your Rails API
|