Class: R2OAS::Routing::RequestComponent
- Inherits:
-
BaseComponent
- Object
- Base
- Base
- BaseComponent
- R2OAS::Routing::RequestComponent
- Defined in:
- lib/r2-oas/routing/components/request_component.rb
Instance Method Summary collapse
-
#initialize(request, is_route_engine) ⇒ RequestComponent
constructor
A new instance of RequestComponent.
-
#to_format_name ⇒ Object
e.x.) “tasks#index { :format => ”:json“ }”.
- #to_schema_name ⇒ Object
-
#to_tag_name ⇒ Object
e.x.) “tasks#index” => “task” e.x.) “RailsAdmin::Engine” => “rails_amin/engine”.
Constructor Details
#initialize(request, is_route_engine) ⇒ RequestComponent
Returns a new instance of RequestComponent.
8 9 10 11 12 |
# File 'lib/r2-oas/routing/components/request_component.rb', line 8 def initialize(request, is_route_engine) super() @request = request @is_route_engine = is_route_engine end |
Instance Method Details
#to_format_name ⇒ Object
e.x.) “tasks#index { :format => ”:json“ }”
53 54 55 56 57 58 59 |
# File 'lib/r2-oas/routing/components/request_component.rb', line 53 def to_format_name result = '' @request.match(/{\:format=>:(?<format_name>.*)}/) do |md| result = md[:format_name] if md[:format_name] end result end |
#to_schema_name ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/r2-oas/routing/components/request_component.rb', line 28 def to_schema_name if @is_route_engine schema_name = @request.split('::').map(&:camelcase).join(ns_div) else # e.x.) @request = "api/v2/posts#index {:format=>:json}" # e.x.) path = "api/v2/post" path = @request.split('#').first.singularize schema_name = path.split('/').map(&:camelcase).join(ns_div) end if use_schema_namespace schema_name_only = schema_name.split(ns_div).last namespace = adjust_namespace(schema_name.split(ns_div)[0..-2].join(ns_div)) if namespace.present? [namespace, schema_name_only].join(ns_div) else schema_name_only end else schema_name.split(ns_div).last end end |
#to_tag_name ⇒ Object
e.x.) “tasks#index” => “task” e.x.) “RailsAdmin::Engine” => “rails_amin/engine”
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/r2-oas/routing/components/request_component.rb', line 16 def to_tag_name tag_name = if @is_route_engine @request.gsub('::', '/').underscore else @request.split('#').first.singularize end tag_name = tag_name.split('/').last unless use_tag_namespace tag_name end |