Class: CloudwatchQuery::Parsers::Rails::ParametersSubParser
- Inherits:
-
Object
- Object
- CloudwatchQuery::Parsers::Rails::ParametersSubParser
- Includes:
- SubParser
- Defined in:
- lib/cloudwatch_query/parsers/rails/sub_parsers.rb
Overview
Parses: "Parameters: ..."
Constant Summary collapse
- PARAMS_REGEX =
/Parameters:\s+(?<params>\{.+\})$/
Class Method Summary collapse
- .matches?(message) ⇒ Boolean
- .parse(message, _base_data) ⇒ Object
- .safe_parse_params(params_string) ⇒ Object
Methods included from SubParser
Class Method Details
.matches?(message) ⇒ Boolean
56 57 58 |
# File 'lib/cloudwatch_query/parsers/rails/sub_parsers.rb', line 56 def self.matches?() .include?("Parameters: {") end |
.parse(message, _base_data) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/cloudwatch_query/parsers/rails/sub_parsers.rb', line 60 def self.parse(, _base_data) match = .match(PARAMS_REGEX) return {} unless match { line_type: :parameters, params: safe_parse_params(match[:params]) } end |
.safe_parse_params(params_string) ⇒ Object
70 71 72 73 74 75 76 77 78 79 |
# File 'lib/cloudwatch_query/parsers/rails/sub_parsers.rb', line 70 def self.safe_parse_params(params_string) JSON.parse( params_string .gsub(/=>/, ":") .gsub(/:(\w+)/, '"\1"') .gsub(/nil/, "null") ) rescue JSON::ParserError, StandardError { raw: params_string } end |