A calendar management project, for events and activities related to communities fighting for freedoms.
This can be related to software, art, data, hardware, content, commons, internet.
https://www.agendadulibre.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
agenda-libre-ruby/app/models/region.rb

19 lines
476 B

# This is mostly to group events around a region
class Region < ApplicationRecord
belongs_to :region
has_many :regions, dependent: :nullify
has_many :orgas, dependent: :destroy
default_scope { order :name }
scope :local, ->(*) { where url: nil }
scope :region, (lambda do |region|
return if region.nil? || region == 'all' || region.to_i.zero?
temp = Region.find region
where region: [temp, temp.regions].flatten
end)
def to_s
name
end
end