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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02fbf3cf28e3b313d11b05f641eb49e06beb8871
4
- data.tar.gz: c8e6e63230e3fed52fb9c8f5d98dc15d928ff17e
3
+ metadata.gz: 593a1ecf5b4ea7e8c39f51451b592c5fa543a39e
4
+ data.tar.gz: d378134bbee3c8a49d8be66a85f3eca28799c53e
5
5
  SHA512:
6
- metadata.gz: d3de9a4765a94782805327f4ebd5cd59a0163b653dee79d8bf645dbdc043115177aa522ef75451594939e86da3f3eff9b6ba1b637245422b875e6354dffa4ddc
7
- data.tar.gz: 241f2a0644bcd85daac4e5390dc317fd6d8d561064e6b80edaab7077bfd9ab3971eb5703fa6613fc16120124a29c9da8c1f6e026f74e80819c68fe7ab40ed1e0
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
 
@@ -1,6 +1,5 @@
1
- require 'versionone_sdk/version.rb'
2
-
3
1
  module VersiononeSdk
2
+ VERSION = '0.2.2'
4
3
  autoload :Asset, 'versionone_sdk/asset'
5
4
  autoload :Client, 'versionone_sdk/client'
6
5
  autoload :ParserXmlAssets, 'versionone_sdk/parser_xml_assets'
@@ -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({:url => @sUrl})
81
- aDoc = oParser.getDocForAssetXml( oRes.body )
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({:url => @sUrl})
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({:url => @sUrl})
95
- aDocs = oParser.getDocsForAssetsXml( oRes.body )
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
- oRes = @oFaraday.get sUrl
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
- sUrl = aUrl.join('/')
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
- sUrl = aUrl.join('/')
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
@@ -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 /\ABasic /, oClient.oFaraday.headers['Authorization']
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.1
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-10 00:00:00.000000000 Z
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
@@ -1,3 +0,0 @@
1
- module VersiononeSdk
2
- VERSION = '0.2.1'
3
- end