effective_resources 2.8.1 → 2.8.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 016f2e6e705dc75e0ea58ff2e95f9ce5553122d82a1dd0280ccc327a284b4e93
4
- data.tar.gz: eedc423555203163a7c9d3674729c3ab56dd1d69d448d289fef0a0c06bbad3d0
3
+ metadata.gz: '0140383360a1897a1b21a4a5897f5e61d9099210ab1fca6fe8e93159c7bdc999'
4
+ data.tar.gz: 33819637928fe7fdb8e75df61f79526228652142fc76ab09222bed6ed9f91e6a
5
5
  SHA512:
6
- metadata.gz: 296abe054bdc8e96495d75a2172187b89c093311a5819f7df89c13af90298611673285cec429d96c1a45da88b15e65f0c54e3f0108193f8fdff12117edbf611d
7
- data.tar.gz: 6278969a0aefe37f56bae5c036e944ab0d22c7c8142a09127cbfa9b1448be49fd9568b1bb7185db7896f985e85d0594b4864aaa4994d50ba1e0ab2d5590f4326
6
+ metadata.gz: 490636b3efc23c0406833448528f2e8029d9d707a49db92309eda2d65fff6be90d7c31c9d835827866d953b9c18a13781aeb11b43f606c411b051037f0c6f1ed
7
+ data.tar.gz: 1dc0516ce102fac154bfc374deee17678f4d4f33906a2e90bf96e175d5af0573faff5800749c5fff3f198110a3ef142b3fdb1b341e21aef3656a1388e6c4352b
data/README.md CHANGED
@@ -213,6 +213,19 @@ Just put another `app/views/posts/index.html.haml` in the posts directory to ove
213
213
 
214
214
  Sure why not. These don't really fit into my code base anywhere else.
215
215
 
216
+ ### acts_as_paginable
217
+
218
+ Quickly adds a `paginate` scope to your model that can then be used in your views and also integrates well with `effective_bootstrap`. The pagination method is `Limit and Offset`.
219
+
220
+ ```ruby
221
+ # Given any model you just need to call it like
222
+ class Thing < ApplicationRecord
223
+ acts_as_paginable
224
+ end
225
+
226
+ # Now you can use it like:
227
+ Thing.all.paginate(page: 1, per_page: 5)
228
+ ```
216
229
  ### acts_as_tokened
217
230
 
218
231
  Quickly adds rails 5 `has_secure_token` to your model, along with some `Post.find()` enhancements to work with tokens instead of IDs.
@@ -313,11 +313,10 @@ module Effective
313
313
  )
314
314
 
315
315
  if as == :date
316
- term = term.to_date
317
- end_at = end_at.to_date
316
+ relation.where("#{sql_column} >= ? AND #{sql_column} < ?", term.to_date, (end_at + 1.day).to_date)
317
+ else
318
+ relation.where("#{sql_column} >= ? AND #{sql_column} <= ?", term, end_at)
318
319
  end
319
-
320
- relation.where("#{sql_column} >= ? AND #{sql_column} <= ?", term, end_at)
321
320
  elsif value.respond_to?(:strftime) && operation == :eq
322
321
  relation.where(attribute.matches(value))
323
322
  end
@@ -347,7 +346,7 @@ module Effective
347
346
 
348
347
  case operation
349
348
  when :eq then relation.where("#{sql_column} = ?", term)
350
- when :matches then search_columns_by_ilike_term(relation, term, columns: name)
349
+ when :matches then search_columns_by_ilike_term(relation, term, columns: (sql_column.presence || name))
351
350
  when :not_eq then relation.where(attribute.not_eq(term))
352
351
  when :does_not_match then relation.where(attribute.does_not_match("%#{term}%"))
353
352
  when :starts_with then relation.where(attribute.matches("#{term}%"))
@@ -426,7 +425,10 @@ module Effective
426
425
 
427
426
  # Do any of these columns contain all the terms?
428
427
  conditions = columns.map do |name|
429
- keys = terms.keys.map { |key| (fuzzy ? "#{sql_column(name)} #{ilike} :#{key}" : "#{sql_column(name)} = :#{key}") }
428
+ column = (name.to_s.include?('.') ? name : sql_column(name))
429
+ raise("expected an sql column for #{name}") if column.blank?
430
+
431
+ keys = terms.keys.map { |key| (fuzzy ? "#{column} #{ilike} :#{key}" : "#{column} = :#{key}") }
430
432
  '(' + keys.join(' AND ') + ')'
431
433
  end.join(' OR ')
432
434
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.8.1'.freeze
2
+ VERSION = '2.8.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 2.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-15 00:00:00.000000000 Z
11
+ date: 2023-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: psych
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '4'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "<"
137
+ - !ruby/object:Gem::Version
138
+ version: '4'
139
+ - !ruby/object:Gem::Dependency
140
+ name: net-smtp
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description: Make any controller an effective resource controller.
126
154
  email:
127
155
  - info@codeandeffect.com
@@ -244,7 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
272
  - !ruby/object:Gem::Version
245
273
  version: '0'
246
274
  requirements: []
247
- rubygems_version: 3.4.10
275
+ rubygems_version: 3.3.7
248
276
  signing_key:
249
277
  specification_version: 4
250
278
  summary: Make any controller an effective resource controller.