impressionist/lib/impressionist/setup_association.rb

50 lines
1.1 KiB
Ruby

module Impressionist
# Impressionist::SetupAssociation.new(entity).set
class SetupAssociation
def initialize(receiver)
@receiver = receiver
end
# True or False
# Note toggle returns false if rails >= 4
def include_attr_acc?
toggle && make_accessible
end
def define_belongs_to
receiver.belongs_to(:impressionable, :polymorphic => true)
end
def set
define_belongs_to
include_attr_acc?
end
private
attr_reader :receiver, :toggle
def make_accessible
receiver.
attr_accessible(:impressionable_type,
:impressionable_id,
:controller_name,
:request_hash,
:session_hash,
:action_name,
:ip_address,
:view_name,
:referrer,
:message,
:user_id,
:params)
end
def toggle
t = RailsToggle.new
t.should_include?
end
end
end