You cannot do this. The return status is used to indicate whether the transition was sutensual or not. But I'm curious about what use case you have that you need.
But you can wrap the state transition and use the variable set by the method play_song, for example:
aasm_state :started, :after_enter => :play_song
aasm_state :stopped
aasm_event :start do
:transitions :from => :stopped, :to => :started
end
def play_song
@song = ...
end
def shuffle
if start
@song
end
end