delphix_rb 0.1.0 → 0.2.0
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 +4 -4
- data/VERSION +1 -1
- data/delphix_rb.gemspec +2 -2
- data/lib/delphix/base.rb +11 -13
- data/lib/delphix/connection.rb +3 -8
- data/lib/delphix/environment.rb +3 -5
- data/lib/delphix/group.rb +3 -5
- data/lib/delphix/repository.rb +4 -0
- data/lib/delphix.rb +19 -20
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 916878dc92aeeb06d919257efd28d2d3a9de5161
|
4
|
+
data.tar.gz: e0513a8bff89d459b872a0d5d76f8c35e4cd10f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b812e7c6099b206a8e23101037b53d61fb0ca97ffd1689299ea7952d01a1edcf71efcb78908bc08967b0fdeea99ea62c591062db5457204257fd1f6390258987
|
7
|
+
data.tar.gz: a329c59718488e81a3146082631d13018c65349b4e3a00d9c6f64403e5296e1fabeb95de005c0a42c6df4e99208b5a21e9b454a7d4f57526090b904f8cd9d214
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/delphix_rb.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: delphix_rb 0.
|
5
|
+
# stub: delphix_rb 0.2.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "delphix_rb"
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.2.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
data/lib/delphix/base.rb
CHANGED
@@ -2,33 +2,31 @@
|
|
2
2
|
module Delphix::Base
|
3
3
|
include Delphix::Error
|
4
4
|
|
5
|
-
attr_accessor :
|
5
|
+
attr_accessor :details
|
6
6
|
|
7
7
|
# The private new method accepts a connection and a hash
|
8
|
-
def initialize(
|
9
|
-
|
10
|
-
|
8
|
+
def initialize(reference=nil, details=nil)
|
9
|
+
if details == nil
|
10
|
+
@details = { 'reference' => reference }
|
11
|
+
else
|
12
|
+
@details = details
|
11
13
|
end
|
12
|
-
|
13
|
-
@connection, @info = connection, info
|
14
|
-
@details = nil
|
15
14
|
end
|
16
15
|
|
17
16
|
def type
|
18
|
-
@
|
17
|
+
@details['type'] || 'unknown'
|
19
18
|
end
|
20
19
|
|
21
20
|
def name
|
22
|
-
@
|
21
|
+
@details['name'] || ''
|
23
22
|
end
|
24
23
|
|
25
24
|
def reference
|
26
|
-
@
|
25
|
+
@details['reference'] || ''
|
27
26
|
end
|
28
27
|
|
29
28
|
def details
|
30
29
|
@details ||= refresh_details
|
31
|
-
@info = @details
|
32
30
|
@details
|
33
31
|
end
|
34
32
|
|
@@ -42,12 +40,12 @@ module Delphix::Base
|
|
42
40
|
|
43
41
|
# a generic get method, used when there is not specialized method to invoke an API call
|
44
42
|
def get(endpoint, payload)
|
45
|
-
|
43
|
+
Delphix.get( endpoint, payload)
|
46
44
|
end
|
47
45
|
|
48
46
|
# a generic get method, used when there is not specialized method to invoke an API call
|
49
47
|
def post(endpoint, payload)
|
50
|
-
|
48
|
+
Delphix.post( endpoint, payload)
|
51
49
|
end
|
52
50
|
|
53
51
|
end
|
data/lib/delphix/connection.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
|
1
2
|
# This class represents a Connection to a Delphix Engine. The Connection is
|
2
3
|
# immutable in that once the url and options is set they cannot be changed.
|
4
|
+
|
3
5
|
class Delphix::Connection
|
4
6
|
include Delphix::Error
|
5
7
|
|
@@ -20,13 +22,6 @@ class Delphix::Connection
|
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
23
|
-
# The actual client that sends HTTP methods to the Delphix Engine.
|
24
|
-
def session
|
25
|
-
@session
|
26
|
-
end
|
27
|
-
|
28
|
-
private :session
|
29
|
-
|
30
25
|
# Send a request to the server
|
31
26
|
def request(*args, &block)
|
32
27
|
|
@@ -35,7 +30,7 @@ class Delphix::Connection
|
|
35
30
|
log_request(request) if Delphix.debug
|
36
31
|
|
37
32
|
# execute the request and grao the session cookie if not already set
|
38
|
-
response = session.request(request)
|
33
|
+
response = @session.request(request)
|
39
34
|
@session_cookie ||= cookie?(response)
|
40
35
|
|
41
36
|
log_response(response) if Delphix.debug
|
data/lib/delphix/environment.rb
CHANGED
@@ -5,10 +5,8 @@ require 'delphix/repository'
|
|
5
5
|
class Delphix::Environment
|
6
6
|
include Delphix::Base
|
7
7
|
|
8
|
-
def initialize(reference)
|
9
|
-
|
10
|
-
@info = { 'reference' => reference }
|
11
|
-
@details = nil
|
8
|
+
def initialize(reference, details=nil)
|
9
|
+
super(reference, details)
|
12
10
|
end
|
13
11
|
|
14
12
|
def repositories
|
@@ -58,7 +56,7 @@ class Delphix::Environment
|
|
58
56
|
env = Delphix::Environment.new ref
|
59
57
|
|
60
58
|
# refresh the object from the DE
|
61
|
-
env.
|
59
|
+
env.refresh_details
|
62
60
|
|
63
61
|
env
|
64
62
|
end
|
data/lib/delphix/group.rb
CHANGED
@@ -2,10 +2,8 @@
|
|
2
2
|
class Delphix::Group
|
3
3
|
include Delphix::Base
|
4
4
|
|
5
|
-
def initialize(reference)
|
6
|
-
|
7
|
-
@info = { 'reference' => reference }
|
8
|
-
@details = nil
|
5
|
+
def initialize(reference, details=nil)
|
6
|
+
super(reference, details)
|
9
7
|
end
|
10
8
|
|
11
9
|
def refresh_details
|
@@ -23,7 +21,7 @@ class Delphix::Group
|
|
23
21
|
group = Delphix::Group.new ref
|
24
22
|
|
25
23
|
# refresh the object from the DE
|
26
|
-
group.
|
24
|
+
group.refresh_details
|
27
25
|
|
28
26
|
group
|
29
27
|
end
|
data/lib/delphix/repository.rb
CHANGED
data/lib/delphix.rb
CHANGED
@@ -14,13 +14,12 @@ module Delphix
|
|
14
14
|
require 'delphix/repository'
|
15
15
|
|
16
16
|
def authenticate!(username,password)
|
17
|
+
|
17
18
|
case
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
else
|
23
|
-
@username, @password = username, password
|
19
|
+
when !username.is_a?(String)
|
20
|
+
raise ArgumentError, "Expected a String, got: '#{username}'"
|
21
|
+
when !password.is_a?(String)
|
22
|
+
raise ArgumentError, "Expected a String, got: '#{password}'"
|
24
23
|
end
|
25
24
|
|
26
25
|
reset_connection!
|
@@ -50,8 +49,8 @@ module Delphix
|
|
50
49
|
def environments
|
51
50
|
envs = BaseArray.new
|
52
51
|
result = get('/resources/json/delphix/environment', nil)['result']
|
53
|
-
result.each do |
|
54
|
-
envs << Environment.new(
|
52
|
+
result.each do |env|
|
53
|
+
envs << Environment.new(env['reference'],env)
|
55
54
|
end
|
56
55
|
envs
|
57
56
|
end
|
@@ -59,8 +58,8 @@ module Delphix
|
|
59
58
|
def groups
|
60
59
|
groups = BaseArray.new
|
61
60
|
result = get('/resources/json/delphix/group', nil)['result']
|
62
|
-
result.each do |
|
63
|
-
groups << Group.new(
|
61
|
+
result.each do |group|
|
62
|
+
groups << Group.new(group['reference'],group)
|
64
63
|
end
|
65
64
|
groups
|
66
65
|
end
|
@@ -68,8 +67,8 @@ module Delphix
|
|
68
67
|
def repositories
|
69
68
|
repos = BaseArray.new
|
70
69
|
result = get('/resources/json/delphix/repository', nil)['result']
|
71
|
-
result.each do |
|
72
|
-
repos << Repository.new(
|
70
|
+
result.each do |repo|
|
71
|
+
repos << Repository.new(repo['reference'],repo)
|
73
72
|
end
|
74
73
|
repos
|
75
74
|
end
|
@@ -109,14 +108,6 @@ module Delphix
|
|
109
108
|
reset_connection!
|
110
109
|
end
|
111
110
|
|
112
|
-
def connection
|
113
|
-
@connection ||= Connection.new(url, options)
|
114
|
-
end
|
115
|
-
|
116
|
-
def reset_connection!
|
117
|
-
@connection = nil
|
118
|
-
end
|
119
|
-
|
120
111
|
def debug
|
121
112
|
@debug || false
|
122
113
|
end
|
@@ -127,6 +118,14 @@ module Delphix
|
|
127
118
|
|
128
119
|
private
|
129
120
|
|
121
|
+
def connection
|
122
|
+
@connection ||= Connection.new(url, options)
|
123
|
+
end
|
124
|
+
|
125
|
+
def reset_connection!
|
126
|
+
@connection = nil
|
127
|
+
end
|
128
|
+
|
130
129
|
def env_url
|
131
130
|
ENV['DELPHIX_URL'] || default_url
|
132
131
|
end
|