class Lookbook::PanelStore
def build_config(name, group_name, *args)
def build_config(name, group_name, *args) opts = if args.many? && args.last.is_a?(Hash) args.last.merge({partial: args.first}) elsif args.any? args.first.is_a?(String) ? {partial: args.first} : args.first else {} end if opts[:partial].present? opts[:name] = name.to_sym opts[:group] = group_name.to_sym Store.new(DEFAULTS.merge(opts)) else raise ConfigError.new("panels must define a partial path", scope: "panels.config") end end