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 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