effective_resources 2.19.11 → 2.19.13

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: 0fc5b41757668d88d0ae83b6a52f332ad18e645658909bf80c69b3fa47dd3b98
4
- data.tar.gz: 55830a5d7d49dfea77885a2741dd06f335f6dbbc6cf80b86beccc39b720e9535
3
+ metadata.gz: 5c3b294943394c17234dc15366796c5f67b89f6dd040d054ee864fdbfc462e9a
4
+ data.tar.gz: c3c8654723ffbd11ad5756d051e9bf1d810acf071defb65155410ef42e5eb917
5
5
  SHA512:
6
- metadata.gz: ef99fd38dede8d87305ef660a87cc95ea64b9307812d80b7dd14cd2f2b4da7dd5e8532ac2ddf9e39521cdd637ab5027a4c8534bb1a8bc5ee134576a148d16f24
7
- data.tar.gz: 7527c0b651f37c1046299286e8165bb4a3670e879227b4be7ce83c6fb3c742eab7876f2c54138f1cd25bad281b13a69d2da5085c3b629d38f3a7d34e5fb07dd7
6
+ metadata.gz: a6c58fe8690a02c8f843cf6843ae98ff892a4f79c374e9a1c843307e9a0a732e4f2a2edae5021c64c25784f27731ded2d8f6a96209795e942d97f50f851b10af
7
+ data.tar.gz: 7e01d7dc9735a2fbb6c21816ae737f680131cc91daf560b814034f606fb27d6c93248f5e7517d40b13eee6bc2ae9150a5864c4d9f821ee31e9ef11cfa2d94806
@@ -47,6 +47,7 @@ module Effective
47
47
  when :text ; :string
48
48
  when :time ; :time
49
49
  when :uuid ; :uuid
50
+ when :url ; :url
50
51
  when FalseClass ; :boolean
51
52
  when (defined?(Integer) ? Integer : Fixnum) ; :integer
52
53
  when Float ; :decimal
@@ -83,7 +84,7 @@ module Effective
83
84
  date = if digits.first.length == 4 # 2017-01-10
84
85
  (Time.zone.local(*digits) rescue nil)
85
86
  else # 01/10/2016
86
- year = digits.find { |d| d.length == 4}
87
+ year = digits.find { |d| d.length == 4 }
87
88
  digits = [year] + (digits - [year])
88
89
  (Time.zone.local(*digits) rescue nil)
89
90
  end
@@ -127,6 +128,15 @@ module Effective
127
128
  value.kind_of?(Integer) ? value : (value.to_s.gsub(/[^0-9|\-|\.]/, '').to_f * 100.0).round
128
129
  when :string
129
130
  value.to_s
131
+ when :url
132
+ return nil unless value.kind_of?(String)
133
+
134
+ if value.downcase.start_with?('http://', 'https://')
135
+ value
136
+ elsif value.include?('.')
137
+ "https://#{value}"
138
+ end
139
+
130
140
  when :email
131
141
  return nil unless value.kind_of?(String)
132
142
 
@@ -299,7 +299,7 @@ module Effective
299
299
  .where(ActiveStorage::Blob.arel_table[:filename].matches("%#{term}%"))
300
300
 
301
301
  when :date, :datetime
302
- if value.kind_of?(String)
302
+ if value.kind_of?(String) && term.respond_to?(:strftime)
303
303
  end_at = (
304
304
  case (value.to_s.scan(/(\d+)/).flatten).length
305
305
  when 1 ; term.end_of_year # Year
@@ -323,8 +323,9 @@ module Effective
323
323
  else
324
324
  relation.where("#{sql_column} >= ? AND #{sql_column} <= ?", value.beginning_of_day, value.end_of_day)
325
325
  end
326
+ elsif term.respond_to?(:strftime) == false && operation.to_s.include?('days_ago') == false
327
+ relation.none # It's an invalid entered date
326
328
  end
327
-
328
329
  when :effective_obfuscation
329
330
  term = Attribute.new(as, klass: (associated(name).try(:klass) || klass)).parse(value, name: name)
330
331
  relation.where(attribute.eq((value == term ? 0 : term)))
@@ -338,9 +339,13 @@ module Effective
338
339
  relation.with_role(term)
339
340
 
340
341
  when :time
341
- timed = relation.where("EXTRACT(hour from #{sql_column}) = ?", term.utc.hour)
342
- timed = timed.where("EXTRACT(minute from #{sql_column}) = ?", term.utc.min) if term.min > 0
343
- timed
342
+ if term.respond_to?(:strftime)
343
+ timed = relation.where("EXTRACT(hour from #{sql_column}) = ?", term.utc.hour)
344
+ timed = timed.where("EXTRACT(minute from #{sql_column}) = ?", term.utc.min) if term.min > 0
345
+ timed
346
+ else
347
+ relation.none # It's an invalid entered date
348
+ end
344
349
  end
345
350
 
346
351
  return searched if searched
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.19.11'.freeze
2
+ VERSION = '2.19.13'.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.19.11
4
+ version: 2.19.13
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: 2024-03-15 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails