Class: Hydramata::GroupMembershipForm
- Inherits:
-
Object
- Object
- Hydramata::GroupMembershipForm
- Extended by:
- ActiveModel::Naming
- Includes:
- ActiveModel::Validations
- Defined in:
- app/repository_models/hydramata/group_membership_form.rb
Instance Method Summary collapse
- #group ⇒ Object
- #is_title_duplicate? ⇒ Boolean
- #person(person_id) ⇒ Object
- #remove_member ⇒ Object
- #save ⇒ Object
- #title_is_unique ⇒ Object
Instance Method Details
#group ⇒ Object
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
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_member ⇒ Object
37 38 39 |
# File 'app/repository_models/hydramata/group_membership_form.rb', line 37 def remove_member group.remove_member(person) end |
#save ⇒ Object
41 42 43 |
# File 'app/repository_models/hydramata/group_membership_form.rb', line 41 def save valid? ? persist : false end |
#title_is_unique ⇒ Object
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 |