Module: Holidays::Factory::Definition

Defined in:
lib/holidays/factory/definition.rb

Class Method Summary collapse

Class Method Details

.cache_repository ⇒ Object



100
101
102
# File 'lib/holidays/factory/definition.rb', line 100

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

.custom_method_parser ⇒ Object



65
66
67
68
69
# File 'lib/holidays/factory/definition.rb', line 65

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

.custom_method_proc_decorator ⇒ Object



71
72
73
# File 'lib/holidays/factory/definition.rb', line 71

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

.custom_method_source_decorator ⇒ Object



75
76
77
# File 'lib/holidays/factory/definition.rb', line 75

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

.custom_method_validator ⇒ Object



85
86
87
# File 'lib/holidays/factory/definition.rb', line 85

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

.custom_methods_repository ⇒ Object



108
109
110
# File 'lib/holidays/factory/definition.rb', line 108

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

.file_parser ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/holidays/factory/definition.rb', line 26

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

.function_processor ⇒ Object



48
49
50
51
52
53
# File 'lib/holidays/factory/definition.rb', line 48

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

.holidays_by_month_repository ⇒ Object



89
90
91
# File 'lib/holidays/factory/definition.rb', line 89

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

.loader ⇒ Object



116
117
118
119
120
121
# File 'lib/holidays/factory/definition.rb', line 116

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

.merger ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/holidays/factory/definition.rb', line 55

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

.module_generator ⇒ Object



123
124
125
# File 'lib/holidays/factory/definition.rb', line 123

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

.proc_result_cache_repository ⇒ Object



104
105
106
# File 'lib/holidays/factory/definition.rb', line 104

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

.region_validator ⇒ Object



79
80
81
82
83
# File 'lib/holidays/factory/definition.rb', line 79

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

.regions_generator ⇒ Object



112
113
114
# File 'lib/holidays/factory/definition.rb', line 112

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

.regions_repository ⇒ Object



93
94
95
96
97
98
# File 'lib/holidays/factory/definition.rb', line 93

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

.source_generator ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/holidays/factory/definition.rb', line 37

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

.test_decorator ⇒ Object



133
134
135
# File 'lib/holidays/factory/definition.rb', line 133

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

.test_generator ⇒ Object



127
128
129
130
131
# File 'lib/holidays/factory/definition.rb', line 127

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

.test_parser ⇒ Object



137
138
139
140
141
# File 'lib/holidays/factory/definition.rb', line 137

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