db_url_helper 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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