module InertiaRails

Constants

VERSION

Public Class Methods

configure() { |Configuration| ... } click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 9
def self.configure
  yield(Configuration)
end
layout() click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 22
def self.layout
  Configuration.layout
end
lazy(value = nil, &block) click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 40
def self.lazy(value = nil, &block)
  InertiaRails::Lazy.new(value, &block)
end
reset!() click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 35
def self.reset!
  self.shared_plain_data = {}
  self.shared_blocks = []
end
share(**args) click to toggle source

“Setters”

# File lib/inertia_rails/inertia_rails.rb, line 27
def self.share(**args)
  self.shared_plain_data = self.shared_plain_data.merge(args)
end
share_block(block) click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 31
def self.share_block(block)
  self.shared_blocks = self.shared_blocks + [block]
end
shared_data(controller) click to toggle source

“Getters”

# File lib/inertia_rails/inertia_rails.rb, line 14
def self.shared_data(controller)
  shared_plain_data.merge!(evaluated_blocks(controller, shared_blocks))
end
version() click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 18
def self.version
  Configuration.evaluated_version
end

Private Class Methods

evaluated_blocks(controller, blocks) click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 72
def self.evaluated_blocks(controller,  blocks)
  blocks.flat_map { |block| controller.instance_exec(&block) }.reduce(&:merge) || {}
end
shared_blocks() click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 64
def self.shared_blocks
  self.threadsafe_shared_blocks || []
end
shared_blocks=(val) click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 68
def self.shared_blocks=(val)
  self.threadsafe_shared_blocks = val
end
shared_plain_data() click to toggle source

Getters and setters to provide default values for the threadsafe attributes

# File lib/inertia_rails/inertia_rails.rb, line 56
def self.shared_plain_data
  self.threadsafe_shared_plain_data || {}
end
shared_plain_data=(val) click to toggle source
# File lib/inertia_rails/inertia_rails.rb, line 60
def self.shared_plain_data=(val)
  self.threadsafe_shared_plain_data = val
end