Module: Landlady

Extended by:
Landlady
Included in:
Landlady
Defined in:
lib/landlady.rb,
lib/landlady/railtie.rb,
lib/landlady/version.rb,
lib/generators/landlady/install_generator.rb

Defined Under Namespace

Modules: Generators Classes: Railtie, Tenant

Constant Summary collapse

VERSION =
"0.0.4"

Instance Method Summary collapse

Instance Method Details

#create_schema(name) ⇒ Object



20
21
22
23
# File 'lib/landlady.rb', line 20

def create_schema(name)
  sql = %{CREATE SCHEMA "#{name}"}
  ActiveRecord::Base.connection.execute sql
end

#default_search_pathObject



7
8
9
# File 'lib/landlady.rb', line 7

def default_search_path
  @default_search_path ||= %{"$user", public}
end

#restore_default_search_pathObject



16
17
18
# File 'lib/landlady.rb', line 16

def restore_default_search_path
  ActiveRecord::Base.connection.schema_search_path = default_search_path
end

#schemasObject



25
26
27
28
# File 'lib/landlady.rb', line 25

def schemas
  sql = "SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_.*'"
  ActiveRecord::Base.connection.query(sql).flatten
end

#set_search_path(name, include_public = true) ⇒ Object



11
12
13
14
# File 'lib/landlady.rb', line 11

def set_search_path(name, include_public = true)
  path_parts = [name.to_s, ("public" if include_public)].compact
  ActiveRecord::Base.connection.schema_search_path = path_parts.join(",")
end