Module: Ballast::Concerns::View
- Defined in:
- lib/ballast/concerns/view.rb
Overview
A concern to help view handling.
Instance Method Summary collapse
-
#browser ⇒ Browser
Returns an instance of the browser.
-
#browser_supported?(file = "config/supported-browsers.yml", root: nil) ⇒ Boolean
Checks if the current browser is supported according to a definition YAML file.
-
#javascript_params(id = nil, tag: :details, attribute: "data-jid") ⇒ String|Hash
Outputs the Javascript parameters.
-
#layout_params(key = nil, default_value = nil) ⇒ Object|Hash|NilClass
(also: #layout_param)
Returns one or all layout parameters.
-
#scope_css ⇒ String
Scopes the CSS of the current page using the controller and action name.
-
#update_javascript_params(key, data, replace: false) ⇒ Object
Adds/Replaces Javascript parameters.
-
#update_layout_params(**args) ⇒ Object
Adds/Replaces layout parameters.
Instance Method Details
#browser ⇒ Browser
Returns an instance of the browser.
20 21 22 |
# File 'lib/ballast/concerns/view.rb', line 20 def browser @browser ||= Brauser::Browser.new(request.user_agent, request.headers["Accept-Language"]) end |
#browser_supported?(file = "config/supported-browsers.yml", root: nil) ⇒ Boolean
Checks if the current browser is supported according to a definition YAML file.
29 30 31 |
# File 'lib/ballast/concerns/view.rb', line 29 def browser_supported?(file = "config/supported-browsers.yml", root: nil) browser.supported?(((Ballast::Configuration.default_root || root) + "/" + file).to_s) end |
#javascript_params(id = nil, tag: :details, attribute: "data-jid") ⇒ String|Hash
Outputs the Javascript parameters.
58 59 60 61 |
# File 'lib/ballast/concerns/view.rb', line 58 def javascript_params(id = nil, tag: :details, attribute: "data-jid") initialize_view_params id ? content_tag(tag, @javascript_params.to_json.html_safe, attribute => id) : @javascript_params end |
#layout_params(key = nil, default_value = nil) ⇒ Object|Hash|NilClass Also known as: layout_param
Returns one or all layout parameters.
38 39 40 41 |
# File 'lib/ballast/concerns/view.rb', line 38 def layout_params(key = nil, default_value = nil) initialize_view_params key ? @layout_params.fetch(key, default_value) : @layout_params end |
#scope_css ⇒ String
Scopes the CSS of the current page using the controller and action name.
13 14 15 |
# File 'lib/ballast/concerns/view.rb', line 13 def scope_css format("%s %s", controller_path.gsub("/", "-"), action_name) end |
#update_javascript_params(key, data, replace: false) ⇒ Object
Adds/Replaces Javascript parameters.
68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/ballast/concerns/view.rb', line 68 def update_javascript_params(key, data, replace: false) initialize_view_params if key @javascript_params[key] = nil if replace @javascript_params[key] ||= {} @javascript_params[key].merge!(data) elsif replace @javascript_params = data.with_indifferent_access else @javascript_params.merge!(data) end end |
#update_layout_params(**args) ⇒ Object
Adds/Replaces layout parameters.
47 48 49 50 |
# File 'lib/ballast/concerns/view.rb', line 47 def update_layout_params(**args) initialize_view_params @layout_params.merge!(args) end |