Module: DbUrlHelper::Helper
- Included in:
- DbUrlHelper
- Defined in:
- lib/db_url_helper/helper.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.adapters ⇒ Object
11 12 13 |
# File 'lib/db_url_helper/helper.rb', line 11 def adapters @@adapters ||= DbUrlHelper::Adapter::Set.new end |
.format(o) {|sub| ... } ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/db_url_helper/helper.rb', line 20 def format o sub = -> (p,e) do o = DbUrlHelper::Helper.sub(o,p,e) end yield sub o end |
.init ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/db_url_helper/helper.rb', line 4 def init DbUrlHelper::Lookup.all do |lookup| lookup.working_adapters.each do |adapter| adapters << adapter.via(lookup) end end end |
.sub(o, p, e) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/db_url_helper/helper.rb', line 14 def sub o,p,e if v = adapters.best.get(e) o = o.gsub p, "#{v}" end o end |
Instance Method Details
#default_strings ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/db_url_helper/helper.rb', line 28 def default_strings { "production" => "%s://%U:%P@%h:%p/%d", "staging" => "%s://%U:%P@%h:%p/%d", "development" => "%s://%h:%p/%d", "test" => "%s://%h:%p/%d", } end |
#url(s = "production") ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/db_url_helper/helper.rb', line 36 def url s="production" s=s.to_s s = default_strings[s] if default_strings[s] h = DbUrlHelper::Helper h.init h.format(s) do |sub| sub.call(/%s/, :scheme) sub.call(/%U/, :user) sub.call(/%P/, :password) sub.call(/%h/, :host) sub.call(/%p/, :port) sub.call(/%d/, :database) end end |