class Effective::CommitteeMember
def active?(date: nil)
def active?(date: nil) return true if start_on.blank? && end_on.blank? date ||= Time.zone.now date = date.to_date if date.respond_to?(:to_date) (start_on..end_on).cover?(date) # Endless ranges end
def build_committee(attributes = {})
def build_committee(attributes = {}) raise('please assign committee_type first') if committee_type.blank? self.committee = committee_type.constantize.new(attributes) end
def build_user(attributes = {})
def build_user(attributes = {}) raise('please assign user_type first') if user_type.blank? self.user = user_type.constantize.new(attributes) end
def committee_ids
def committee_ids Array(@committee_ids) - [nil, ''] end
def email
def email user.try(:email) end
def expired?(date: nil)
def expired?(date: nil) active?(date: date) == false end
def to_s
def to_s user.to_s end
def user_ids
def user_ids Array(@user_ids) - [nil, ''] end