Module: DateInterval
- Defined in:
- lib/date_interval.rb,
lib/date_interval/date.rb,
lib/date_interval/filter.rb,
lib/date_interval/parser.rb,
lib/date_interval/version.rb,
lib/date_interval/filter/date.rb,
lib/date_interval/filter/none.rb,
lib/date_interval/transformer.rb,
lib/date_interval/filter/weekday.rb,
lib/date_interval/filter/weekend.rb,
lib/date_interval/filter/holidays.rb,
lib/date_interval/filter/operator.rb,
lib/date_interval/filter/weekdays.rb
Defined Under Namespace
Modules: Filter Classes: Date, Parser, Transformer
Constant Summary collapse
- InvalidRuleError =
Class.new(StandardError)
- VERSION =
"0.0.2"
Class Method Summary collapse
Class Method Details
.parse(expression) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/date_interval.rb', line 21 def self.parse(expression) parser = Parser.new transformer = Transformer.new tree = parser.parse(expression) ast = transformer.apply(tree) Filter.filter( ast[:intervals].flatten.uniq, ast[:filters].kind_of?(Array) ? ast[:filters] : [] ) end |