Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6734231
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T10:51:51+00:00 2026-05-26T10:51:51+00:00

Could someone please help me to understand what the ‘send()’ method listed below is

  • 0

Could someone please help me to understand what the ‘send()’ method listed below is used for? The code below, when I am reading it, makes no sense what purpose it’s serving.

It’s a Rails app using Ruby 1.8.7 with Rails 1.2.3. Please don’t harp on me about upgrading, it’s a client’s environment, so I don’t have that sort of leisure.

Needless to say though, the statement I am referring to is like this;

def do_schedule
  @performance = Performance.new(params[:performance])
  @performer = Performer.find(params[:performer_id])
  selected_track = params[:selected_track]
  if FileTest.exists?(File.expand_path(@performer.photo))
    @performance.photo = File.open(File.expand_path(@performer.photo))
  end

  @performance.audio = File.open(File.expand_path(@performer.send(selected_track)))

  if @performance.save
    flash[:notice] = 'Performer scheduled.'
    redirect_to :controller => :performer, :action => :index
  else
    render :action => 'schedule'
  end
end

Performer Model

class Performer < ActiveRecord::Base
  file_column :audio_one
  file_column :audio_two
  file_column :audio_three
  file_column :photo

  belongs_to :festival
  validates_presence_of :name, :first_name, :last_name, :address, :city, :state, :zip, :daytime_phone, :availability, :stages
  validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
  validates_confirmation_of :email

  validates_presence_of :audio_one, :audio_two, :audio_three, :photo, :if => :submitted

  after_create :salt_access_key
  serialize :availability
  serialize :stages

  attr_accessor :other_type_of_music
  before_save :set_other_type

  def set_other_type
    if type_of_music == 'Other'
      self.type_of_music = "Other - #{other_type_of_music}" unless other_type_of_music.blank?
    end
  end

  def salt_access_key
    update_attribute(:access_key, Digest::SHA1.hexdigest("--#{self.id}--#{self.name}--#{self.festival.year}"))
  end

  def preferred_stages
    stages = []
    festival = Festival.find(self.festival_id.to_i)
    self.stages.collect { | key, value |
      id = key.gsub(/[\D]/, '').to_i
      if id > 0
        stages << festival.performance_stages.find(id).name
      end
    }
    return stages
  end
end

The controller that this is contained in is Performance. I have been scouring Google trying to figure out what purpose that ‘@performer.send(selected_track)’ is actually doing, but feel like I’m rowing against a whirlpool.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T10:51:52+00:00Added an answer on May 26, 2026 at 10:51 am

    The Ruby implementation for the send method, which is used to send a method message to an object, works like this:

    class Car
      
      def start
        puts "vroom"
      end
    
      private
    
      def engine_temp
        puts "Just Right"
      end
    
    end
    
    @car = Car.new
    @car.start # output: vroom
    @car.send(:start) # output: vroom
    

    That’s the basics, an additional piece of important information is that send will allow you you send in messages to PRIVATE methods, not just public ones.

    @car.engine_temp  # This doesn't work, it will raise an exception
    @car.send(:engine_temp)  # output: Just Right
    

    As for what your specific send call will do, more than likely there is a def method_missing in the Performer class that is setup to catch that and perform some action.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Could someone please help me to understand why the following block of code keeps
Could someone please help me understand what the link tags are used for within
Could someone please help me understand that why am I getting this error at
Could someone please help me to understand how to get all parameters passed to
Could someone here please help me understand how to determine when floating point limitations
Could someone please help me how to read the XML Document below using Linq
SQL Server Mgmt Studio 2005: could someone please help me understand how to view
Could someone please help me to understand what Unity is and how it's simplifying
I've recently written this with help from SO. Now could someone please tell me
Could someone please point me toward a cleaner method to generate a random enum

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.