def defaults(options)
raise ArgumentError, 'Class method :defaults expects a hash of options.' unless options.is_a? Hash
options.symbolize_keys!
options.assert_valid_keys(:resource_class, :collection_name, :instance_name,
:class_name, :route_prefix, :route_collection_name,
:route_instance_name, :singleton, :finder)
self.resource_class = options[:resource_class] if options.key?(:resource_class)
self.resource_class = options[:class_name].constantize if options.key?(:class_name)
acts_as_singleton! if options.delete(:singleton)
config = self.resources_configuration[:self]
config[:route_prefix] = options.delete(:route_prefix) if options.key?(:route_prefix)
if options.key?(:resource_class) or options.key?(:class_name)
config[:request_name] = self.resource_class.to_s.underscore.gsub('/', '_')
options.delete(:resource_class) and options.delete(:class_name)
end
options.each do |key, value|
config[key] = value.to_sym
end
create_resources_url_helpers!
end