Sto lavorando su un'applicazione di rails e sto estraendo funzionalità dal mio codice di rails e in classi di ruby pure in lib /. Mi sono trovato spesso a scrivere lezioni come questa:
class MailchimpIntegration
def subscribe_email(email, fname, lname)
Gibbon.list_subscribe(:id => NEWSLETTER_LIST_ID, :email_address => email,
:merge_vars => {'fname' => fname, 'lname' => lname },
:email_type => "html", :double_optin => false, :send_welcome => false)
end
def unsubscribe_email(email)
Gibbon.list_unsubscribe(:id => NEWSLETTER_LIST_ID, :email_address => email)
end
def change_details(old_email, email, fname, lname)
Gibbon.list_update_member(:id => NEWSLETTER_LIST_ID, :email_address => old_email,
:merge_vars => {'email' => email, 'fname' => fname, 'lname' => lname })
end
def get_email_info(email)
Gibbon.list_member_info(:id => NEWSLETTER_LIST_ID, :email_address => [email])["data"].first
end
end
La mia domanda è: dovrei cambiare questi metodi per essere metodi di classe?
Sembra ragionevole farlo, poiché probabilmente finirò per chiamarli semplicemente aggiornando ogni volta una classe MailchimpIntegration. Tuttavia, in genere preferisco avere metodi di istanza in quanto possono essere più facilmente eliminati, ecc., Anche se questo sembra essere un problema minore in ruby.
Ho diverse classi come questa nel mio sistema, quindi sarei desideroso di vedere cosa ne pensa la gente.