Module: Jetpants
- Defined in:
- lib/jetpants.rb,
lib/jetpants.rb,
lib/jetpants/db.rb,
lib/jetpants/host.rb,
lib/jetpants/pool.rb,
lib/jetpants/shard.rb,
lib/jetpants/table.rb,
lib/jetpants/callback.rb,
lib/jetpants/db/state.rb,
lib/jetpants/topology.rb,
lib/jetpants/db/client.rb,
lib/jetpants/db/server.rb,
lib/jetpants/db/privileges.rb,
lib/jetpants/db/replication.rb,
lib/jetpants/db/import_export.rb
Overview
Namespace for the Jetpants toolkit.
Defined Under Namespace
Modules: CallbackHandler Classes: Callback, CallbackAbortError, DB, Host, Pool, Shard, Table, Topology
Class Attribute Summary collapse
-
.topology ⇒ Object
readonly
A singleton Jetpants::Topology object is accessible from the global Jetpants module namespace.
Class Method Summary collapse
-
.app_credentials ⇒ Object
Returns a hash containing :user => username string, :pass => password string for the MySQL application user, as found in Jetpants’ configuration.
-
.method_missing(name, *args, &block) ⇒ Object
Proxy missing top-level Jetpants methods to the configuration hash, or failing that, to the Topology singleton.
-
.plugin_enabled?(plugin_name) ⇒ Boolean
Returns true if the specified plugin is enabled, false otherwise.
-
.replication_credentials ⇒ Object
Returns a hash containing :user => username string, :pass => password string for the MySQL replication user, as found in Jetpants’ configuration.
- .respond_to?(name, include_private = false) ⇒ Boolean
Class Attribute Details
.topology ⇒ Object (readonly)
A singleton Jetpants::Topology object is accessible from the global Jetpants module namespace.
50 51 52 |
# File 'lib/jetpants.rb', line 50 def topology @topology end |
Class Method Details
.app_credentials ⇒ Object
Returns a hash containing :user => username string, :pass => password string for the MySQL application user, as found in Jetpants’ configuration. Plugins may freely override this if there’s a better way to obtain this password – for example, if you already distribute an application configuration or credentials file to all of your servers.
62 63 64 |
# File 'lib/jetpants.rb', line 62 def app_credentials {user: @config['mysql_app_user'], pass: @config['mysql_app_password']} end |
.method_missing(name, *args, &block) ⇒ Object
Proxy missing top-level Jetpants methods to the configuration hash, or failing that, to the Topology singleton.
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/jetpants.rb', line 78 def method_missing(name, *args, &block) if @config.has_key? name.to_s @config[name.to_s] elsif name.to_s[-1] == '=' && @config.has_key?(name.to_s[0..-2]) var = name.to_s[0..-2] @config[var] = args[0] elsif @topology.respond_to? name @topology.send name, *args, &block else super end end |
.plugin_enabled?(plugin_name) ⇒ Boolean
Returns true if the specified plugin is enabled, false otherwise.
53 54 55 |
# File 'lib/jetpants.rb', line 53 def plugin_enabled?(plugin_name) !!@config['plugins'][plugin_name] end |
.replication_credentials ⇒ Object
Returns a hash containing :user => username string, :pass => password string for the MySQL replication user, as found in Jetpants’ configuration. Plugins may freely override this if there’s a better way to obtain this password – for example, by parsing master.info on a specific slave in your topology. SEE ALSO: DB#replication_credentials, which only falls back to the global version when needed.
72 73 74 |
# File 'lib/jetpants.rb', line 72 def replication_credentials {user: @config['mysql_repl_user'], pass: @config['mysql_repl_password']} end |
.respond_to?(name, include_private = false) ⇒ Boolean
91 92 93 |
# File 'lib/jetpants.rb', line 91 def respond_to?(name, include_private=false) super || @config[name] || @topology.respond_to?(name) end |