class Futurism::Helpers::WrappingFuturismElement
wraps functionality for rendering a futurism element
Attributes
broadcast_each[R]
controller[R]
data_attributes[R]
eager[R]
extends[R]
html_options[R]
model[R]
options[R]
placeholder[R]
Public Class Methods
new(extends:, placeholder:, options:)
click to toggle source
# File lib/futurism/helpers.rb, line 58 def initialize(extends:, placeholder:, options:) @extends = extends @placeholder = placeholder @eager = options.delete(:eager) @broadcast_each = options.delete(:broadcast_each) @controller = options.delete(:controller) @html_options = options.delete(:html_options) || {} @data_attributes = html_options.fetch(:data, {}).except(:sgid, :signed_params) @model = options.delete(:model) @options = data_attributes.any? ? options.merge(data: data_attributes) : options end
Public Instance Methods
dataset()
click to toggle source
# File lib/futurism/helpers.rb, line 70 def dataset data_attributes.merge({ signed_params: signed_params, sgid: model && model.to_sgid.to_s, eager: eager.presence, broadcast_each: broadcast_each.presence, signed_controller: signed_controller }) end
render()
click to toggle source
# File lib/futurism/helpers.rb, line 80 def render case extends when :li content_tag :li, placeholder, html_options.deep_merge({data: dataset, is: "futurism-li"}) when :tr content_tag :tr, placeholder, html_options.deep_merge({data: dataset, is: "futurism-table-row"}) else content_tag :"futurism-element", placeholder, html_options.deep_merge({data: dataset}) end end
transformed_options()
click to toggle source
# File lib/futurism/helpers.rb, line 91 def transformed_options require_relative "shims/deep_transform_values" unless options.respond_to? :deep_transform_values options.deep_transform_values do |value| next(value) unless value.respond_to?(:to_global_id) next(value) if value.is_a?(ActiveRecord::Base) && value.new_record? value.to_global_id.to_s end end
Private Instance Methods
signed_controller()
click to toggle source
# File lib/futurism/helpers.rb, line 108 def signed_controller return unless controller.present? message_verifier.generate(controller.to_s) end
signed_params()
click to toggle source
# File lib/futurism/helpers.rb, line 104 def signed_params message_verifier.generate(transformed_options) end