Class: MysqlAlterMonitoring::Config
- Inherits:
-
Object
- Object
- MysqlAlterMonitoring::Config
- Defined in:
- lib/mysql_alter_monitoring/config.rb
Overview
MysqlAlterMonitoring::Config
Constant Summary collapse
- DEFAULT_PORT =
3306
Instance Attribute Summary collapse
- #host ⇒ String readonly
- #password ⇒ String readonly
- #port ⇒ Integer readonly
- #user ⇒ String readonly
Class Method Summary collapse
-
.build_by_url(url) ⇒ MysqlAlterMonitoring::Config
Build config in DATABSE_URL format used in Rails.
Instance Method Summary collapse
Constructor Details
#initialize(host:, port:, user:, password:) ⇒ void
53 54 55 56 57 58 59 |
# File 'lib/mysql_alter_monitoring/config.rb', line 53 def initialize(host:, port:, user:, password:) @host = host @port = port || DEFAULT_PORT @user = user @password = password validate! end |
Instance Attribute Details
#host ⇒ String (readonly)
36 37 38 |
# File 'lib/mysql_alter_monitoring/config.rb', line 36 def host @host end |
#password ⇒ String (readonly)
45 46 47 |
# File 'lib/mysql_alter_monitoring/config.rb', line 45 def password @password end |
#port ⇒ Integer (readonly)
39 40 41 |
# File 'lib/mysql_alter_monitoring/config.rb', line 39 def port @port end |
#user ⇒ String (readonly)
42 43 44 |
# File 'lib/mysql_alter_monitoring/config.rb', line 42 def user @user end |
Class Method Details
.build_by_url(url) ⇒ MysqlAlterMonitoring::Config
Build config in DATABSE_URL format used in Rails. URI scheme must be mysql2. Example: mysql2://root:[email protected]:3306/foo?pool=5
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/mysql_alter_monitoring/config.rb', line 20 def build_by_url(url) uri = URI.parse(url) raise ArgumentError, 'URL scheme must be mysql2' if uri.scheme != SUPPROTED_URI_SCHEME new( host: uri.hostname, port: uri.port, user: uri.user, password: uri.password ) end |