Module: Marfa

Defined in:
lib/marfa.rb,
lib/marfa/cache.rb,
lib/marfa/version.rb,
lib/marfa/controllers.rb,
lib/marfa/css_version.rb,
lib/marfa/helpers/scss.rb,
lib/marfa/configuration.rb,
lib/marfa/helpers/email.rb,
lib/marfa/helpers/style.rb,
lib/marfa/file_templates.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/controllers/css_controller.rb,
lib/marfa/controllers/base_controller.rb

Overview

Extending Marfa

Defined Under Namespace

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

Constant Summary collapse

VERSION =

The version constant for the current version of Marfa

'0.3.2'

Class Method Summary collapse

Class Method Details

._configure_ext_modules(app) ⇒ Object

Configure extending modules



39
40
41
42
43
44
45
46
# File 'lib/marfa/configuration.rb', line 39

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



30
31
32
33
34
35
36
# File 'lib/marfa/configuration.rb', line 30

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 ⇒ Object

Default settings fields for apps



49
50
51
52
53
54
55
# File 'lib/marfa/configuration.rb', line 49

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

.cache ⇒ Object



83
84
85
# File 'lib/marfa/cache.rb', line 83

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

.config ⇒ Object

Configuration



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

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

.configure {|@config| ... } ⇒ Object

Configure Marfa in block

Yields:



22
23
24
25
# File 'lib/marfa/configuration.rb', line 22

def self.configure
  config if @config.nil?
  yield @config
end

.configure_app ⇒ Object

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

.css_version ⇒ Object

return css version



4
5
6
# File 'lib/marfa/css_version.rb', line 4

def self.css_version
  @css_version ||= Time.now.to_i.to_s.freeze
end

.version ⇒ String

The current Marfa version.

Returns:

  • (String) —

    The version number



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

def self.version
  VERSION
end