Method: Ruber::AbstractProject#method_missing

Defined in:
lib/ruber/project.rb

#method_missing(name, *args, &blk) ⇒ Object

Returns the project extension with name name. If a project extension with that name doesn’t exist, or if args is not empty, ArgumentError is raised.



256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/ruber/project.rb', line 256

def method_missing name, *args, &blk
  begin super
  rescue NoMethodError, NameError, TypeError, ArgumentError => e
    if e.is_a? ArgumentError
      puts e.message
      puts e.backtrace.join("\n")
      puts "Method name: #{name}"
      puts "Arguments: #{args.empty? ? '[]' : args.join( ', ')}"
    end
    raise ArgumentError, "wrong number of arguments (#{args.size} for 0)" unless args.empty?
    @project_extensions[name] || super
  end
end