Ruby has the concept of "super" which lets you call methods in parent classes or modules. In Rails, Active Record lets you take advantage of this by overriding the "column method" and still get to the database value by calling super. It's not really clear from your question under what conditions you want to use the database value and when you want to use the custom logic. Here's some pseudo code to get you started though:
def description
return super if Use Database Value?
if self.channels.nil?
return self.allowed_ip_addresses
else
return self.channels.to_s + ' channels - ' + self.allowed_ip_addresses
end
end