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