Sha256: b4dce568497160fae8dceeaa1f35c66f5e3d3c179df970c35fdb71cfca8c3d55

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

module Doing
  module Types
    REGEX_CASE = /^[cis].*?$/i.freeze
    REGEX_TAG_SORT = /^(?:n(?:ame)?|t(?:ime)?)$/i.freeze
    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)
    BooleanSymbol = Class.new(Symbol)
    CaseSymbol = Class.new(Symbol)
    AgeSymbol = Class.new(String)
    OrderSymbol = Class.new(Symbol)
    TagSortSymbol = Class.new(Symbol)
    MatchingSymbol = Class.new(Symbol)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
doing-2.1.33 lib/doing/types.rb