Module: Coinbase::Advanced::Concerns::FilterParam
- Included in:
- Configuration
- Defined in:
- lib/coinbase/advanced/concerns/filter_param.rb
Overview
FilterParam is a concern that provides a way to filter sensitive parameters from being logged Similar to rails filter_parameters https://api.rubyonrails.org/classes/ActionDispatch/Http/FilterParameters.html
Instance Method Summary collapse
- #formatted_instance_variables ⇒ Object
- #inspect ⇒ Object
- #original_inspect ⇒ Object
- #pretty_print(pp) ⇒ Object
Instance Method Details
#formatted_instance_variables ⇒ Object
14 15 16 17 18 19 |
# File 'lib/coinbase/advanced/concerns/filter_param.rb', line 14 def formatted_instance_variables instance_variables.sort.map do |var| value = @filter_params.include?(var) ? "[FILTERED]" : instance_variable_get(var).inspect "#{var}=#{value}" end end |
#inspect ⇒ Object
21 22 23 |
# File 'lib/coinbase/advanced/concerns/filter_param.rb', line 21 def inspect "#<#{self.class}: #{formatted_instance_variables.join(', ')}>" end |
#original_inspect ⇒ Object
10 11 12 |
# File 'lib/coinbase/advanced/concerns/filter_param.rb', line 10 def original_inspect inspect end |
#pretty_print(pp) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/coinbase/advanced/concerns/filter_param.rb', line 25 def pretty_print(pp) pp.object_group(self) do instance_variables.sort.each do |var| pp.breakable value = @filter_params.include?(var) ? "[FILTERED]" : instance_variable_get(var) pp.text "#{var}=" pp.pp value end end end |