versionone_sdk 0.2.1 → 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 +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
|