Module: Slodd::Config
- Defined in:
- lib/slodd/config.rb
Class Method Summary collapse
- .attributes ⇒ Object
- .database_settings ⇒ Object
- .databases ⇒ Object
- .defaults ⇒ Object
- .fetcher ⇒ Object
- .owner ⇒ Object
- .repo ⇒ Object
- .reset ⇒ Object
- .validate_github ⇒ Object
Class Method Details
.attributes ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/slodd/config.rb', line 49 def self.attributes { owner: owner, repo: repo, token: token, path: path, ref: ref, url: url, }.delete_if { |k, v| v.nil? } end |
.database_settings ⇒ Object
21 22 23 24 |
# File 'lib/slodd/config.rb', line 21 def self.database_settings settings = { adapter: "mysql2", host: host, username: username } password ? settings.merge(password: password) : settings end |
.databases ⇒ Object
16 17 18 19 |
# File 'lib/slodd/config.rb', line 16 def self.databases return @@databases.split if defined?(@@databases) [] end |
.defaults ⇒ Object
8 9 10 11 12 |
# File 'lib/slodd/config.rb', line 8 def self.defaults self.path = "db/schema.rb" self.username = "root" self.host = "localhost" end |
.fetcher ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/slodd/config.rb', line 34 def self.fetcher if github validate_github Github.new(attributes) elsif url Http.new(attributes) elsif path Local.new(attributes) end end |
.owner ⇒ Object
26 27 28 |
# File 'lib/slodd/config.rb', line 26 def self.owner github.split("/")[0] if github end |
.repo ⇒ Object
30 31 32 |
# File 'lib/slodd/config.rb', line 30 def self.repo github.split("/")[1] if github end |
.reset ⇒ Object
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/slodd/config.rb', line 60 def self.reset defaults self.github = nil self.password = nil self.url = nil self.token = nil self.databases = nil self.ref = nil instance_eval { remove_class_variable "@@databases" } if defined?(@@databases) end |
.validate_github ⇒ Object
45 46 47 |
# File 'lib/slodd/config.rb', line 45 def self.validate_github fail ArgumentError unless owner && repo && token end |