No commit activity in last 3 years
No release in over 3 years
Module to allow marketing opt-ins to any model
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.8
~> 0.8
~> 10.0
~> 3.2

Runtime

 Project Readme

MorseOptInAble

Adds marketing opt-in fields to ActiveRecord models

Coverage Status

Installation

Add this line to your application's Gemfile:

gem 'morse_opt_in_able'

And then execute:

$ bundle

Or install it yourself as:

$ gem install morse_opt_in_able

Usage

In your model:

include OptInAble

It then provides you with the following BOOLEAN attributes

   :allow_email
   :allow_mail
   :allow_sms
   :allow_phone
   :optin_marketing
   :optin_third_party

By default if you do Thing.new and you don't have the relevant fields in your database, it'll return a validtion error.

You can over-ride the required database fields in your Thing model by adding this ABOVE where you include OptInAble

def required_database_fields
  [:allow_email] #choose from the above list to include only what you want
end

Also, you can over-ride the required attributes fields in your Thing model by adding this ABOVE where you include OptInAble

def required_opt_in_able_attributes
  [:allow_email] #choose from the above list to include only what you want
end

So you can have all the columns in your database, but make a selection of them mandatory (the others will be optional)

Development

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/morse_opt_in_able/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request