Sha256: 5bc0b19247f5187b5bdbc121cdc3ccd4e05d6291cb1b5773a9c0d7c496c701d1

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

module Doing
  module Types
    REGEX_BOOL = /^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$/i.freeze
    REGEX_SORT_ORDER = /^(?:a(?:sc)?|d(?:esc)?)$/i.freeze
    REGEX_VALUE_QUERY = /^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$/.freeze
    REGEX_CLOCK = '(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)'
    REGEX_TIME = /^#{REGEX_CLOCK}$/i.freeze
    REGEX_DAY = /^(mon|tue|wed|thur?|fri|sat|sun)(\w+(day)?)?$/i.freeze
    REGEX_RANGE_INDICATOR = ' +(?:to|through|thru|(?:un)?til|-+) +'
    REGEX_RANGE = /^\S+#{REGEX_RANGE_INDICATOR}+\S+/i.freeze
    REGEX_TIME_RANGE = /^#{REGEX_CLOCK}#{REGEX_RANGE_INDICATOR}#{REGEX_CLOCK}$/i.freeze

    InvalidExportType = Class.new(RuntimeError)
    MissingConfigFile = Class.new(RuntimeError)

    TagArray = Class.new(Array)
    TemplateName = Class.new(String)
    DateBeginString = Class.new(DateTime)
    DateEndString = Class.new(DateTime)
    DateRangeString = Class.new(Array)
    DateRangeOptionalString = Class.new(Array)
    DateIntervalString = Class.new(DateTime)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
doing-2.1.26 lib/doing/types.rb
doing-2.1.25 lib/doing/types.rb