db_url_helper 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce8ac1006a849ae462276769374d15a117acf63b
4
- data.tar.gz: be22c369bd0e893cfad93f19d250786048094d36
3
+ metadata.gz: 5ce9ced9955df0d9fdd09c19df685bda96aa2040
4
+ data.tar.gz: 41d6076c84546e804a465377d6931a52d632938d
5
5
  SHA512:
6
- metadata.gz: dae19432b37074126b24c8c01018a1020b2b6be1b7a664eb9f558f2bb9837dc5d94449af4ae09d862cb17b80404d20df14ee16d0e79b5bb20823931f07e9e37d
7
- data.tar.gz: d1d9574e1d8b3a6666ea5825c6c8ea2f9e133d49cfc3ef6cd8238b8ef0af43666d76483c080b7e8e92f09b009fd2a08d3444596bcea28e6caacf82049b55ffb4
6
+ metadata.gz: 5623bb586c62f0bb5bcf4291b7a68875f210b1e1941f8db990cc6cf79fca7b51d8bb55010582d4a1236c7a735ba961b9b0d19b0f38a5b85d40cc7ef36cca5a2b
7
+ data.tar.gz: f59c8acdae049846d229c5e107439176d260ed94dc958fe662d5f0b6fd9f996463cf92fcdeaeedda0034488bdf3fa589474af88cc84b67e64913d83fe6e8ed4b
@@ -1,3 +1,5 @@
1
+ require "db_url_helper/credentials/credential"
2
+
1
3
  module DbUrlHelper
2
4
  module Adapter
3
5
  class Generic
@@ -5,6 +7,9 @@ module DbUrlHelper
5
7
  def scheme
6
8
  self.const_get :SCHEME
7
9
  end
10
+ def priority
11
+ self.const_get :PRIORITY
12
+ end
8
13
  def get element
9
14
  self.send element
10
15
  end
@@ -15,6 +20,18 @@ module DbUrlHelper
15
20
  @lookup = lookup
16
21
  self
17
22
  end
23
+ def user
24
+ credential.user
25
+ end
26
+ def password
27
+ credential.password
28
+ end
29
+ private
30
+ def credential
31
+ @credential ||= DbUrlHelper::Credentials.all do |provider|
32
+ provider.new(:postgresql,filters:[Rails.env]).load
33
+ end.sort!.last
34
+ end
18
35
  end
19
36
  end
20
37
  end
@@ -7,13 +7,16 @@ module DbUrlHelper
7
7
  include Registerable
8
8
  class << self
9
9
  def user
10
- Rails.application.class.parent_name.underscore
10
+ @user = super
11
+ @user ||= Rails.application.class.parent_name.underscore
11
12
  end
12
13
  def password
13
- ENV['DB_PASSWORD'] || ""
14
+ @password = super
15
+ @password ||= ENV['DB_PASSWORD']
16
+ @password ||= ""
14
17
  end
15
18
  def database
16
- "#{Rails.application.class.parent_name.underscore}_#{Rails.env}"
19
+ @database ||= "#{Rails.application.class.parent_name.underscore}_#{Rails.env}"
17
20
  end
18
21
  private
19
22
  def method_missing property
@@ -11,8 +11,7 @@ module DbUrlHelper
11
11
  providers.select do |provider|
12
12
  provider.testable?
13
13
  end.collect do |provider|
14
- yield provider if block_given?
15
- provider
14
+ block_given? ? yield(provider) : provider
16
15
  end
17
16
  end
18
17
  end
@@ -20,4 +19,6 @@ module DbUrlHelper
20
19
  end
21
20
 
22
21
  require "db_url_helper/credentials/generic"
23
- require "db_url_helper/credentials/credentialias"
22
+ require "db_url_helper/credentials/credentialias"
23
+ require "db_url_helper/credentials/environment"
24
+ require "db_url_helper/credentials/null"
@@ -0,0 +1,16 @@
1
+ module DbUrlHelper
2
+ module Credentials
3
+ class Credential
4
+ attr_accessor :user,:password,:weight,:provider
5
+ def initialize user="",password="",weight=-1,provider=nil
6
+ @user = user
7
+ @password = password
8
+ @weight = weight
9
+ @provider = provider
10
+ end
11
+ def <=> right
12
+ weight <=> right.weight
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,16 +1,18 @@
1
+
1
2
  module DbUrlHelper
2
3
  module Credentials
3
4
  class Credentialias < Generic
4
5
  DEPENDS = "Credentialias::Helper"
6
+ WEIGHT = 10
5
7
  include Registerable
6
- def load
7
- @credential = ::Credentialias::Helper.load @service, tags: @filters
8
- end
9
8
  def user
10
- @credential.user
9
+ credential.user
11
10
  end
12
11
  def password
13
- @credential.password
12
+ credential.password
13
+ end
14
+ def credential
15
+ @credential ||= ::Credentialias::Helper.load(service, tags: filters) rescue super
14
16
  end
15
17
  end
16
18
  end
@@ -0,0 +1,15 @@
1
+ module DbUrlHelper
2
+ module Credentials
3
+ class Environment < Generic
4
+ DEPENDS = "ENV"
5
+ WEIGHT = 1
6
+ include Registerable
7
+ def user
8
+ ENV['DB_USER']
9
+ end
10
+ def password
11
+ ENV['DB_PASSWORD']
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,14 +1,40 @@
1
+ require "ostruct"
2
+ require "db_url_helper/credentials/credential"
3
+
1
4
  module DbUrlHelper
2
5
  module Credentials
3
6
  class Generic
4
- def initialize service:
7
+
8
+ def self.weight
9
+ self::WEIGHT
10
+ end
11
+
12
+ attr_reader :service
13
+ def initialize service, filters:[]
5
14
  @service = service
15
+ @filters = filters
6
16
  end
7
- def filters
17
+ def filters= filters
8
18
  @filters = filters
9
19
  end
20
+ def filters
21
+ @filters ||= []
22
+ end
23
+ def weight
24
+ return 0 if user.nil? and password.nil?
25
+ self.class::WEIGHT
26
+ end
27
+ def user
28
+ credential.user
29
+ end
30
+ def password
31
+ credential.password
32
+ end
33
+ def credential
34
+ OpenStruct.new(user:nil,password:nil)
35
+ end
10
36
  def load
11
- raise NotImplementedError
37
+ Credential.new user,password,weight,self
12
38
  end
13
39
  end
14
40
  end
@@ -0,0 +1,9 @@
1
+ module DbUrlHelper
2
+ module Credentials
3
+ class Null < Generic
4
+ DEPENDS = "Object"
5
+ WEIGHT = 0
6
+ include Registerable
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module DbUrlHelper
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db_url_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Kaufmann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2015-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -61,8 +61,11 @@ files:
61
61
  - lib/db_url_helper/adapter/postgresql.rb
62
62
  - lib/db_url_helper/adapter/set.rb
63
63
  - lib/db_url_helper/credentials.rb
64
- - lib/db_url_helper/credentials/credentialials.rb
64
+ - lib/db_url_helper/credentials/credential.rb
65
+ - lib/db_url_helper/credentials/credentialias.rb
66
+ - lib/db_url_helper/credentials/environment.rb
65
67
  - lib/db_url_helper/credentials/generic.rb
68
+ - lib/db_url_helper/credentials/null.rb
66
69
  - lib/db_url_helper/helper.rb
67
70
  - lib/db_url_helper/lookup.rb
68
71
  - lib/db_url_helper/lookup/boutons.rb