Sha256: fd2812ff88bca9b1aeb53adff19fafee88c4ad220dc9c7ab4254b6ce4aeac95e
Contents?: true
Size: 1.77 KB
Versions: 5
Compression:
Stored size: 1.77 KB
Contents
module Mumuki::Domain::Helpers::Organization extend ActiveSupport::Concern include Mumukit::Platform::Notifiable included do delegate *Mumuki::Domain::Organization::Theme.accessors, to: :theme delegate *Mumuki::Domain::Organization::Settings.accessors, :private?, :login_settings, :in_preparation?, :disabled?, to: :settings delegate *Mumuki::Domain::Organization::Profile.accessors, :locale_json, to: :profile end def platform_class_name :Organization end def slug Mumukit::Auth::Slug.join_s name end def central? name == 'central' end def test? name == 'test' end def base? name == 'base' end def immersed_in?(other) immersible? && other.immersive? && !other.disabled? && target_audience == other.target_audience end def switch! Mumukit::Platform::Organization.switch! self end def to_s name end def url_for(path) Mumukit::Platform.laboratory.organic_url_for(name, path) end def url url_for '/' end def domain Mumukit::Platform.application.organic_domain(name) end def validate_active! raise Mumuki::Domain::DisabledOrganizationError if disabled? raise Mumuki::Domain::UnpreparedOrganizationError if in_preparation? end ## API Exposure def to_param name end ## Resource Hash module ClassMethods def current Mumukit::Platform::Organization.current end def current? Mumukit::Platform::Organization.current? end def parse(json) json .slice(:name) .merge(theme: Mumuki::Domain::Organization::Theme.parse(json[:theme])) .merge(settings: Mumuki::Domain::Organization::Settings.parse(json[:settings])) .merge(profile: Mumuki::Domain::Organization::Profile.parse(json[:profile])) end end end
Version data entries
5 entries across 5 versions & 1 rubygems