module Marfa
requires all submodules
Extending Marfa
Redis-cache wrapper
Extending Marfa
CSS version
Extending Marfa
This module contains file templates for generate new project structure
Email adapter for Pony gem
see github.com/philipp-kempgen/sinatra-helpers-http-vary see Marfa
Sinatra SCSS customization
Rendering and caching style
Extending Marfa
Extend Marfa
Version constant
Constants
- VERSION
The version constant for the current version of
Marfa
Public Class Methods
cache()
click to toggle source
# File lib/marfa/cache.rb, line 84 def self.cache @cache ||= Marfa::Cache.new end
config()
click to toggle source
Configuration
# File lib/marfa/configuration.rb, line 10 def self.config @config ||= OpenStruct.new end
configure() { |config| ... }
click to toggle source
Configure Marfa
in block
# File lib/marfa/configuration.rb, line 25 def self.configure config if @config.nil? yield @config end
configure_app()
click to toggle source
Configure BaseController - configure Sinatra
# File lib/marfa/configuration.rb, line 15 def self.configure_app return if @config.to_h.empty? _configure_settings(Marfa::Controllers::BaseController) _configure_settings(Marfa::Controllers::CssController) if Marfa.config.use_css_build _configure_ext_modules(Marfa::Controllers::BaseController) _configure_logger end
css_version()
click to toggle source
return css version
# File lib/marfa/css_version.rb, line 4 def self.css_version @css_version ||= Time.now.to_i.to_s end
version()
click to toggle source
The current Marfa
version. @return [String] The version number
# File lib/marfa/version.rb, line 8 def self.version VERSION end
Private Class Methods
_configure_ext_modules(app)
click to toggle source
Configure extending modules
# File lib/marfa/configuration.rb, line 42 def self._configure_ext_modules(app) # Compression options compression_opts = Marfa.config.html_compression_options # Session options session_opts = Marfa.config.session_options app.configure do app.use Rack::Csrf, raise: true if Marfa.config.csrf_enabled app.use HtmlCompressor::Rack, compression_opts if compression_opts && compression_opts[:enabled] app.use Rack::Session::Cookie, key: session_opts[:key], secret: session_opts[:secret], coder: session_opts[:coder] if session_opts && session_opts[:enabled] end end
_configure_logger()
click to toggle source
# File lib/marfa/configuration.rb, line 59 def self._configure_logger $logger = Logger.new(STDOUT) $logger.level = Marfa.config.logging_level $logger.datetime_format = Marfa.config.logging_datetime_format end
_configure_settings(app)
click to toggle source
Configure controller settings
# File lib/marfa/configuration.rb, line 33 def self._configure_settings(app) _default_settings @_default_settings.each do |setting| app.set setting.to_sym, Marfa.config[setting] unless Marfa.config[setting].nil? end end
_default_settings()
click to toggle source
Default settings fields for apps
# File lib/marfa/configuration.rb, line 66 def self._default_settings @_default_settings = %w[ public_folder static_cache_control views environment logging logging_level dump_errors show_exceptions ] end