Sha256: 339ff5a70d267e0d483f67de83f6beb017d1090e04f7274ee5572cb5be4ba97d

Contents?: true

Size: 1.32 KB

Versions: 14

Compression:

Stored size: 1.32 KB

Contents

class Mathematical
  module Validator

    FORMAT_TYPES = [:svg, :png, :mathml].freeze
    RENDER_TYPES = [:parse, :filter, :text_filter, :strict_filter].freeze

    def validate_config(config)
      fail(TypeError, 'maxsize must be an integer!') unless config[:maxsize].is_a? Fixnum
      fail(TypeError, 'maxsize cannot be less than 0!') if config[:maxsize] < 0
      fail(TypeError, 'format must be a symbol!') unless config[:format].is_a? Symbol
      fail(TypeError, "format type must be one of the following formats: #{FORMAT_TYPES.join(', ')}") unless FORMAT_TYPES.include?(config[:format])
      if config[:delimiter].is_a?(Symbol)
        Configuration::Delimiters.option_exists?(config[:delimiter])
      elsif config[:delimiter].is_a?(Array)
        config[:delimiter] = [nil] if config[:delimiter].empty?

        config[:delimiter].each do |delim|
          Configuration::Delimiters.option_exists?(delim)
        end
      else
        fail(TypeError, 'delimiter type must be a valid symbol or array of symbols')
      end
    end

    def validate_content(maths)
      if maths.is_a? Array
        maths.map { |m| validate_string(m) }
      else
        validate_string(maths)
      end
    end

    def validate_string(maths)
      fail(ArgumentError, 'input must be string!') unless maths.is_a?(String)
      maths.strip
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
mathematical-1.6.8 lib/mathematical/validator.rb
mathematical-1.6.7 lib/mathematical/validator.rb
mathematical-1.6.6 lib/mathematical/validator.rb
mathematical-1.6.5 lib/mathematical/validator.rb
mathematical-1.6.4 lib/mathematical/validator.rb
mathematical-1.6.3 lib/mathematical/validator.rb
mathematical-1.6.2 lib/mathematical/validator.rb
mathematical-1.6.1 lib/mathematical/validator.rb
mathematical-1.6.0 lib/mathematical/validator.rb
mathematical-1.5.12 lib/mathematical/validator.rb
mathematical-1.5.0 lib/mathematical/validator.rb
mathematical-1.4.2 lib/mathematical/validator.rb
mathematical-1.4.1 lib/mathematical/validator.rb
mathematical-1.4.0 lib/mathematical/validator.rb