class StimulusReflexGlobalid::Engine

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/stimulus_reflex_globalid/engine.rb, line 38
def self.configure
  yield self if block_given?
end
new(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}) click to toggle source
# File lib/stimulus_reflex_globalid/engine.rb, line 22
def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {})
  original_initialize(channel, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params)

  @element.dataset.to_h.each do |k, v|
    model = nil

    model = GlobalID::Locator.locate(v) if StimulusReflexGlobalid::Engine.allow_unsigned
    model = GlobalID::Locator.locate_signed(v) if StimulusReflexGlobalid::Engine.allow_signed && !model

    instance_variable_set(:"@#{k}", model) if model
  end
end