class Feriados::Rules::Rule

Attributes

rule[R]

Public Class Methods

new(rule) click to toggle source
# File lib/feriados/rules.rb, line 25
def initialize(rule)
  @rule = OpenStruct.new(rule)
end

Public Instance Methods

day_of_month?() click to toggle source
# File lib/feriados/rules.rb, line 37
def day_of_month?
  rule.day && rule.month && !fix_date? && !week_day?
end
fix_date?() click to toggle source
# File lib/feriados/rules.rb, line 33
def fix_date?
  rule.day && rule.month && rule.year
end
function?() click to toggle source
# File lib/feriados/rules.rb, line 41
def function?
  functions = %i[easter holy_thursday holy_friday carnival_monday
                 carnival_tuesday]

  functions.map { |e| rule.respond_to?(e) }.any?
end
function_name() click to toggle source
# File lib/feriados/rules.rb, line 52
def function_name
  rule.to_h.keys.first.to_s.split('_').collect(&:capitalize).join
end
name() click to toggle source
# File lib/feriados/rules.rb, line 48
def name
  rule[:name] || rule.to_h.values.first
end
week_day?() click to toggle source
# File lib/feriados/rules.rb, line 29
def week_day?
  rule.day && rule.month && rule.week
end