kaminari-sequel 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/kaminari/sequel.rb +4 -2
- data/lib/kaminari/sequel/dataset_extension.rb +17 -0
- data/lib/kaminari/sequel/dataset_methods.rb +29 -0
- data/lib/kaminari/sequel/model_extension.rb +26 -0
- data/lib/kaminari/sequel/model_extension_methods.rb +21 -0
- data/lib/kaminari/sequel/{sequel_model_extension.rb → page_method.rb} +4 -9
- data/lib/kaminari/sequel/version.rb +1 -1
- metadata +7 -4
- data/lib/kaminari/sequel/sequel_dataset_methods.rb +0 -27
- data/lib/kaminari/sequel/sequel_extension.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d18389a0a08897e13cddaf0d549c0707991869d6
|
4
|
+
data.tar.gz: 2fd2f6cdb60b7d206a2ee39f3e675d226ab53e82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f495b6b79049a6cdd611fc6d72f2c110e0791c4b9e40480cb21c63438c28b253500ed64edc8d778780369207fb4a7903bbdb8bb76597388f52874617a9d34d6
|
7
|
+
data.tar.gz: 88f832dd1f38cb58a7207011e171eb18dfb9894f232666687427b160859fc5db723ffc6d69e4d6a494fc772cc49889359aa7495be23d0a290bfeaa98aaf6c7a7
|
data/CHANGELOG.md
ADDED
data/lib/kaminari/sequel.rb
CHANGED
@@ -4,6 +4,8 @@ require 'kaminari/sequel/version'
|
|
4
4
|
|
5
5
|
require 'kaminari/core'
|
6
6
|
require 'kaminari/actionview'
|
7
|
-
require 'kaminari/sequel/
|
7
|
+
require 'kaminari/sequel/model_extension'
|
8
|
+
require 'kaminari/sequel/dataset_extension'
|
8
9
|
|
9
|
-
::Sequel::Model.send :include,
|
10
|
+
::Sequel::Model.send :include, Kaminari::Sequel::ModelExtension
|
11
|
+
::Sequel::Dataset.send :include, Kaminari::Sequel::DatasetExtension
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kaminari/sequel/page_method'
|
4
|
+
|
5
|
+
module Kaminari
|
6
|
+
module Sequel
|
7
|
+
module DatasetExtension
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
include Kaminari::ConfigurationMethods::ClassMethods
|
10
|
+
include Kaminari::Sequel::PageMethod
|
11
|
+
|
12
|
+
define_method(Kaminari.config.page_method_name) do |num|
|
13
|
+
page_method(num)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kaminari
|
4
|
+
module Sequel
|
5
|
+
module DatasetMethods #:nodoc:
|
6
|
+
delegate :default_per_page, :max_per_page, :max_pages, to: :model
|
7
|
+
|
8
|
+
def entry_name(_options = {}) #:nodoc:
|
9
|
+
model.to_s.downcase
|
10
|
+
end
|
11
|
+
|
12
|
+
def limit_value #:nodoc:
|
13
|
+
opts[:limit]
|
14
|
+
end
|
15
|
+
|
16
|
+
def offset_value #:nodoc:
|
17
|
+
opts[:offset]
|
18
|
+
end
|
19
|
+
|
20
|
+
def total_count(_column_name = :all, _options = nil) #:nodoc:
|
21
|
+
@total_count ||= unlimited.unordered.count
|
22
|
+
end
|
23
|
+
|
24
|
+
def size #:nodoc:
|
25
|
+
model.count
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kaminari/sequel/model_extension_methods'
|
4
|
+
|
5
|
+
module Kaminari
|
6
|
+
module Sequel
|
7
|
+
module ModelExtension #:nodoc:
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
|
10
|
+
module ClassMethods #:nodoc:
|
11
|
+
# Future subclasses will pick up the model extension
|
12
|
+
def inherited(klass) #:nodoc:
|
13
|
+
super
|
14
|
+
klass.send(:include, Kaminari::Sequel::ModelExtensionMethods)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
included do
|
19
|
+
# Existing subclasses pick up the model extension as well
|
20
|
+
descendants.each do |klass|
|
21
|
+
klass.send(:include, Kaminari::Sequel::ModelExtensionMethods)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'kaminari/sequel/dataset_methods'
|
4
|
+
require 'kaminari/sequel/page_method'
|
5
|
+
|
6
|
+
module Kaminari
|
7
|
+
module Sequel
|
8
|
+
module ModelExtensionMethods #:nodoc:
|
9
|
+
extend ActiveSupport::Concern
|
10
|
+
include Kaminari::ConfigurationMethods
|
11
|
+
|
12
|
+
module ClassMethods #:nodoc:
|
13
|
+
include Kaminari::Sequel::PageMethod
|
14
|
+
|
15
|
+
define_method(Kaminari.config.page_method_name) do |num|
|
16
|
+
page_method(num)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,14 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'kaminari/sequel/sequel_dataset_methods'
|
4
|
-
|
5
3
|
module Kaminari
|
6
|
-
module
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
module ClassMethods #:nodoc:
|
11
|
-
define_method(Kaminari.config.page_method_name) do |num|
|
4
|
+
module Sequel
|
5
|
+
module PageMethod
|
6
|
+
def page_method(num)
|
12
7
|
per_page =
|
13
8
|
if max_per_page && (default_per_page > max_per_page)
|
14
9
|
max_per_page
|
@@ -19,7 +14,7 @@ module Kaminari
|
|
19
14
|
limit(per_page)
|
20
15
|
.offset(per_page * ((num = num.to_i - 1) < 0 ? 0 : num))
|
21
16
|
.with_extend(
|
22
|
-
Kaminari::
|
17
|
+
Kaminari::Sequel::DatasetMethods,
|
23
18
|
Kaminari::PageScopeMethods
|
24
19
|
)
|
25
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kaminari-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Zubkov
|
@@ -132,6 +132,7 @@ files:
|
|
132
132
|
- ".gitignore"
|
133
133
|
- ".rspec"
|
134
134
|
- ".rubocop.yml"
|
135
|
+
- CHANGELOG.md
|
135
136
|
- Gemfile
|
136
137
|
- LICENSE.txt
|
137
138
|
- README.md
|
@@ -140,9 +141,11 @@ files:
|
|
140
141
|
- bin/setup
|
141
142
|
- kaminari-sequel.gemspec
|
142
143
|
- lib/kaminari/sequel.rb
|
143
|
-
- lib/kaminari/sequel/
|
144
|
-
- lib/kaminari/sequel/
|
145
|
-
- lib/kaminari/sequel/
|
144
|
+
- lib/kaminari/sequel/dataset_extension.rb
|
145
|
+
- lib/kaminari/sequel/dataset_methods.rb
|
146
|
+
- lib/kaminari/sequel/model_extension.rb
|
147
|
+
- lib/kaminari/sequel/model_extension_methods.rb
|
148
|
+
- lib/kaminari/sequel/page_method.rb
|
146
149
|
- lib/kaminari/sequel/version.rb
|
147
150
|
homepage: https://github.com/sekrett/kaminari-sequel
|
148
151
|
licenses:
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Kaminari
|
4
|
-
module SequelDatasetMethods #:nodoc:
|
5
|
-
delegate :default_per_page, :max_per_page, :max_pages, to: :model
|
6
|
-
|
7
|
-
def entry_name(_options = {}) #:nodoc:
|
8
|
-
model.to_s.downcase
|
9
|
-
end
|
10
|
-
|
11
|
-
def limit_value #:nodoc:
|
12
|
-
opts[:limit]
|
13
|
-
end
|
14
|
-
|
15
|
-
def offset_value #:nodoc:
|
16
|
-
opts[:offset]
|
17
|
-
end
|
18
|
-
|
19
|
-
def total_count(_column_name = :all, _options = nil) #:nodoc:
|
20
|
-
@total_count ||= unlimited.unordered.count
|
21
|
-
end
|
22
|
-
|
23
|
-
def size #:nodoc:
|
24
|
-
model.count
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'kaminari/sequel/sequel_model_extension'
|
4
|
-
|
5
|
-
module Kaminari
|
6
|
-
module SequelExtension #:nodoc:
|
7
|
-
extend ActiveSupport::Concern
|
8
|
-
|
9
|
-
module ClassMethods #:nodoc:
|
10
|
-
# Future subclasses will pick up the model extension
|
11
|
-
def inherited(klass) #:nodoc:
|
12
|
-
super
|
13
|
-
klass.send(:include, Kaminari::SequelModelExtension)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
included do
|
18
|
-
# Existing subclasses pick up the model extension as well
|
19
|
-
descendants.each do |klass|
|
20
|
-
klass.send(:include, Kaminari::SequelModelExtension)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|