Class: Multiplicity::Tenant
- Inherits:
-
Object
- Object
- Multiplicity::Tenant
- Defined in:
- lib/multiplicity/tenant.rb
Constant Summary collapse
- UnknownTenantError =
Class.new(StandardError)
Class Method Summary collapse
- .column_names ⇒ Object
- .current ⇒ Object
- .current=(value) ⇒ Object
- .current_id ⇒ Object
- .find_by(field, value) ⇒ Object
- .find_by!(field, value) ⇒ Object
- .load(subdomain) ⇒ Object
- .use_tenant(subdomain) ⇒ Object
Instance Method Summary collapse
Class Method Details
.column_names ⇒ Object
24 25 26 |
# File 'lib/multiplicity/tenant.rb', line 24 def column_names attribute_set.map(&:name) end |
.current ⇒ Object
28 29 30 |
# File 'lib/multiplicity/tenant.rb', line 28 def current Thread.current[:multiplicity_tenant] end |
.current=(value) ⇒ Object
32 33 34 |
# File 'lib/multiplicity/tenant.rb', line 32 def current=(value) Thread.current[:multiplicity_tenant] = value end |
.current_id ⇒ Object
36 37 38 |
# File 'lib/multiplicity/tenant.rb', line 36 def current_id current && current.id end |
.find_by(field, value) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'lib/multiplicity/tenant.rb', line 52 def find_by(field, value) return current if current && current.send(field) == value record = Multiplicity.adapter.find_by(field, value) self.current = nil self.current = new(record) if record end |
.find_by!(field, value) ⇒ Object
61 62 63 |
# File 'lib/multiplicity/tenant.rb', line 61 def find_by!(field, value) find_by(field, value) or raise UnknownTenantError, "Unknown Tenant #{field}: #{value}" end |
.load(subdomain) ⇒ Object
48 49 50 |
# File 'lib/multiplicity/tenant.rb', line 48 def load(subdomain) find_by :subdomain, subdomain end |
Instance Method Details
#archived? ⇒ Boolean
15 16 17 |
# File 'lib/multiplicity/tenant.rb', line 15 def archived? !!deleted_at end |
#uri(domain = Multiplicity.domain) ⇒ Object
19 20 21 |
# File 'lib/multiplicity/tenant.rb', line 19 def uri(domain = Multiplicity.domain) URI("https://#{ subdomain }.#{ domain }") end |