module DateInterval

Constants

InvalidRuleError
VERSION

Public Class Methods

parse(expression) click to toggle source
# File lib/date_interval.rb, line 21
def self.parse(expression)
  tree = parser.parse(expression)
  ast = transformer.apply(tree)

  Filter.filter(
    ast[:intervals].flatten.uniq,
    ast[:filters].kind_of?(Array) ? ast[:filters] : []
  )
end
valid?(expression) click to toggle source
# File lib/date_interval.rb, line 31
def self.valid?(expression)
  parser.parse(expression)
  return true
rescue Parslet::ParseFailed
  return false
end

Private Class Methods

parser() click to toggle source
# File lib/date_interval.rb, line 39
def self.parser
  Parser.new
end
transformer() click to toggle source
# File lib/date_interval.rb, line 43
def self.transformer
  Transformer.new
end