Sha256: 8fa8ed04ecbf3f3ff34f2d487dfcd5bec9cd9009cb42cf265517ba544f95d692
Contents?: true
Size: 976 Bytes
Versions: 3
Compression:
Stored size: 976 Bytes
Contents
module VerifiedDouble class ParseMethodSignature attr_reader :string def initialize(string) @string = string end def args results = string.scan(/\((.*)\)/)[0] if results results[0].split(',').map{|arg| MethodSignatureValue.new(eval(arg)) } else [] end end def class_name string.scan(/(.*)[\.\#]/)[0][0] end def execute MethodSignature.new( class_name: class_name, method_operator: method_operator, method: method, args: args, return_values: return_values) end def method string.scan(/[\.\#](.*?)(=>|\(|$)/)[0][0] end def method_operator string.scan(/[\.\#]/)[0][0] end def return_values results = string.scan(/=>(.*)/)[0] if results results[0].split(',').map{|return_value| MethodSignatureValue.new(eval(return_value)) } else [] end end end end
Version data entries
3 entries across 3 versions & 1 rubygems