versionone_sdk 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/lib/versionone_sdk.rb +1 -2
- data/lib/versionone_sdk/client.rb +10 -13
- data/lib/versionone_sdk/parser_xml_assets.rb +2 -3
- data/test/test_setup.rb +7 -1
- metadata +2 -3
- data/lib/versionone_sdk/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 593a1ecf5b4ea7e8c39f51451b592c5fa543a39e
|
4
|
+
data.tar.gz: d378134bbee3c8a49d8be66a85f3eca28799c53e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 526a552e0dc3d7be35b2f81192b63391d2570d065b45b8c091add1a35409d9c6fc2e38b59093cce0f6ae232e146c4e76560602c5b16790605c5934bfce8949d0
|
7
|
+
data.tar.gz: d45d34cebf4da109cc92f5baff983b1984f157b14525af9dd3c12518510535e52da9528554a28bfc24f18e16a0f80351892695e6713ecedaddcc39891b032073
|
data/README.md
CHANGED
@@ -70,6 +70,13 @@ params = {
|
|
70
70
|
}
|
71
71
|
v1client = VersiononeSdk::Client.new params
|
72
72
|
|
73
|
+
# Different asset types can be defined and passed in during instantiation
|
74
|
+
params = {
|
75
|
+
...
|
76
|
+
type_prefixes: { 'R' => 'Request', 'D' => 'Defect', 'B' => 'Story', 'E' => 'Epic' }
|
77
|
+
}
|
78
|
+
v1client = VersiononeSdk::Client.new params
|
79
|
+
|
73
80
|
# Retrieve an array of VersiononeSdk::Asset objects
|
74
81
|
assets = v1client.getAssets('Scope')
|
75
82
|
|
data/lib/versionone_sdk.rb
CHANGED
@@ -10,6 +10,7 @@ module VersiononeSdk
|
|
10
10
|
|
11
11
|
attr_accessor :oFaraday
|
12
12
|
attr_accessor :sInstance
|
13
|
+
attr_accessor :dTypePrefix
|
13
14
|
|
14
15
|
def initialize(opts = {})
|
15
16
|
@sProtocol = opts[:protocol] || DEFAULT_PROTOCOL
|
@@ -21,7 +22,7 @@ module VersiononeSdk
|
|
21
22
|
# VersionOne provides a mechanism for generating an access token
|
22
23
|
sAccessToken = opts[:access_token] || ''
|
23
24
|
@sInstance = opts[:instance] || ''
|
24
|
-
@dTypePrefix = {'B' => 'Story', 'E' => 'Epic'}
|
25
|
+
@dTypePrefix = opts[:type_prefixes] || {'B' => 'Story', 'E' => 'Epic', 'D' => 'Defect'}
|
25
26
|
@sUrl = buildUrl(@sProtocol, @sHostname, @iPort)
|
26
27
|
@oFaraday = Faraday::Connection.new url: @sUrl
|
27
28
|
@oFaraday.ssl.verify = opts[:ssl_verify].to_s.match(/false/i) \
|
@@ -77,35 +78,32 @@ module VersiononeSdk
|
|
77
78
|
def getAssetForTypeAndOid(sAssetType = nil, sAssetOid = nil)
|
78
79
|
sUrl = self.getUrlForAssets( sAssetType, sAssetOid )
|
79
80
|
oRes = @oFaraday.get sUrl
|
80
|
-
oParser = VersiononeSdk::ParserXmlAssets.new({:
|
81
|
-
|
81
|
+
oParser = VersiononeSdk::ParserXmlAssets.new({url: @sUrl})
|
82
|
+
return oParser.getDocForAssetXml( oRes.body )
|
82
83
|
end
|
83
84
|
|
84
85
|
def getAssetForTypeAndNumber(sAssetType = nil, sAssetNumber = nil)
|
85
86
|
sUrl = self.getUrlForAssetTypeAndNumber( sAssetType, sAssetNumber )
|
86
87
|
oRes = @oFaraday.get sUrl
|
87
|
-
oParser = VersiononeSdk::ParserXmlAssets.new({:
|
88
|
+
oParser = VersiononeSdk::ParserXmlAssets.new({url: @sUrl})
|
88
89
|
aDocs = oParser.getDocsForAssetsXml( oRes.body )
|
89
90
|
return aDocs[0]
|
90
91
|
end
|
91
92
|
|
92
93
|
def getAssets(sAssetType = nil, xIds = nil)
|
93
94
|
oRes = self.getAssetsXml(sAssetType,xIds)
|
94
|
-
oParser = VersiononeSdk::ParserXmlAssets.new({:
|
95
|
-
|
96
|
-
return aDocs
|
95
|
+
oParser = VersiononeSdk::ParserXmlAssets.new({url: @sUrl})
|
96
|
+
return oParser.getDocsForAssetsXml( oRes.body )
|
97
97
|
end
|
98
98
|
|
99
99
|
def getAssetsXml(sAssetType = nil, xIds = nil)
|
100
100
|
sUrl = self.getUrlForAssets(sAssetType)
|
101
|
-
|
102
|
-
return oRes
|
101
|
+
return @oFaraday.get sUrl
|
103
102
|
end
|
104
103
|
|
105
104
|
def getUrlForAssetTypeAndNumber(sAssetType = nil, sAssetNumber = nil)
|
106
105
|
aUrl = [ @sUrl, @sInstance, 'rest-1.v1/Data',sAssetType + %Q!?where=Number="#{sAssetNumber}"!]
|
107
|
-
|
108
|
-
return sUrl
|
106
|
+
return aUrl.join('/')
|
109
107
|
end
|
110
108
|
|
111
109
|
def getUrlForAssets(sAssetType = nil, sAssetOid = nil)
|
@@ -115,8 +113,7 @@ module VersiononeSdk
|
|
115
113
|
elsif sAssetOid.kind_of?(String) && sAssetOid =~ /^[0-9]+$/
|
116
114
|
aUrl.push sAssetOid
|
117
115
|
end
|
118
|
-
|
119
|
-
return sUrl
|
116
|
+
return aUrl.join('/')
|
120
117
|
end
|
121
118
|
|
122
119
|
def updateAsset(sAssetType=nil,sAssetOid=nil,sName=nil,xxValues=nil,yTagType=nil)
|
@@ -62,10 +62,9 @@ module VersiononeSdk
|
|
62
62
|
xxPropVal = getAssetNodeChildPropVal( oNodeChild )
|
63
63
|
oAsset.setProp(yPropKey,xxPropVal)
|
64
64
|
end
|
65
|
+
elsif oNodeChild.name == 'Message' && oNodeChild.text == 'Not Found'
|
66
|
+
raise RuntimeError, "E_ASSET_NOT_FOUND #{oNodeAsset.attribute('href').value}"
|
65
67
|
else
|
66
|
-
if oNodeChild.name == 'Message' && oNodeChild.text == 'Not Found'
|
67
|
-
raise RuntimeError, "E_ASSET_NOT_FOUND #{oNodeAsset.attribute('href').value}"
|
68
|
-
end
|
69
68
|
raise RuntimeError, "E_UNKNOWN_ASSET_NODE_NAME #{oNodeChild.name}"
|
70
69
|
end
|
71
70
|
end
|
data/test/test_setup.rb
CHANGED
@@ -33,11 +33,17 @@ class VersiononeSdkTest < Test::Unit::TestCase
|
|
33
33
|
oClient = VersiononeSdk::Client.new(protocol: 'http', user: 'user',
|
34
34
|
password: 'pass', port: 80, access_token: '', instance: 'Test')
|
35
35
|
assert_equal 'http://localhost/Test/rest-1.v1/Data/', oClient.getUrlForAssets
|
36
|
-
assert_match
|
36
|
+
assert_match(/\ABasic /, oClient.oFaraday.headers['Authorization'])
|
37
37
|
|
38
38
|
sAccessToken = 'some_string_generated_from_version_one'
|
39
39
|
oClient = VersiononeSdk::Client.new(protocol: 'https', port: 443,
|
40
40
|
access_token: sAccessToken, instance: Test)
|
41
41
|
assert_equal "Bearer #{sAccessToken}", oClient.oFaraday.headers['Authorization']
|
42
|
+
|
43
|
+
oClient = VersiononeSdk::Client.new(instance: 'Test')
|
44
|
+
assert_equal({'B' => 'Story', 'E' => 'Epic', 'D' => 'Defect'}, oClient.dTypePrefix)
|
45
|
+
|
46
|
+
oClient = VersiononeSdk::Client.new(instance: 'Test', type_prefixes: { 'T' => 'Test' })
|
47
|
+
assert_equal({ 'T' => 'Test'}, oClient.dTypePrefix)
|
42
48
|
end
|
43
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: versionone_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Wang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -142,7 +142,6 @@ files:
|
|
142
142
|
- lib/versionone_sdk/client.rb
|
143
143
|
- lib/versionone_sdk/parser_xml_assets.rb
|
144
144
|
- lib/versionone_sdk/update.rb
|
145
|
-
- lib/versionone_sdk/version.rb
|
146
145
|
- test/test_base.rb
|
147
146
|
- test/test_parser_xml_assets.rb
|
148
147
|
- test/test_setup.rb
|