module KRPC::ProcedureNameParser
Public Class Methods
parse(proc_name)
click to toggle source
# File lib/krpc/procedure_name_parser.rb, line 6 def self.parse(proc_name) parts = proc_name.split('_') name = parts[-1] raise(ProcedureNameParserError, "Procedure name is empty") if proc_name.empty? raise(ProcedureNameParserError, "Invalid procedure name") if parts.size > 3 case parts.size when 1 Result.new(:plain_procedure, false, false, name, nil) when 2 case parts[0] when 'get' Result.new(:service_property_getter, false, false, name, nil) when 'set' Result.new(:service_property_setter, true, false, name, nil) else Result.new(:class_method, false, true, name, parts[0]) end when 3 case parts[1] when 'get' Result.new(:class_property_getter, false, true, name, parts[0]) when 'set' Result.new(:class_property_setter, true, true, name, parts[0]) when 'static' Result.new(:class_static_method, false, true, name, parts[0]) else raise(ProcedureNameParserError, "Invalid procedure name") end end end