Class: Hydramata::GroupMembershipForm

Inherits:
Object
  • Object
show all
Extended by:
ActiveModel::Naming
Includes:
ActiveModel::Validations
Defined in:
app/repository_models/hydramata/group_membership_form.rb

Instance Method Summary collapse

Instance Method Details

#groupObject



23
24
25
26
27
28
29
30
31
# File 'app/repository_models/hydramata/group_membership_form.rb', line 23

def group
  if self.group_id
    @group = Hydramata::Group.find(self.group_id) if( @group.nil? || @group.pid.blank? )
  else
    create_new_group_and_add_member
    self.group_id = @group.pid
  end
  @group
end

#is_title_duplicate?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'app/repository_models/hydramata/group_membership_form.rb', line 19

def is_title_duplicate?
  Hydramata::Group.where(desc_metadata__title_tesim: self.title).to_a.reject{|r| r == self.group}.any?
end

#person(person_id) ⇒ Object



33
34
35
# File 'app/repository_models/hydramata/group_membership_form.rb', line 33

def person(person_id)
  @person = Person.find(person_id)
end

#remove_memberObject



37
38
39
# File 'app/repository_models/hydramata/group_membership_form.rb', line 37

def remove_member
  group.remove_member(person)
end

#saveObject



41
42
43
# File 'app/repository_models/hydramata/group_membership_form.rb', line 41

def save
  valid? ? persist : false
end

#title_is_uniqueObject



15
16
17
# File 'app/repository_models/hydramata/group_membership_form.rb', line 15

def title_is_unique
  errors.add(:title, "has already been taken") if is_title_duplicate?
end