Module: YiffSpace::Utils::Routes

Defined in:
lib/yiffspace/utils/routes.rb

Overview

Allow Rails URL helpers to be used outside of views.

Examples:

Routes.posts_path(tags: "male")
=> "/posts?tags=male"

See Also:

Class Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object (private)



16
17
18
19
20
21
# File 'lib/yiffspace/utils/routes.rb', line 16

def method_missing(name, *, &)
  url_helpers = Rails.application.routes.url_helpers
  return url_helpers.public_send(name, *, &) if url_helpers.respond_to?(name)

  super
end

Class Method Details

.method_missing(name) ⇒ Object



16
17
18
19
20
21
# File 'lib/yiffspace/utils/routes.rb', line 16

def method_missing(name, *, &)
  url_helpers = Rails.application.routes.url_helpers
  return url_helpers.public_send(name, *, &) if url_helpers.respond_to?(name)

  super
end

.respond_to_missing?(name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/yiffspace/utils/routes.rb', line 23

def respond_to_missing?(name, include_private = false)
  Rails.application.routes.url_helpers.respond_to?(name, include_private) || super
end