Sha256: 85813a20754b543a0a6ef7b953acc9b2e1d7df3c478f59a2ea7b285effee9d63

Contents?: true

Size: 803 Bytes

Versions: 3

Compression:

Stored size: 803 Bytes

Contents

module Suricate
  class ConfigurationBuilder
    attr_accessor :templates_directory, :public_directory, :default_page

    def configuration
      Configuration.new(template_repository: template_repository,
                        widget_repository: widget_repository,
                        default_page: @default_page,
                        public_directory: @public_directory)
    end

    def widgets
      yield widget_configurations_builder
    end

    private
    def template_repository
      TemplateRepository.new(@templates_directory)
    end

    def widget_repository
      WidgetRepository.new(widget_configurations_builder.configurations)
    end

    def widget_configurations_builder
      @widgets_builder ||= WidgetConfigurationsBuilder.new(template_repository)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
suricate-0.0.4 lib/suricate/configuration/configuration_builder.rb
suricate-0.0.3 lib/suricate/configuration/configuration_builder.rb
suricate-0.0.2 lib/suricate/configuration/configuration_builder.rb