lib/holidays/definition_factory.rb
require 'holidays/definition/context/generator' require 'holidays/definition/context/merger' require 'holidays/definition/decorator/custom_method_proc' require 'holidays/definition/decorator/custom_method_source' require 'holidays/definition/parser/custom_method' require 'holidays/definition/repository/holidays_by_month' require 'holidays/definition/repository/regions' require 'holidays/definition/repository/cache' require 'holidays/definition/repository/proc_result_cache' require 'holidays/definition/repository/custom_methods' require 'holidays/definition/validator/custom_method' require 'holidays/definition/validator/region' module Holidays module DefinitionFactory class << self def file_parser Definition::Context::Generator.new( custom_method_parser, custom_method_source_decorator, custom_methods_repository, ) end def source_generator Definition::Context::Generator.new( custom_method_parser, custom_method_source_decorator, custom_methods_repository, ) end def merger Definition::Context::Merger.new( holidays_by_month_repository, regions_repository, custom_methods_repository, ) end def custom_method_parser Definition::Parser::CustomMethod.new( custom_method_validator, ) end def custom_method_proc_decorator Definition::Decorator::CustomMethodProc.new end def custom_method_source_decorator Definition::Decorator::CustomMethodSource.new end def region_validator Definition::Validator::Region.new( regions_repository ) end def custom_method_validator Definition::Validator::CustomMethod.new end def holidays_by_month_repository @holidays_repo ||= Definition::Repository::HolidaysByMonth.new end def regions_repository @regions_repo ||= Definition::Repository::Regions.new end def cache_repository @cache_repo ||= Definition::Repository::Cache.new end def proc_result_cache_repository @proc_result_cache_repo ||= Definition::Repository::ProcResultCache.new end def custom_methods_repository @custom_methods_repository ||= Definition::Repository::CustomMethods.new end end end end