effective_resources 2.19.11 → 2.19.13

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
  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