Class: ActionDispatch::Routing::RouteWrapper

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/action_dispatch/routing/inspector.rb

Instance Method Summary collapse

Instance Method Details

#actionObject



60
61
62
# File 'lib/action_dispatch/routing/inspector.rb', line 60

def action
  requirements[:action] || ':action'
end

#constraintsObject



11
12
13
# File 'lib/action_dispatch/routing/inspector.rb', line 11

def constraints
  requirements.except(:controller, :action)
end

#controllerObject



56
57
58
# File 'lib/action_dispatch/routing/inspector.rb', line 56

def controller
  requirements[:controller] || ':controller'
end

#endpointObject



7
8
9
# File 'lib/action_dispatch/routing/inspector.rb', line 7

def endpoint
  app.dispatcher? ? "#{controller}##{action}" : rack_app.inspect
end

#engine?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/action_dispatch/routing/inspector.rb', line 68

def engine?
  rack_app.respond_to?(:routes)
end

#internal?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/action_dispatch/routing/inspector.rb', line 64

def internal?
  controller.to_s =~ %r{\Arails/(info|mailers|welcome)} || path =~ %r{\A#{Rails.application.config.assets.prefix}\z}
end

#json_regexpObject



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/action_dispatch/routing/inspector.rb', line 35

def json_regexp
  str = regexp.inspect.
        sub('\\A' , '^').
        sub('\\Z' , '$').
        sub('\\z' , '$').
        sub(/^\// , '').
        sub(/\/[a-z]*$/ , '').
        gsub(/\(\?#.+\)/ , '').
        gsub(/\(\?-\w+:/ , '(').
        gsub(/\s/ , '')
  Regexp.new(str).source
end

#nameObject



27
28
29
# File 'lib/action_dispatch/routing/inspector.rb', line 27

def name
  super.to_s
end

#pathObject



23
24
25
# File 'lib/action_dispatch/routing/inspector.rb', line 23

def path
  super.spec.to_s
end

#rack_appObject



15
16
17
# File 'lib/action_dispatch/routing/inspector.rb', line 15

def rack_app
  app.app
end

#regexpObject



31
32
33
# File 'lib/action_dispatch/routing/inspector.rb', line 31

def regexp
  __getobj__.path.to_regexp
end

#reqsObject



48
49
50
51
52
53
54
# File 'lib/action_dispatch/routing/inspector.rb', line 48

def reqs
  @reqs ||= begin
    reqs = endpoint
    reqs += " #{constraints}" unless constraints.empty?
    reqs
  end
end

#verbObject



19
20
21
# File 'lib/action_dispatch/routing/inspector.rb', line 19

def verb
  super.source.gsub(/[$^]/, '')
end