class RailsTwirp::ServiceMapper::Mapping
Attributes
action[R]
controller[R]
Public Class Methods
new(to:, **options)
click to toggle source
# File lib/rails_twirp/mapper.rb, line 8 def initialize(to:, **options) controller, @action = split_to(to) @controller = add_controller_module(controller, options.delete(:module)) raise ArgumentError, "Unknown argument #{options.keys.first}" unless options.empty? end
Public Instance Methods
to_s()
click to toggle source
# File lib/rails_twirp/mapper.rb, line 14 def to_s "#{controller}##{action}" end
Private Instance Methods
add_controller_module(controller, modyoule)
click to toggle source
# File lib/rails_twirp/mapper.rb, line 29 def add_controller_module(controller, modyoule) return controller unless modyoule if controller&.start_with?("/") -controller[1..] else -[modyoule, controller].compact.join("/") end end
split_to(to)
click to toggle source
copied from Rails
# File lib/rails_twirp/mapper.rb, line 21 def split_to(to) if /#/.match?(to) to.split("#").map!(&:-@) else [] end end