Module: Landlady
- Extended by:
- Landlady
- Included in:
- Landlady
- Defined in:
- lib/landlady.rb,
lib/landlady/railtie.rb,
lib/landlady/version.rb
Defined Under Namespace
Classes: Railtie
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #create_schema(name) ⇒ Object
- #default_search_path ⇒ Object
- #restore_default_search_path ⇒ Object
- #schemas ⇒ Object
- #set_search_path(name, include_public = true) ⇒ Object
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_path ⇒ Object
7 8 9 |
# File 'lib/landlady.rb', line 7 def default_search_path @default_search_path ||= %{"$user", public} end |
#restore_default_search_path ⇒ Object
16 17 18 |
# File 'lib/landlady.rb', line 16 def restore_default_search_path ActiveRecord::Base.connection.schema_search_path = default_search_path end |
#schemas ⇒ Object
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 |