lib/eco/api/common/people/default_parsers/numeric_parser.rb in eco-helpers-1.5.1 vs lib/eco/api/common/people/default_parsers/numeric_parser.rb in eco-helpers-1.5.2

- old
+ new

@@ -1,23 +1,18 @@ -module Eco - module API - module Common - module People - class DefaultParsers - class NumericParser < People::BaseParser +class Eco::API::Common::People::DefaultParsers::NumericParser < Eco::API::Common::Loaders::Parser + attribute :number - def process - @parsers.define_attribute(:number, dependencies: @options) do |parser| - parser.def_parser do |value, deps| - value = value.to_s.strip.empty? ? nil : (value.to_f rescue nil) - end.def_serializer do |value| - value.is_a?(Array) ? value.map { |v| v.to_s } : value.to_s - end - end - end + def parser(value, deps) + value.is_a?(Array) ? value.map { |v| parse_number(v) } : parse_number(value) + end - end - end - end - end + def serializer(value, deps) + value.is_a?(Array) ? value.map { |v| v.to_s } : value.to_s end + + private + + def parse_number(value) + value.to_s.strip.empty? ? nil : (value.to_f rescue nil) + end + end