Sha256: 4d1640d634bcf1d42461dc85f30a8b86bc74418d30f9e99e47d7113b2f0d6b60

Contents?: true

Size: 673 Bytes

Versions: 41

Compression:

Stored size: 673 Bytes

Contents

module Perus::Server
    class Group < Sequel::Model
        plugin :validation_helpers
        one_to_many :systems
        
        def validate
            super
            validates_presence  :name
            validates_unique    :name
        end

        def after_destroy
            super

            # rather than deleting all systems in a group, each system in the
            # group is just removed from the group instead. this is better than
            # accidentally removing a group and all related system data.
            systems.each do |system|
                system.group_id = nil
                system.save
            end
        end
    end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
perus-0.1.23 lib/perus/server/models/group.rb
perus-0.1.22 lib/perus/server/models/group.rb
perus-0.1.21 lib/perus/server/models/group.rb
perus-0.1.20 lib/perus/server/models/group.rb
perus-0.1.19 lib/perus/server/models/group.rb
perus-0.1.18 lib/perus/server/models/group.rb
perus-0.1.17 lib/perus/server/models/group.rb
perus-0.1.16 lib/perus/server/models/group.rb
perus-0.1.15 lib/perus/server/models/group.rb
perus-0.1.14 lib/perus/server/models/group.rb
perus-0.1.13 lib/perus/server/models/group.rb
perus-0.1.12 lib/perus/server/models/group.rb
perus-0.1.11 lib/perus/server/models/group.rb
perus-0.1.10 lib/perus/server/models/group.rb
perus-0.1.9 lib/perus/server/models/group.rb
perus-0.1.8 lib/perus/server/models/group.rb
perus-0.1.7 lib/perus/server/models/group.rb
perus-0.1.6 lib/perus/server/models/group.rb
perus-0.1.5 lib/perus/server/models/group.rb
perus-0.1.4 lib/perus/server/models/group.rb