module Holidays::Factory::Definition

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/holidays/factory/definition.rbs

module Holidays::Factory::Definition
  def regions_repository: () -> Holidays::Definition::Repository::Regions
end

def cache_repository

def cache_repository
  @cache_repo ||= Holidays::Definition::Repository::Cache.new
end

def custom_method_parser

def custom_method_parser
  Holidays::Definition::Parser::CustomMethod.new(
    custom_method_validator,
  )
end

def custom_method_proc_decorator

def custom_method_proc_decorator
  Holidays::Definition::Decorator::CustomMethodProc.new
end

def custom_method_source_decorator

def custom_method_source_decorator
  Holidays::Definition::Decorator::CustomMethodSource.new
end

def custom_method_validator

def custom_method_validator
  Holidays::Definition::Validator::CustomMethod.new
end

def custom_methods_repository

def custom_methods_repository
  @custom_methods_repository ||= Holidays::Definition::Repository::CustomMethods.new
end

def file_parser

def file_parser
  Holidays::Definition::Context::Generator.new(
    custom_method_parser,
    custom_method_source_decorator,
    custom_methods_repository,
    test_parser,
    test_generator,
    module_generator,
  )
end

def function_processor

def function_processor
  Holidays::Definition::Context::FunctionProcessor.new(
    custom_methods_repository,
    proc_result_cache_repository,
  )
end

def holidays_by_month_repository

def holidays_by_month_repository
  @holidays_repo ||= Holidays::Definition::Repository::HolidaysByMonth.new
end

def loader

def loader
  Holidays::Definition::Context::Load.new(
    merger,
    Holidays::FULL_DEFINITIONS_PATH,
  )
end

def merger

def merger
  Holidays::Definition::Context::Merger.new(
    holidays_by_month_repository,
    regions_repository,
    custom_methods_repository,
  )
end

def module_generator

def module_generator
  Holidays::Definition::Generator::Module.new
end

def proc_result_cache_repository

def proc_result_cache_repository
  @proc_result_cache_repo ||= Holidays::Definition::Repository::ProcResultCache.new
end

def region_validator

def region_validator
  Holidays::Definition::Validator::Region.new(
    regions_repository
  )
end

def regions_generator

def regions_generator
  Holidays::Definition::Generator::Regions.new
end

def regions_repository

Experimental RBS support (using type sampling data from the type_fusion project).

def regions_repository: () -> Holidays::Definition::Repository::Regions

This signature was generated using 1 sample from 1 application.

def regions_repository
  @regions_repo ||= Holidays::Definition::Repository::Regions.new(
    Holidays::REGIONS,
    Holidays::PARENT_REGION_LOOKUP,
  )
end

def source_generator

def source_generator
  Holidays::Definition::Context::Generator.new(
    custom_method_parser,
    custom_method_source_decorator,
    custom_methods_repository,
    test_parser,
    test_generator,
    module_generator,
  )
end

def test_decorator

def test_decorator
  Holidays::Definition::Decorator::Test.new
end

def test_generator

def test_generator
  Holidays::Definition::Generator::Test.new(
    test_decorator,
  )
end

def test_parser

def test_parser
  Holidays::Definition::Parser::Test.new(
    Holidays::Definition::Validator::Test.new,
  )
end