Class: SideBro::Web

Inherits:
Object
  • Object
show all
Defined in:
lib/side_bro/web.rb,
lib/side_bro/web/action.rb,
lib/side_bro/web/router.rb,
lib/side_bro/web/application.rb

Defined Under Namespace

Classes: Action, Application, FlashHash, Router

Constant Summary collapse

ASSETS_PATH =
File.expand_path("../../web/assets", __dir__)

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.translationsObject (readonly)

Returns the value of attribute translations.



21
22
23
# File 'lib/side_bro/web.rb', line 21

def translations
  @translations
end

Class Method Details

.call(env) ⇒ Object



23
24
25
26
# File 'lib/side_bro/web.rb', line 23

def call(env)
  @inst ||= build
  @inst.call(env)
end

.extensionsObject



51
52
53
# File 'lib/side_bro/web.rb', line 51

def extensions
  @extensions || []
end

.load_locale(path) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/side_bro/web.rb', line 55

def load_locale(path)
  data = YAML.safe_load_file(path, permitted_classes: [])
  data.each do |lang, keys|
    @translations[lang.to_s] ||= {}
    @translations[lang.to_s].merge!(keys || {})
  end
end

.register_extension(extclass, name:, tab: nil, index: nil, root_dir: nil, asset_paths: nil, cache_for: 86400) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/side_bro/web.rb', line 37

def register_extension(extclass, name:, tab: nil, index: nil, root_dir: nil, asset_paths: nil, cache_for: 86400)
  @extensions ||= []
  @extensions << {
    class: extclass,
    name: name,
    tab: tab,
    index: index,
    root_dir: root_dir,
    asset_paths: asset_paths,
    cache_for: cache_for
  }
  @inst = nil  # reset cached instance
end

.reset!Object



33
34
35
# File 'lib/side_bro/web.rb', line 33

def reset!
  @inst = nil
end

.use(middleware, *args, &block) ⇒ Object



28
29
30
31
# File 'lib/side_bro/web.rb', line 28

def use(middleware, *args, &block)
  @middlewares << [middleware, args, block]
  @inst = nil  # reset cached instance
end