brainzlab-rails 0.1.1 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ef611a0687f342dd6ae9cbf4b556ed91a8d8c66a0b38654896e841989ef1976
4
- data.tar.gz: 3947b85d71ddfd34125ead8424b7ff15c97ca00c365204f3dd572aa072faee0c
3
+ metadata.gz: 98de84e1dc1c997b5239535d0c1d7a8eebcf6a14c14f6c9a1dc6c4b2e330fba2
4
+ data.tar.gz: '08978f0c599bee3410c672c4e8727fd18fc3c62e2943768337300dcb288fd514'
5
5
  SHA512:
6
- metadata.gz: 4d83e3d7ede72cd4e5fe53f3482c99f589b1e2125885dc3d5e1b23bce56a926c488a9f0daf9efa01cd27b1939392581954458b3da4c8832a0148f99d29bf07ef
7
- data.tar.gz: 45d5f5a44d18119f68472dfe3f87d3b6665f6763a07f7aa94fd8fdc91e44e0cb3efe07540686d17d6e0f3b8004feb49b42af7e78433337c61098e6e7289b5856
6
+ metadata.gz: 8975c7c58a4798b18f354aca6b29e691b69f87500d9633d56fa2e4a4df303af33989b25f1bc7ec09203a8dd42de3b6019801717a5e89a993bf9d82d372fd6d4d
7
+ data.tar.gz: adf8f6f16efd8a8b3bd172a503e3916f589e13a46aa2f5d9932349b45ad333d8da193626268cc6429a3ef5bfcb4bf9d062b8aceeba13371963b1e1181f9b67a8
@@ -108,19 +108,27 @@ module BrainzLab
108
108
 
109
109
  # Sanitize sensitive data from params
110
110
  def sanitize_params(params)
111
- return {} unless params.is_a?(Hash)
111
+ # Handle ActionController::Parameters or Hash
112
+ hash = if defined?(::ActionController::Parameters) && params.is_a?(::ActionController::Parameters)
113
+ params.to_unsafe_h
114
+ elsif params.is_a?(Hash)
115
+ params
116
+ else
117
+ return {}
118
+ end
112
119
 
113
120
  sensitive_keys = %w[password password_confirmation token api_key secret]
114
- params.transform_values.with_index do |(key, value), _|
115
- if sensitive_keys.any? { |sk| key.to_s.downcase.include?(sk) }
116
- '[FILTERED]'
117
- elsif value.is_a?(Hash)
118
- sanitize_params(value)
121
+ hash.transform_keys(&:to_s).each_with_object({}) do |(key, value), result|
122
+ if sensitive_keys.any? { |sk| key.downcase.include?(sk) }
123
+ result[key] = '[FILTERED]'
124
+ elsif value.is_a?(Hash) || (defined?(::ActionController::Parameters) && value.is_a?(::ActionController::Parameters))
125
+ result[key] = sanitize_params(value)
119
126
  else
120
- value
127
+ result[key] = value
121
128
  end
122
129
  end
123
- rescue StandardError
130
+ rescue StandardError => e
131
+ BrainzLab.debug_log("Failed to sanitize params: #{e.message}")
124
132
  {}
125
133
  end
126
134
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module BrainzLab
4
4
  module Rails
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brainzlab-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brainz Lab