module Feriados::Rules
Public Class Methods
create_with(rule)
click to toggle source
# File lib/feriados/rules.rb, line 57 def self.create_with(rule) rule = Rule.new(rule) return DayOfMonth.new(rule.day, rule.month, rule.name) if rule.day_of_month? return FixWeekDay.new(rule.week, rule.day, rule.month, rule.name) if rule.week_day? return FixDate.new(rule.year, rule.month, rule.day, rule.name) if rule.fix_date? raise ArgumentError, "Argument #{rule} is not a valid rule" unless rule.function? function_name = rule.function_name class_name = "Feriados::Rules::#{function_name}".split('::') klass = class_name.inject(Object) { |obj, const| obj.const_get(const) } klass.name = rule.name klass end