Module: Golem::DB
- Defined in:
- lib/golem/db.rb
Overview
Database handling. See Pg and Static.
A db should respond to 4 methods: users, repositories, ssh_keys, setup. The first 3 should take a single hash argument (options) and return an array/hash of results, setup takes no arguments (it may use a block). These options should be supported:
-
:fields: list of fields the results should include,
-
:return: type of return value, if is :array then results should be an array, hash (attribute name => value pairs) otherwise,
-
any other key: should be interpreted as conditions (e.g. :user => "name" should return objects whose user attribute is name).
Defined Under Namespace
Class Method Summary (collapse)
-
+ (Pg, Static) db
Proxy for the used db.
-
+ (Array, Hash) repositories(opts = {})
Forwards to proxy's repositories.
-
+ (Object) setup(&block)
Forwards to proxy's setup.
-
+ (Array, Hash) ssh_keys(opts = {})
Forwards to proxy's ssh_keys.
-
+ (Array, Hash) users(opts = {})
Forwards to proxy's users.
Class Method Details
+ (Pg, Static) db
Proxy for the used db.
15 16 17 18 19 20 21 |
# File 'lib/golem/db.rb', line 15 def self.db @db ||= case Golem::Config.db when /\Apostgres:\/\// then Pg.new(Golem::Config.db) when "static" then Static.new else abort "Unknown DB (#{Golem::Config.db.to_s})." end end |
+ (Array, Hash) repositories(opts = {})
Forwards to proxy's repositories.
31 32 33 |
# File 'lib/golem/db.rb', line 31 def self.repositories(opts = {}) db.repositories(opts) end |
+ (Object) setup(&block)
Forwards to proxy's setup.
43 44 45 |
# File 'lib/golem/db.rb', line 43 def self.setup(&block) db.setup(&block) end |
+ (Array, Hash) ssh_keys(opts = {})
Forwards to proxy's ssh_keys.
37 38 39 |
# File 'lib/golem/db.rb', line 37 def self.ssh_keys(opts = {}) db.ssh_keys(opts) end |
+ (Array, Hash) users(opts = {})
Forwards to proxy's users.
25 26 27 |
# File 'lib/golem/db.rb', line 25 def self.users(opts = {}) db.users(opts) end |