Class: Hanami::Config::Views

Inherits:
Object
  • Object
show all
Includes:
Dry::Configurable
Defined in:
lib/hanami/config/views.rb

Overview

Hanami views config

This exposes all the settings from the standalone Hanami::View class, pre-configured with sensible defaults for actions within a full Hanami app. It also provides additional settings for further integration of views with other full stack app components.

Since:

  • 2.1.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeViews

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Views.

Since:

  • 2.1.0



43
44
45
46
47
48
49
# File 'lib/hanami/config/views.rb', line 43

def initialize(*)
  super

  @base_config = Hanami::View.config.dup

  configure_defaults
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object (private)

Since:

  • 2.1.0



84
85
86
87
88
89
90
91
92
93
94
# File 'lib/hanami/config/views.rb', line 84

def method_missing(name, *args, &block)
  return super if NON_FORWARDABLE_METHODS.include?(name)

  if config.respond_to?(name)
    config.public_send(name, *args, &block)
  elsif base_config.respond_to?(name)
    base_config.public_send(name, *args, &block)
  else
    super
  end
end

Instance Attribute Details

#default_template_engineObject

Sets or returns the default template engine to use for generated views.

Used by generators when no explicit template engine is specified. Supports erb, haml, and slim.

Defaults to "erb".



34
# File 'lib/hanami/config/views.rb', line 34

setting :default_template_engine, default: "erb"

Instance Method Details

#finalize!Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 2.1.0



61
62
63
64
65
66
67
# File 'lib/hanami/config/views.rb', line 61

def finalize!
  return self if frozen?

  base_config.finalize!

  super
end