Module: Fluent::TextParser::TypeConverter

Included in:
RegexpParser, ValuesParser
Defined in:
lib/fluent/parser.rb

Constant Summary collapse

Converters =
{
  'string' => lambda { |v| v.to_s },
  'integer' => lambda { |v| v.to_i },
  'float' => lambda { |v| v.to_f },
  'bool' => lambda { |v|
    case v.downcase
    when 'true', 'yes', '1'
      true
    else
      false
    end
  },
  'time' => lambda { |v, time_parser|
    time_parser.parse(v)
  },
  'array' => lambda { |v, delimiter|
    v.to_s.split(delimiter)
  }
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



124
125
126
127
128
129
130
# File 'lib/fluent/parser.rb', line 124

def self.included(klass)
  klass.instance_eval {
    config_param :types, :string, default: nil
    config_param :types_delimiter, :string, default: ','
    config_param :types_label_delimiter, :string, default: ':'
  }
end

Instance Method Details

#configure(conf) ⇒ Object



132
133
134
135
136
# File 'lib/fluent/parser.rb', line 132

def configure(conf)
  super

  @type_converters = parse_types_parameter unless @types.nil?
end