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-1.0.7 lib/perus/server/models/group.rb
perus-1.0.6 lib/perus/server/models/group.rb
perus-1.0.5 lib/perus/server/models/group.rb
perus-1.0.4 lib/perus/server/models/group.rb
perus-1.0.3 lib/perus/server/models/group.rb
perus-1.0.2 lib/perus/server/models/group.rb
perus-1.0.1 lib/perus/server/models/group.rb
perus-1.0.0 lib/perus/server/models/group.rb
perus-0.1.35 lib/perus/server/models/group.rb
perus-0.1.34 lib/perus/server/models/group.rb
perus-0.1.33 lib/perus/server/models/group.rb
perus-0.1.32 lib/perus/server/models/group.rb
perus-0.1.31 lib/perus/server/models/group.rb
perus-0.1.30 lib/perus/server/models/group.rb
perus-0.1.29 lib/perus/server/models/group.rb
perus-0.1.28 lib/perus/server/models/group.rb
perus-0.1.27 lib/perus/server/models/group.rb
perus-0.1.26 lib/perus/server/models/group.rb
perus-0.1.25 lib/perus/server/models/group.rb
perus-0.1.24 lib/perus/server/models/group.rb