yap 0.3.2 → 0.3.3

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/yap/filter.rb +4 -1
  4. data/lib/yap.rb +6 -6
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6b0e9e0e3dc3083f3d0b547b73c9798aea4df38
4
- data.tar.gz: cb97d4f95634d81f5d5f9a7fd5bf15dbce071fff
3
+ metadata.gz: 25cfbc9977c71d10fc1a33ab813eff876c633401
4
+ data.tar.gz: ab538d4945cd053de7db5072e5238a6e9655cf48
5
5
  SHA512:
6
- metadata.gz: d10b61aed2e0f9757ca7b08006b4b60640a661c052f9d7dcbad5bd3bde800393f488f92ecd9add039bff0a574d44d9ee5af1485979f51ca003dd8c1504170235
7
- data.tar.gz: fb430be1608425b2b82b06029c033812c987f1974cd652ff6401b5371f1015d889e89d52ea4727e66c5abe49fa1d570d8f4525257ed65ccf85e532882a55dc33
6
+ metadata.gz: 94eb394ae4b57e7fd28adcc819501095337be522cec96b9982f909c6c1d79e30cfe538e8b134cf0fb90ee6e8eab366a23df3010222a7ed57a16bb27ed2ac0661
7
+ data.tar.gz: 0f6a6fe7afd9e646253809a99de8b926804f2550c40ee4236631dbcc2bafc4560866f8ca87c481323029b643b9a69046fbe38a505d762aceadfe689e6457200a
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # yap v0.3.2
1
+ # yap v0.3.3
2
2
 
3
3
  Yet another paginator for Ruby on Rails, which adds a `paginate` scope to your ActiveRecords.
4
4
 
data/lib/yap/filter.rb CHANGED
@@ -15,7 +15,10 @@ module Yap
15
15
  match = :where
16
16
  end
17
17
 
18
- if value =~ /(.+)\.\.(.+)/
18
+ case value
19
+ when /(.+)\.{3}(.+)/
20
+ value = $1...$2
21
+ when /(.+)\.{2}(.+)/
19
22
  value = $1..$2
20
23
  else
21
24
  value = value.downcase == 'null' ? nil : value
data/lib/yap.rb CHANGED
@@ -26,7 +26,7 @@ module Yap
26
26
  include Filterable
27
27
 
28
28
  DEFAULTS = Struct.new(:page, :per_page, :sort, :direction, :disable_warnings)
29
- .new(1, 10, 'id', 'ASC', false)
29
+ .new(1, 10, :id, :asc, false)
30
30
 
31
31
  def self.configure
32
32
  raise ArgumentError, 'No block given.' unless block_given?
@@ -50,8 +50,8 @@ module Yap
50
50
  # @param [Hash] The parameters used for pagination (:page, :per_page, :sort, :direction)
51
51
  #
52
52
  scope :paginate, -> (params = {}) {
53
- page, per_page, column, direction = extract_pagination_params(params)
54
- filter(params[:filter]).limit(per_page).offset((page-1)*per_page).order("#{column} #{direction}")
53
+ page, per_page, order_by = extract_pagination_params(params)
54
+ filter(params[:filter]).limit(per_page).offset((page-1)*per_page).order(order_by)
55
55
  }
56
56
 
57
57
  private
@@ -62,7 +62,7 @@ module Yap
62
62
  sort = extract_column(params[:sort])
63
63
  direction = extract_direction(params[:direction])
64
64
 
65
- return page, per_page, sort, direction
65
+ return page, per_page, (sort =~ /\./ ? "#{sort} #{direction}" : { sort => direction })
66
66
  end
67
67
 
68
68
  def self.extract_number(number, default)
@@ -86,8 +86,8 @@ module Yap
86
86
 
87
87
  def self.extract_direction(direction)
88
88
  direction ||= DEFAULTS.direction
89
- dir = (direction).to_s.upcase
90
- raise PaginationError.new("'#{direction}' is not a valid direction. Use 'asc' or 'desc'.") unless %w[ASC DESC].include? dir
89
+ dir = (direction).to_sym.downcase
90
+ raise PaginationError.new("'#{direction}' is not a valid direction. Use 'asc' or 'desc'.") unless [:asc, :desc].include? dir
91
91
  dir
92
92
  end
93
93
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Finn Glöe
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.1'
19
+ version: 4.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.1'
26
+ version: 4.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement