Sha256: 53a3b038b0480efa74435fab6ddbf4bd5a4c53670bcdf3c0f7d64049a4bac961
Contents?: true
Size: 985 Bytes
Versions: 6
Compression:
Stored size: 985 Bytes
Contents
module Ecoportal module API class V1 class SchemaField < Common::BaseModel passthrough :id, :alt_id, :name, :optional, :shared, :multiple, :type, :options def parse_text(value) values = [*value.to_s.lines].map do |line| line = line.chomp next if line == "" case type when "text", "phone_number" line when "number" Float(line) rescue return nil, false when "boolean" %w[true TRUE True Y y YES X x].include?(line) when "select" return nil, false unless options.include?(line) line when "date" Date.parse(line) rescue return nil, false end end.compact if multiple return values, true else return values.first, true end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems