Sha256: 8d8ec0f8c79d58d525e72dbf25d29c099505e7b375a827d6d25845162dbcca57
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module CubismHelper include CableReady::StreamIdentifier def cubicle_for(resource, user, html_options: {}, appear_trigger: :connect, disappear_trigger: nil, trigger_root: nil, exclude_current_user: true, &block) filename, lineno = block.source_location block_location = block.source_location.join(":") resource_user_key = "#{resource.to_gid}:#{user.to_gid}" digested_block_key = ActiveSupport::Digest.hexdigest("#{block_location}:#{resource_user_key}") Cubism.store[digested_block_key] = Cubism::BlockStoreItem.new( block_location: block_location, resource_gid: resource.to_gid.to_s, user_gid: user.to_gid.to_s ) if Cubism.store[block_location].blank? && !block_location.start_with?("inline template") lines = File.readlines(filename)[lineno - 1..] preprocessor = Cubism::Preprocessor.new(source: lines.join.squish, view_context: self) Cubism.store[block_location] = preprocessor.process end tag.cubicle_element( identifier: signed_stream_identifier(resource.to_gid.to_s), user: user.to_sgid.to_s, "appear-trigger": Array(appear_trigger).join(","), "disappear-trigger": disappear_trigger, "trigger-root": trigger_root, id: "cubicle-#{digested_block_key}", "exclude-current-user": exclude_current_user, **html_options ) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cubism-0.1.0.pre10 | app/helpers/cubism_helper.rb~ |