Verifiable¶ ↑
Description¶ ↑
Creates verified associations. Verified associations are similar to regular associations, except that a step has been taken to verify the integrity of the association.
Usage¶ ↑
Add verifiable to your Gemfile (or whatever if you’re not using bundler):
gem "verifiable"
Run the generator to create the necessary database migration and run it:
script/generate verifiable_migration rake db:migrate
Include Verifiable::Associations in your classes and specify the correct type of association:
class User < ActiveRecord::Base include Verifiable::Associations has_many_verifiable :phone_numbers end class PhoneNumber < ActiveRecord::Base include Verifiable::Associations verifiable_for :users end
Create some associations that need verification:
user = User.create phone_number = user.phone_numbers.create
Associated objects don’t show up until they’re verified:
>> user.phone_numbers == [] => true
Get unverified objects like this:
>> user.unverified_phone_numbers == [phone_number] => true
Get the verification code for an association (code is a random 4 digit string):
code = user.verification_code_for(phone_number)
Verify the association (returns true if code is correct):
user.verify!(phone_number, code)
Once verified, the associated objects show up:
>> user.phone_numbers == [phone_number] => true
To create a verification that has a different type of code:
user = User.create phone_number = PhoneNumber.create Verifiable::Verification.create(:code => "abcd", :object => user, :verifiable => phone_number)
LICENSE¶ ↑
The MIT License, see LICENSE
TODO¶ ↑
-
Make singular associations work (has_one)
-
Figure out a way to make association specific verification code generators