Skip to content

Instantly share code, notes, and snippets.

@kenyonj
Created December 6, 2016 21:59
Show Gist options
  • Save kenyonj/928fbdb6a82c0889579cb46ba376fd54 to your computer and use it in GitHub Desktop.
Save kenyonj/928fbdb6a82c0889579cb46ba376fd54 to your computer and use it in GitHub Desktop.
class EmailAddress
def initialize(user, disallowed_email_domains, paid_via_ach)
@user = user
@disallowed_email_domains = disallowed_email_domains
@paid_via_ach = paid_via_ach
end
def self.generate(user, disallowed_email_domains: [], paid_via_ach:)
new(user, disallowed_email_domains, paid_via_ach)
end
private
attr_reader :user, :disallowed_email_domains, :paid_via_ach
def generate
if paid_via_ach
generate_for_paid_via_ach
else
generate_for_non_paid_via_ach
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment