module ViewComponent::Liquify

Public Instance Methods

liquid_accessor(*varnames) click to toggle source
# File lib/view_component_liquid.rb, line 27
def liquid_accessor(*varnames)
  self.liquid_keys ||= Set.new
  varnames.each do |varname|
    self.liquid_keys << varname
    attr_accessor varname
  end
end
local_assigns() click to toggle source
# File lib/view_component_liquid.rb, line 46
def local_assigns
  {}.yield_self do |assigns|
    self.class.liquid_keys.each do |key|
      assigns[key] = send(key)
    end
    assigns
  end
end
matching_views_in_source_location() click to toggle source

Look for both compname.liquid and compname_component.liquid

# File lib/view_component_liquid.rb, line 38
def matching_views_in_source_location
  location_without_extension = source_location.chomp(File.extname(source_location)).split("/").tap do |pathname|
    pathname.last.delete_suffix! "_component"
  end.join("/")
  Dir["#{location_without_extension}.liquid", "#{location_without_extension}_component.liquid"]
end