Module: Lenjador::Utils
- Defined in:
- lib/lenjador/utils.rb
Constant Summary collapse
- DECIMAL_FRACTION_OF_SECOND =
3- NO_TRACE_INFORMATION =
{}.freeze
- DUMP_OPTIONS =
{ mode: :custom, time_format: :xmlschema, second_precision: 3 }.freeze
Class Method Summary collapse
-
.application_name(service_name) ⇒ String
Return application name.
-
.build_event(metadata, level, application_name) ⇒ Hash
Build logstash json compatible event.
- .generate_json(obj) ⇒ Object
- .underscore(input) ⇒ Object
Class Method Details
.application_name(service_name) ⇒ String
Return application name
Returns lower snake case application name. This allows the application value to be used in the elasticsearch index name.
41 42 43 |
# File 'lib/lenjador/utils.rb', line 41 def self.application_name(service_name) underscore(service_name) end |
.build_event(metadata, level, application_name) ⇒ Hash
Build logstash json compatible event
23 24 25 26 27 28 29 30 31 |
# File 'lib/lenjador/utils.rb', line 23 def self.build_event(, level, application_name) overwritable_params .merge!() .merge!(tracing_information) .merge!( application: application_name, level: level ) end |
.generate_json(obj) ⇒ Object
52 53 54 |
# File 'lib/lenjador/utils.rb', line 52 def self.generate_json(obj) Oj.dump(obj, DUMP_OPTIONS) end |
.underscore(input) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/lenjador/utils.rb', line 56 def self.underscore(input) word = input.to_s.dup word.gsub!(/::/, '/') word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2') word.gsub!(/([a-z\d])([A-Z])/, '\1_\2') word.tr!('-', '_') word.downcase! word end |