kaminari-sequel 0.1.0 → 0.2.0

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: fa7e166fe04db8fb89aca58881a77399c2dd045d
4
- data.tar.gz: 11a9e9078bc8c8e0443453ae11c29fb9f2938754
3
+ metadata.gz: d18389a0a08897e13cddaf0d549c0707991869d6
4
+ data.tar.gz: 2fd2f6cdb60b7d206a2ee39f3e675d226ab53e82
5
5
  SHA512:
6
- metadata.gz: c9540ec196da6f210d18532fd21efd1edfaba65542a28e004f9aae615f9a4e94e2ded72186f1c4db7a397aa68345f5f2c15d8b96d76bfc78b45f29742e4c625f
7
- data.tar.gz: 6eacf725c7baa3cfc1c30717f6caf4cd05caa93d80d7b08a8746be1445cfd5786a838575e5a0df5d193ddc9a84fc756495e818eab7820c6d6ad4f258959adf02
6
+ metadata.gz: 7f495b6b79049a6cdd611fc6d72f2c110e0791c4b9e40480cb21c63438c28b253500ed64edc8d778780369207fb4a7903bbdb8bb76597388f52874617a9d34d6
7
+ data.tar.gz: 88f832dd1f38cb58a7207011e171eb18dfb9894f232666687427b160859fc5db723ffc6d69e4d6a494fc772cc49889359aa7495be23d0a290bfeaa98aaf6c7a7
@@ -0,0 +1,8 @@
1
+ ## 0.2.0
2
+
3
+ * Added datasets support
4
+
5
+
6
+ ## 0.1.0
7
+
8
+ * First release
@@ -4,6 +4,8 @@ require 'kaminari/sequel/version'
4
4
 
5
5
  require 'kaminari/core'
6
6
  require 'kaminari/actionview'
7
- require 'kaminari/sequel/sequel_extension'
7
+ require 'kaminari/sequel/model_extension'
8
+ require 'kaminari/sequel/dataset_extension'
8
9
 
9
- ::Sequel::Model.send :include, Kaminari::SequelExtension
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 SequelModelExtension #:nodoc:
7
- extend ActiveSupport::Concern
8
- include Kaminari::ConfigurationMethods
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::SequelDatasetMethods,
17
+ Kaminari::Sequel::DatasetMethods,
23
18
  Kaminari::PageScopeMethods
24
19
  )
25
20
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kaminari
4
4
  module Sequel
5
- VERSION = '0.1.0'.freeze
5
+ VERSION = '0.2.0'.freeze
6
6
  end
7
7
  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.1.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/sequel_dataset_methods.rb
144
- - lib/kaminari/sequel/sequel_extension.rb
145
- - lib/kaminari/sequel/sequel_model_extension.rb
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