Module: Marfa

Defined in:
lib/marfa.rb,
lib/marfa/cache.rb,
lib/marfa/version.rb,
lib/marfa/controllers.rb,
lib/marfa/helpers/scss.rb,
lib/marfa/configuration.rb,
lib/marfa/helpers/style.rb,
lib/marfa/models/base_dto.rb,
lib/marfa/models/db_model.rb,
lib/marfa/models/api_model.rb,
lib/marfa/blocks/base_block.rb,
lib/marfa/helpers/http/vary.rb,
lib/marfa/helpers/controller.rb,
lib/marfa/helpers/javascript.rb,
lib/marfa/controllers/css_controller.rb,
lib/marfa/controllers/base_controller.rb

Overview

Extending Marfa

Defined Under Namespace

Modules: Blocks, Controllers, Helpers, Models Classes: Cache

Constant Summary collapse

VERSION =

The version constant for the current version of Marfa

'0.1'

Class Method Summary collapse

Class Method Details

._configure_ext_modules(app) ⇒ Object

Configure extending modules



33
34
35
36
37
38
39
40
# File 'lib/marfa/configuration.rb', line 33

def self._configure_ext_modules(app)
  opts = Marfa.config.html_compression_options

  app.configure do
    app.use Rack::Csrf, raise: true if Marfa.config.csrf_enabled
    app.use HtmlCompressor::Rack, opts if opts && opts[:enabled]
  end
end

._configure_settings(app) ⇒ Object

Configure controller settings



24
25
26
27
28
29
30
# File 'lib/marfa/configuration.rb', line 24

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_settingsObject

Default settings fields for apps



43
44
45
46
47
48
49
# File 'lib/marfa/configuration.rb', line 43

def self._default_settings
  @_default_settings = [
    'public_folder',
    'static_cache_control',
    'views'
  ]
end

.cacheObject



78
79
80
# File 'lib/marfa/cache.rb', line 78

def self.cache
  @cache ||= Marfa::Cache.new
end

.configObject

Configuration



8
9
10
# File 'lib/marfa/configuration.rb', line 8

def self.config
  @config ||= OpenStruct.new
end

.configure_appObject

Configure BaseController - configure Sinatra



13
14
15
16
17
18
19
# File 'lib/marfa/configuration.rb', line 13

def self.configure_app
  return if @config.to_h.empty?

  _configure_settings(Marfa::Controllers::BaseController)
  _configure_settings(Marfa::Controllers::CssController)
  _configure_ext_modules(Marfa::Controllers::BaseController)
end

.versionString

The current Marfa version.

Returns:

  • (String)

    The version number



8
9
10
# File 'lib/marfa/version.rb', line 8

def self.version
  VERSION
end