rooble 0.4.1 → 0.4.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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rooble/version.rb +1 -1
  3. data/lib/rooble.rb +11 -3
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8971a29eb4e5250672b39cd2176e3584fb74ed48f824a5dfd744d562d7ea0d0
4
- data.tar.gz: 6c11e4280291cdf93faf7309cbbf8c85f3ee9467a2c289bb1825931779f749f3
3
+ metadata.gz: 2b8584c96b7c4cee5648017142702d8651e82950b6b3b80b98280adb754f82ef
4
+ data.tar.gz: 87c83e64ec2c56dc5e2fd5b69e0b590edb25bfcc5ac2a2c4518688e6db839965
5
5
  SHA512:
6
- metadata.gz: 5471fcff377b14a67b032443003958e5c915168b4f48c1ba312dcf1c324da3d3ef7e7b1b5a6eaa2aab8be363fafd7ecf2b2592d0a2201434e96c63c76c57833d
7
- data.tar.gz: cd823daf8d39cdde76facbf8db9d81f990eaf8f771a144ea9760a73584249cc13d747c61367684d89214872133ac87d157a3dc471bdad2500c5f46c898e16060
6
+ metadata.gz: 3c1b12e7af88715295362eeb3604b1ef24f8e7094555c08a45f229faa7216d9495c774c07c7756de822b90c073311daf9ea629a20f3cda1466f6c2c67f253d88
7
+ data.tar.gz: fc35839dc9590e582c23d98409c3747a83281c131d9f2502f2e0048eb7a6a3ac8bc1792bedb3b8eda5ba463ecc5a2029393b76bb66f20173749f80106d76528e
@@ -1,3 +1,3 @@
1
1
  module Rooble
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.3"
3
3
  end
data/lib/rooble.rb CHANGED
@@ -36,7 +36,7 @@ module Rooble
36
36
  # Returns a set of paginated records given a page.
37
37
  #
38
38
 
39
- def paginate(page=1, max_records_per_page=nil)
39
+ def paginate(page=1, max_records_per_page=nil, order_by: {id: :asc})
40
40
  page ||= 1
41
41
 
42
42
  if page.to_i < 0
@@ -45,14 +45,16 @@ module Rooble
45
45
 
46
46
  max_records_per_page ||= Rooble::configuration.max_records_per_page
47
47
  current_offset = ((page.to_i*max_records_per_page))-max_records_per_page
48
- records = self.limit(max_records_per_page).offset(current_offset)
48
+ records = self.limit(max_records_per_page)
49
+ .offset(current_offset)
50
+ .order(**order_by)
49
51
  end
50
52
 
51
53
  ##
52
54
  # Searches through records for the given fields
53
55
  #
54
56
 
55
- def search(fields, search_term, options={})
57
+ def search(fields, search_term, options={}, order_by: {id: :asc})
56
58
  if search_term.nil?
57
59
  raise Rooble::Error.new "You need to give a search term"
58
60
  end
@@ -63,6 +65,11 @@ module Rooble
63
65
 
64
66
  raise Rooble::Error.new("You can only include or join relations, not both!") if ([:include, :join] - options.keys ).empty?
65
67
 
68
+ # check if we are doing pattern search
69
+ if options.has_key? :partial_search
70
+ search_term = "%#{search_term}%"
71
+ end
72
+
66
73
  # check if we are joining/including other models first
67
74
  if options.has_key? :include
68
75
  model = self.includes(options[:include])
@@ -125,6 +132,7 @@ module Rooble
125
132
  end
126
133
 
127
134
  records = model.where(query.join(' OR '), *search_values)
135
+ .order(**order_by)
128
136
  end
129
137
 
130
138
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rooble
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gustavo Rubio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-07 00:00:00.000000000 Z
11
+ date: 2022-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport