Sha256: 99cffc78c7f994cb99c8066d2393fac91427fc01c88468b53ac80b27c18bf6c8

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

module Dozuki
  module Parsers
    module String
      def self.parse(node)
        node.text.strip
      end
    end
    module Integer
      def self.parse(node)
        string = String.parse(node)
        begin
          Integer(string)
        rescue ArgumentError
          raise InvalidFormat.new(:node => node, :value => string, :format => "integer")
        end
      end
    end
    module Float
      def self.parse(node)
        string = String.parse(node)
        begin
          Float(string)
        rescue ArgumentError
          raise InvalidFormat.new(:node => node, :value => string, :format => "float")
        end
      end
    end
    module Date
      def self.parse(node)
        string = String.parse(node)
        begin
          ::Date.parse(string)
        rescue ArgumentError
          raise InvalidFormat.new(:node => node, :value => string, :format => "date")
        end
      end
    end
    module Boolean
      def self.parse(node)
        true_values.include? String.parse(node)
      end
      def self.true_values
        ['1', 'true']
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dozuki-0.4.0 lib/dozuki/parsers.rb