Method: String#resolve_params
- Defined in:
- lib/adsl/spass/ruby_extensions.rb
#resolve_params(*args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/adsl/spass/ruby_extensions.rb', line 12 def resolve_params(*args) args = args.flatten max_arg_index = self.scan(/\$\{(\d+)\}/).map{ |a| a.first.to_i }.max || 0 if args.length < max_arg_index raise ArgumentError, "Invalid argument number: #{args.length} instead of #{max_arg_index}" end result = self args.length.times do |i| result = result.gsub "${#{i + 1}}", args[i].to_s end result end |