Sha256: b352057bb9cbc9b73d6b3f3d0907bf4fb0bef07c0274753f110cce435812fec6
Contents?: true
Size: 1.08 KB
Versions: 4
Compression:
Stored size: 1.08 KB
Contents
module Boxroom module Models module ClassMethods def boxroom(params) throw "Provide 'name:' param for 'boxroom' method in your user model" if params[:name].nil? throw "Provide 'email:' param for 'boxroom' method in your user model" if params[:email].nil? throw "Provide 'is_admin:' param for 'boxroom' method in your user model" if params[:is_admin].nil? after_save -> { save_boxroom_user(params) } before_destroy -> { destroy_boxroom_user(params) } end end module InstanceMethods def save_boxroom_user(params) bu = Boxroom::User.find_by_original_id(id) bu = Boxroom::User.new if bu.nil? bu.original_id = id bu.name = send(params[:name]) bu.email = send(params[:email]) bu.is_admin = send(params[:is_admin]) bu.save throw "Failed to save Boxroom::User with email=#{bu.email}" unless bu.persisted? end def destroy_boxroom_user(params) bu = Boxroom::User.find_by_original_id(id) bu.destroy if bu true end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
boxroom-0.0.5 | lib/boxroom/models.rb |
boxroom-0.0.4 | lib/boxroom/models.rb |
boxroom-0.0.3 | lib/boxroom/models.rb |
boxroom-0.0.2 | lib/boxroom/models.rb |