KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm dynamically defining a method in a module, and I'd like to check that once the method is bound to a class instance that the body of the method is what I'm expecting. Is there a way to output (as text) of the body of a method? Module controller_mixins.rb : module ControllerMixin instance_eval "def search_by_vendor (*args) \n" \ " @#{self.class.name.sub(/Controller/, '').tableize} = #{self.class.name.sub(/Controller/, '')}.find_all_by_vendor_id(params[:vendor_id]) \n"\ "respond_to do |format| \n" \ " format.html { render :template=>'/#{self.class.name.sub(/Controller/, '').tableize}/index', :layout=>'vendor_info'} \n" \ " format.xml { render :xml => @#{self.class.name.sub(/Controller/, '').tableize} } \n" \ "end \n"\ "end \n" end class being mixed with: class VendorOrdersController < ApplicationController # GET /vendor_orders # GET /vendor_orders.xml require 'controller_mixins' include ControllerMixin <rest of class> So I'd like to see the implementation of the mixin when applied to VendorOrdersController probably via script/console for convenience. UPDATE: Per @~/ I saved the string to a variable and puts 'd it. That worked perfectly. Which brought to light an error in my code (the reason I wanted to see the code in the first place). Code below is much better, and works as expected. module ControllerMixin def self.included(mod) method_body = "def search_by_vendor \n" \ " @#{mod.name.sub(/Controller/, '').tableize} = #{mod.name.sub(/Controller/, '')}.find_all_by_vendor_id(params[:vendor_id]) \n"\ "respond_to do |format| \n" \ " format.html { render :template=>'/#{mod.name.sub(/Controller/, '').tableize}/index', :layout=>'vendor_info'} \n" \ " format.xml { render :xml => @#{mod.name.sub(/Controller/, '').tableiz
Tags (comma-separated)
Save Edits
Cancel