better_record 0.19.4 → 0.19.6

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: 0633a14373cccb30674e55d090a3f7530c6be80f23e4884e38ac2a09f94d6d49
4
- data.tar.gz: f11953ac897dfc56cdb3d2f95b094a5f61ef17c724d86df12c0446f75b625894
3
+ metadata.gz: 26cad53cfde14b9a15655f5b2c641477041184411718a347eb8bb212a2d6a4c0
4
+ data.tar.gz: 4c3edf06a7d9b0203d270bebdb7ae174a225cf512f426055b1edf49d8a132792
5
5
  SHA512:
6
- metadata.gz: 81c92498fc3982a43e54ac93d0723c3ca05d3069c4c9525831b99fd6b10ddf75c7c97c13d2787e0491103c030c4394ad3fe8765190275131cd5dab0a2586720d
7
- data.tar.gz: a4ddec5b642bf43dd6d1ce26ad4e2ef7433a58ccb729de2836e92e26b309a1c786329129ff7fa99824f2599ffdc4f602f3af388ccd63df8415580f2046c46c96
6
+ metadata.gz: eb090203431b0bdfb99ca5ed000a04439688556b44352452e50fa125b8b1c18a4c262428cb88f79f72d9686bd80883c5d048fbb7aadf1e85741dc3db9adb10a6
7
+ data.tar.gz: faa6084402e2064fe7b8ae3e53657184e194653751a1aa21df5adc7b07840dfb66ed2147d7fed6cc01bc2f033e6df8d07d647ce463a2bbc263ed3454f79c79ef
data/lib/better_record.rb CHANGED
@@ -77,10 +77,10 @@ module BetterRecord
77
77
  self.certificate_session_user_method = (ENV.fetch('BR_CERTIFICATE_SESSION_USER_METHOD') { :user }).to_sym
78
78
  self.certificate_header = (ENV.fetch('BR_CERTIFICATE_HEADER') { :HTTP_X_SSL_CERT }).to_sym
79
79
  self.certificate_is_hashed = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_IS_HASHED') { false })
80
- self.certificate_cleaning_method = (ENV.fetch('BR_CERTIFICATE_CLEANING_METHOD') { :clean_certificate }).to_sym
80
+ self.certificate_cleaning_method = (ENV.fetch('BR_CERTIFICATE_CLEANING_METHOD') { :clean_certificate })&.to_sym
81
81
  self.certificate_cleaning_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_CERTIFICATE_CLEANING_AS_ARG') { false })
82
- self.token_decryption_method = (ENV.fetch('BR_TOKEN_DECRYPTION_METHOD') { :to_s }).to_sym
83
- self.token_encryption_method = (ENV.fetch('BR_TOKEN_ENCRYPTION_METHOD') { :to_s }).to_sym
82
+ self.token_decryption_method = (ENV.fetch('BR_TOKEN_DECRYPTION_METHOD') { false })&.to_sym
83
+ self.token_encryption_method = (ENV.fetch('BR_TOKEN_ENCRYPTION_METHOD') { false })&.to_sym
84
84
  self.token_send_as_arg = Boolean.strict_parse(ENV.fetch('BR_TOKEN_AS_ARG') { false })
85
85
  end
86
86
 
@@ -129,13 +129,15 @@ module BetterRecord
129
129
  end
130
130
 
131
131
  def br_get_clean_cert(certificate)
132
- certificate_cleaning_send_as_arg ?
133
- self.__send__(certificate_cleaning_method, certificate) :
134
- certificate.
135
- __send__(
136
- certificate_cleaning_method,
137
- *(certificate_cleaning_method_args)
138
- )
132
+ ensure_is_real_value(
133
+ certificate_cleaning_send_as_arg ?
134
+ self.__send__(certificate_cleaning_method, certificate) :
135
+ (
136
+ certificate_cleaning_method.present? ?
137
+ certificate.__send__(certificate_cleaning_method) :
138
+ certificate
139
+ ).presence
140
+ )
139
141
  end
140
142
 
141
143
  def current_user
@@ -144,6 +146,8 @@ module BetterRecord
144
146
 
145
147
  def current_user_session_data
146
148
  logged_in? ? JWT.decode(current_token).deep_symbolize_keys : {}
149
+ rescue
150
+ {}
147
151
  end
148
152
 
149
153
  def has_correct_origin?
@@ -174,7 +178,7 @@ module BetterRecord
174
178
  def current_token
175
179
  if use_bearer_token
176
180
  @current_token ||= authenticate_with_http_token do |token, **options|
177
- decrypt_token(token, options)
181
+ decrypt_token(token, options).presence
178
182
  end
179
183
  else
180
184
  @current_token ||= session[:current_user]
@@ -204,15 +208,27 @@ module BetterRecord
204
208
  end
205
209
 
206
210
  def decrypt_token(t, **options)
207
- token_send_as_arg ?
208
- __send__(token_decryption_method, t, options) :
209
- t.__send__(token_decryption_method)
211
+ ensure_is_real_value(
212
+ token_send_as_arg ?
213
+ __send__(token_decryption_method, t, options) :
214
+ (
215
+ token_decryption_method.present? ?
216
+ t.__send__(token_decryption_method) :
217
+ t
218
+ ).presence
219
+ )
210
220
  end
211
221
 
212
222
  def encrypt_token
213
- token_send_as_arg ?
214
- __send__(token_encryption_method, current_token) :
215
- current_token.__send__(token_encryption_method)
223
+ ensure_is_real_value(
224
+ token_send_as_arg ?
225
+ __send__(token_encryption_method, current_token) :
226
+ (
227
+ token_encryption_method.present? ?
228
+ current_token.__send__(token_encryption_method) :
229
+ current_token
230
+ ).presence
231
+ )
216
232
  end
217
233
 
218
234
 
@@ -225,6 +241,12 @@ module BetterRecord
225
241
  header_hash[:HTTP_CLIENT_IP] ||
226
242
  request.remote_ip
227
243
  end
244
+
245
+ def ensure_is_real_value(value)
246
+ (Boolean.parse(value) && (value != "nil")) ?
247
+ value :
248
+ nil
249
+ end
228
250
  end
229
251
  end
230
252
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BetterRecord
4
- VERSION = '0.19.4'
4
+ VERSION = '0.19.6'
5
5
  end
@@ -99,7 +99,7 @@ module BetterRecord
99
99
 
100
100
  # self.certificate_is_hashed = true
101
101
 
102
- # self.certificate_cleaning_method = :to_s
102
+ # self.certificate_cleaning_method = :clean_certificate
103
103
 
104
104
  # self.certificate_cleaning_send_as_arg = []
105
105
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.4
4
+ version: 0.19.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampson Crowley