module Material::Site

Public Instance Methods

default_parent() click to toggle source
# File lib/material/concerns/site.rb, line 37
def default_parent
  nil
end
register_materialize_component(key, default_value_method = nil) click to toggle source
# File lib/material/concerns/site.rb, line 14
def register_materialize_component(key, default_value_method = nil)
  register_component(key) { public_send(default_value_method) }
  define_method(key) do
    value = public_send("#{key}_value".to_sym)
    Material::Base.for(value) unless value.nil?
  end
end
register_path_component(key, route_key_method) click to toggle source
# File lib/material/concerns/site.rb, line 22
def register_path_component(key, route_key_method)
  register_component(route_key_method) { try(:model_name)&.public_send(route_key_method) }
  register_component(key) do
    route_key = public_send(route_key_method)
    "#{route_key}_path".to_sym if route_key.present?
  end

  define_method("#{key}?") do
    return false unless defined?(Rails)

    Rails.application.routes.url_helpers.respond_to?(public_send("#{key}_value".to_sym))
  end
end