Class: Djin::IncludeResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/djin/include_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_directory: '.', remote_directory: '~/.djin/remote', entity_class: Djin::IncludeConfig) ⇒ IncludeResolver

Returns a new instance of IncludeResolver.



8
9
10
11
12
13
# File 'lib/djin/include_resolver.rb', line 8

def initialize(base_directory: '.', remote_directory: '~/.djin/remote', entity_class: Djin::IncludeConfig)
  # TODO: Use chain of responsability
  @base_directory = Pathname.new(base_directory)
  @remote_directory = Pathname.new(remote_directory)
  @entity_class = entity_class
end

Instance Method Details

#call(params) ⇒ Object



15
16
17
18
19
20
# File 'lib/djin/include_resolver.rb', line 15

def call(params)
  include_config_params = remote_handler(params)
  include_config_params ||= local_handler(params)

  build_entity(include_config_params)
end