versionone_sdk 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +11 -0
- data/LICENSE.txt +3 -1
- data/README.md +63 -39
- data/lib/versionone_sdk.rb +1 -1
- data/lib/versionone_sdk/asset.rb +7 -12
- data/lib/versionone_sdk/client.rb +9 -11
- data/lib/versionone_sdk/parser_xml_assets.rb +3 -4
- data/lib/versionone_sdk/update.rb +5 -7
- data/lib/versionone_sdk/version.rb +2 -3
- data/test/test_setup.rb +12 -2
- metadata +22 -22
- data/VERSION +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c15907c8f53860b4e6e271b5df502d75482d8c0
|
4
|
+
data.tar.gz: c6a1c6c0e857d6201e1e4c485520c1215be6ae11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b326cd59f5114a1a25d68f1398701362c189e1a54ace9e3054ef6e4018c63d12a4f26a7a3c594b9c6f99e10ba7f818aa3d12909f1f7a74c1ef0ad0f678b6bdd
|
7
|
+
data.tar.gz: ec8125c609f378a31e5f8dd74a483507723ab5b42670ea038d4ef64dd9ac9d636c3bb7df74386e966b1c9fc1a6b6ec87731427e9978de98cb3ac7da7fdf0cfb3
|
data/Gemfile
ADDED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
VersionOne SDK - A Ruby SDK for the VersionOne REST API
|
2
2
|
=======================================================
|
3
3
|
|
4
|
-
[![Gem Version]
|
5
|
-
[![Build Status]
|
6
|
-
[![
|
7
|
-
[![
|
8
|
-
[![
|
9
|
-
[![
|
4
|
+
[![Gem Version][gem-version-svg]][gem-version-link]
|
5
|
+
[![Build Status][build-status-svg]][build-status-link]
|
6
|
+
[![Coverage Status][coverage-status-svg]][coverage-status-link]
|
7
|
+
[![Dependency Status][dependency-status-svg]][dependency-status-link]
|
8
|
+
[![Code Climate][codeclimate-status-svg]][codeclimate-status-link]
|
9
|
+
[![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-link]
|
10
|
+
[![Downloads][downloads-svg]][downloads-link]
|
11
|
+
[![Docs][docs-rubydoc-svg]][docs-rubydoc-link]
|
12
|
+
[![License][license-svg]][license-link]
|
10
13
|
|
11
14
|
## Synopsis
|
12
15
|
|
@@ -20,11 +23,20 @@ It currently offers the following capabilities:
|
|
20
23
|
2. Ability to query Assets transparently using Asset OID Tokens (e.g. `Story:1`) or Asset Numbers (e.g. `B-1`).
|
21
24
|
3. Ability to update Assets using Ruby without needing to manually create XML.
|
22
25
|
|
23
|
-
##
|
26
|
+
## Installation
|
24
27
|
|
25
|
-
|
28
|
+
### Via Bundler
|
26
29
|
|
27
|
-
|
30
|
+
Add 'versionone_sdk' to `Gemfile` and then run `bundle`:
|
31
|
+
|
32
|
+
```sh
|
33
|
+
$ echo "gem 'versionone_sdk'" >> Gemfile
|
34
|
+
$ bundle
|
35
|
+
```
|
36
|
+
|
37
|
+
### Via RubyGems
|
38
|
+
|
39
|
+
```sh
|
28
40
|
$ gem install versionone_sdk
|
29
41
|
```
|
30
42
|
|
@@ -35,19 +47,18 @@ This gem uses `nokogiri` which requires Ruby >= 1.9.2.
|
|
35
47
|
```ruby
|
36
48
|
require 'versionone_sdk'
|
37
49
|
|
38
|
-
params
|
39
|
-
:
|
40
|
-
:
|
41
|
-
:
|
42
|
-
:
|
43
|
-
:
|
44
|
-
:
|
50
|
+
params = {
|
51
|
+
hostname: 'www1.v1host.com',
|
52
|
+
instance: 'myinstance',
|
53
|
+
username: 'myusername',
|
54
|
+
password: 'mypassword',
|
55
|
+
port: 443,
|
56
|
+
protocol: 'https'
|
45
57
|
}
|
46
58
|
|
47
59
|
v1client = VersiononeSdk::Client.new(params)
|
48
60
|
|
49
61
|
# Retrieve an array of VersiononeSdk::Asset objects
|
50
|
-
|
51
62
|
assets = v1client.getAssets('Scope')
|
52
63
|
|
53
64
|
assets.each do |asset|
|
@@ -56,39 +67,33 @@ end
|
|
56
67
|
|
57
68
|
# Retrieve a single asset using an Asset OID Token
|
58
69
|
# Returns a VersiononeSdk::Asset object
|
59
|
-
|
60
|
-
asset = v1client.getAsset(
|
61
|
-
asset = v1client.getAsset("Story",1)
|
70
|
+
asset = v1client.getAsset('Story:1')
|
71
|
+
asset = v1client.getAsset('Story',1)
|
62
72
|
|
63
73
|
# Retrieve a single asset using an Asset Number
|
64
|
-
|
65
|
-
asset = v1client.getAsset(
|
66
|
-
asset = v1client.getAsset("B",1)
|
74
|
+
asset = v1client.getAsset('B-1')
|
75
|
+
asset = v1client.getAsset('B',1)
|
67
76
|
|
68
77
|
# Updating an asset with a simple attribute
|
69
78
|
# Returns a Faraday::Response object
|
70
|
-
|
71
|
-
v1client.updateAsset(
|
72
|
-
v1client.updateAsset(
|
73
|
-
v1client.updateAsset("Member",20,"Phone",{:value=>"555-555-1212",:act=>"set"},\
|
79
|
+
v1client.updateAsset('Member',20,'Phone','555-555-1212')
|
80
|
+
v1client.updateAsset('Member',20,'Phone',{value: '555-555-1212', act: 'set'})
|
81
|
+
v1client.updateAsset('Member',20,'Phone',{value: '555-555-1212', act: 'set'},\
|
74
82
|
:simple_attribute
|
75
83
|
)
|
76
84
|
|
77
85
|
# Updating an asset with a single-value relationship:
|
78
|
-
|
79
|
-
v1client.updateAsset(
|
80
|
-
v1client.updateAsset(
|
81
|
-
v1client.updateAsset("Scope",0,"Owner",{:value=>"Member:20",:act=>"set"},:single_relationship)
|
86
|
+
v1client.updateAsset('Scope',0,'Owner','Member:20')
|
87
|
+
v1client.updateAsset('Scope',0,'Owner',{value: 'Member:20', act: 'set'})
|
88
|
+
v1client.updateAsset('Scope',0,'Owner',{value: 'Member:20', act: 'set'},:single_relationship)
|
82
89
|
|
83
90
|
# Updating an asset with a multi-value relationship: adding members
|
84
|
-
|
85
|
-
v1client.updateAsset("Scope",0,"Members",["Member:1000","Member:1001"],:multi_relationship)
|
91
|
+
v1client.updateAsset('Scope',0,'Members',['Member:1000','Member:1001'],:multi_relationship)
|
86
92
|
|
87
93
|
# Updating an asset with a multi-value relationship: adding and removing members
|
88
|
-
|
89
|
-
|
90
|
-
{ :
|
91
|
-
{ :value => "Member:1001", :act => "remove " } \
|
94
|
+
v1client.updateAsset('Scope',0,'Members',[ \
|
95
|
+
{ value: 'Member:1000', act: 'add' }, \
|
96
|
+
{ value: 'Member:1001', act: 'remove' } \
|
92
97
|
],:multi_relationship)
|
93
98
|
```
|
94
99
|
|
@@ -132,10 +137,29 @@ VersionOne API Documentation for Updating an Asset
|
|
132
137
|
|
133
138
|
## Copyright and License
|
134
139
|
|
135
|
-
VersiononeSdk © 2014-
|
140
|
+
VersiononeSdk © 2014-2016 by [John Wang](mailto:johncwang@gmail.com).
|
136
141
|
|
137
142
|
VersiononeSdk is licensed under the MIT license. Please see the [LICENSE.txt](LICENSE.txt) document for more information.
|
138
143
|
|
139
144
|
## Warranty
|
140
145
|
|
141
|
-
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.
|
146
|
+
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.
|
147
|
+
|
148
|
+
[gem-version-svg]: https://badge.fury.io/rb/versionone_sdk.svg
|
149
|
+
[gem-version-link]: http://badge.fury.io/rb/versionone_sdk
|
150
|
+
[build-status-svg]: https://api.travis-ci.org/grokify/versionone-sdk-ruby.svg?branch=master
|
151
|
+
[build-status-link]: https://travis-ci.org/grokify/versionone-sdk-ruby
|
152
|
+
[coverage-status-svg]: https://coveralls.io/repos/grokify/versionone-sdk-ruby/badge.svg?branch=master
|
153
|
+
[coverage-status-link]: https://coveralls.io/r/grokify/versionone-sdk-ruby?branch=master
|
154
|
+
[dependency-status-svg]: https://gemnasium.com/grokify/versionone-sdk-ruby.svg
|
155
|
+
[dependency-status-link]: https://gemnasium.com/grokify/versionone-sdk-ruby
|
156
|
+
[codeclimate-status-svg]: https://codeclimate.com/github/grokify/versionone-sdk-ruby/badges/gpa.svg
|
157
|
+
[codeclimate-status-link]: https://codeclimate.com/github/grokify/versionone-sdk-ruby
|
158
|
+
[scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/versionone-sdk-ruby/badges/quality-score.png?b=master
|
159
|
+
[scrutinizer-status-link]: https://scrutinizer-ci.com/g/grokify/versionone-sdk-ruby/?branch=master
|
160
|
+
[downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/versionone_sdk
|
161
|
+
[downloads-link]: https://rubygems.org/gems/versionone_sdk
|
162
|
+
[docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg
|
163
|
+
[docs-rubydoc-link]: http://www.rubydoc.info/gems/versionone_sdk/
|
164
|
+
[license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
|
165
|
+
[license-link]: https://github.com/grokify/versionone-sdk-ruby/blob/master/LICENSE.txt
|
data/lib/versionone_sdk.rb
CHANGED
data/lib/versionone_sdk/asset.rb
CHANGED
@@ -1,19 +1,15 @@
|
|
1
1
|
require 'jsondoc'
|
2
2
|
|
3
3
|
module VersiononeSdk
|
4
|
-
|
5
4
|
# VersiononeSdk::Asset class is a JsonDoc::Document subclass that includes
|
6
5
|
# the #inflateNames method to add AssetState.Name based on the VersionOne
|
7
6
|
# classifications avaiable at: https://community.versionone.com/Developers/Developer-Library/Concepts/Asset_State
|
8
|
-
|
9
7
|
class Asset < JsonDoc::Document
|
10
8
|
attr_accessor :dSchema
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
@dDocument = self.getDefaultDocument()
|
16
|
-
self.loadInitialValues(dValues)
|
9
|
+
|
10
|
+
def initialize(dValues=nil,dSchema=nil,bDefaultifyDoc=false,bIsStrict=true,opts={})
|
11
|
+
opts[:bUseDeepKeys] = false
|
12
|
+
super(dValues, dSchema, bDefaultifyDoc, bIsStrict, opts)
|
17
13
|
end
|
18
14
|
|
19
15
|
def getDefaultSchema()
|
@@ -45,17 +41,16 @@ module VersiononeSdk
|
|
45
41
|
208 => 'Broken Down (Dead)',
|
46
42
|
255 => 'Deleted (Dead)'
|
47
43
|
}
|
48
|
-
if @dDocument.
|
44
|
+
if @dDocument.key?(:AssetState)
|
49
45
|
sAssetState = @dDocument[:AssetState]
|
50
46
|
if sAssetState.is_a?(String) && sAssetState =~ /^[0-9]+$/
|
51
47
|
iAssetState = sAssetState.to_i
|
52
|
-
if dAssetState.
|
48
|
+
if dAssetState.key?(iAssetState)
|
53
49
|
sAssetStateName = dAssetState[iAssetState]
|
54
50
|
self.setProp(:'AssetState.Name',sAssetStateName)
|
55
51
|
end
|
56
52
|
end
|
57
53
|
end
|
58
54
|
end
|
59
|
-
|
60
55
|
end
|
61
|
-
end
|
56
|
+
end
|
@@ -4,21 +4,20 @@ require 'versionone_sdk/parser_xml_assets'
|
|
4
4
|
|
5
5
|
module VersiononeSdk
|
6
6
|
class Client
|
7
|
-
|
8
7
|
attr_accessor :oFaraday
|
9
8
|
attr_accessor :sInstance
|
10
9
|
|
11
10
|
def initialize(dOptions={})
|
12
11
|
iPort = iPort.to_i if iPort.is_a?(String)
|
13
|
-
@sProtocol = dOptions.
|
12
|
+
@sProtocol = dOptions.key?(:protocol) && dOptions[:protocol] \
|
14
13
|
? dOptions[:protocol] : 'https'
|
15
|
-
@sHostname = dOptions.
|
14
|
+
@sHostname = dOptions.key?(:hostname) && dOptions[:hostname] \
|
16
15
|
? dOptions[:hostname] : 'localhost'
|
17
|
-
@iPort = dOptions.
|
16
|
+
@iPort = dOptions.key?(:port) && dOptions[:port] \
|
18
17
|
? dOptions[:port].to_i : 443
|
19
|
-
sUsername = dOptions.
|
20
|
-
sPassword = dOptions.
|
21
|
-
@sInstance = dOptions.
|
18
|
+
sUsername = dOptions.key?(:username) ? dOptions[:username] : ''
|
19
|
+
sPassword = dOptions.key?(:password) ? dOptions[:password] : ''
|
20
|
+
@sInstance = dOptions.key?(:instance) ? dOptions[:instance] : ''
|
22
21
|
@dTypePrefix = { 'B' => 'Story', 'E' => 'Epic' }
|
23
22
|
@sUrl = buildUrl(@sProtocol,@sHostname,@iPort)
|
24
23
|
@oFaraday = Faraday::Connection.new url: @sUrl
|
@@ -37,7 +36,7 @@ module VersiononeSdk
|
|
37
36
|
|
38
37
|
elsif xAssetId1 =~ /^([a-zA-Z])-[0-9]+$/
|
39
38
|
sAssetTypeAbbr = $1.upcase
|
40
|
-
sAssetType = @dTypePrefix.
|
39
|
+
sAssetType = @dTypePrefix.key?( sAssetTypeAbbr ) \
|
41
40
|
? @dTypePrefix[ sAssetTypeAbbr ] : ''
|
42
41
|
xAssetId1.upcase!
|
43
42
|
return self.getAssetForTypeAndNumber( sAssetType, xAssetId1 )
|
@@ -52,7 +51,7 @@ module VersiononeSdk
|
|
52
51
|
if xAssetId1 =~ /^[a-zA-Z]$/
|
53
52
|
xAssetId1.upcase!
|
54
53
|
sAssetTypeAbbr = xAssetId1
|
55
|
-
sAssetType = @dTypePrefix.
|
54
|
+
sAssetType = @dTypePrefix.key?( sAssetTypeAbbr ) \
|
56
55
|
? @dTypePrefix[ sAssetTypeAbbr ] : ''
|
57
56
|
sAssetNumber = xAssetId1 + '-' + xAssetId2.to_s
|
58
57
|
sAssetNumber.upcase!
|
@@ -145,6 +144,5 @@ module VersiononeSdk
|
|
145
144
|
sBaseUrl += ':' + iPort.to_s if iPort != 80
|
146
145
|
return sBaseUrl
|
147
146
|
end
|
148
|
-
|
149
147
|
end
|
150
|
-
end
|
148
|
+
end
|
@@ -5,7 +5,7 @@ require 'versionone_sdk/asset'
|
|
5
5
|
module VersiononeSdk
|
6
6
|
class ParserXmlAssets
|
7
7
|
def initialize(dOptions={})
|
8
|
-
@sUrl = dOptions.
|
8
|
+
@sUrl = dOptions.key?(:url) ? dOptions[:url] : ''
|
9
9
|
end
|
10
10
|
def getDocsForAssetsXmlPath(sPath=nil)
|
11
11
|
if File.exists?(sPath)
|
@@ -76,7 +76,7 @@ module VersiononeSdk
|
|
76
76
|
if oNodeChild.children.length > 0
|
77
77
|
oNodeChild.children.each do |oNodeChildGrand|
|
78
78
|
dAttributes = oNodeChildGrand.attributes
|
79
|
-
xxPropVal = dAttributes.
|
79
|
+
xxPropVal = dAttributes.key?('idref') \
|
80
80
|
? oNodeChildGrand.attribute('idref').value \
|
81
81
|
: oNodeChildGrand.text
|
82
82
|
xxPropVal = nil if xxPropVal == ''
|
@@ -95,6 +95,5 @@ module VersiononeSdk
|
|
95
95
|
xxPropVal = nil if xxPropVal == ''
|
96
96
|
return xxPropVal
|
97
97
|
end
|
98
|
-
|
99
98
|
end
|
100
|
-
end
|
99
|
+
end
|
@@ -2,7 +2,6 @@ require 'nokogiri'
|
|
2
2
|
|
3
3
|
module VersiononeSdk
|
4
4
|
class Update
|
5
|
-
|
6
5
|
def initialize(oClient=nil)
|
7
6
|
@oClient = oClient
|
8
7
|
@dTagTypes = {:simple_attribute=>1,:single_relationship=>1,:multi_relationship=>1}
|
@@ -27,13 +26,13 @@ module VersiononeSdk
|
|
27
26
|
yTagType = yTagType.to_sym if yTagType.is_a?(String)
|
28
27
|
|
29
28
|
unless yTagType.nil?
|
30
|
-
unless @dTagTypes.
|
29
|
+
unless @dTagTypes.key?(yTagType)
|
31
30
|
raise ArgumentError, "E_BAD_TAG_TYPE: [#{yTagType.to_s}]"
|
32
31
|
end
|
33
32
|
else
|
34
33
|
if sName.nil? || ! sName.kind_of?(String)
|
35
34
|
raise ArgumentError, 'E_NO_ATTRIBUTE_NAME'
|
36
|
-
elsif @dRelationships.
|
35
|
+
elsif @dRelationships.key?(sName)
|
37
36
|
aValues.each do |dValue|
|
38
37
|
sAct = dValue[:act]
|
39
38
|
if sAct == 'set'
|
@@ -100,7 +99,7 @@ module VersiononeSdk
|
|
100
99
|
end
|
101
100
|
|
102
101
|
def getXmlBodyForSimpleAttributeUpdate(sName=nil,aValues=[])
|
103
|
-
sValue = aValues.length>0 && aValues[0].
|
102
|
+
sValue = aValues.length>0 && aValues[0].key?(:value) \
|
104
103
|
? aValues[0][:value] : nil
|
105
104
|
oBuilder = Nokogiri::XML::Builder.new do |xml|
|
106
105
|
xml.Asset {
|
@@ -111,7 +110,7 @@ module VersiononeSdk
|
|
111
110
|
end
|
112
111
|
|
113
112
|
def getXmlBodyForSingleRelationship(sName=nil,aValues=[])
|
114
|
-
sValue = aValues.length>0 && aValues[0].
|
113
|
+
sValue = aValues.length>0 && aValues[0].key?(:value) \
|
115
114
|
? aValues[0][:value] : nil
|
116
115
|
oBuilder = sValue.nil? \
|
117
116
|
? Nokogiri::XML::Builder.new { |xml| xml.Asset { \
|
@@ -139,6 +138,5 @@ module VersiononeSdk
|
|
139
138
|
} }
|
140
139
|
return oBuilder.to_xml
|
141
140
|
end
|
142
|
-
|
143
141
|
end
|
144
|
-
end
|
142
|
+
end
|
data/test/test_setup.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'versionone_sdk'
|
3
3
|
|
4
|
+
require 'pp'
|
5
|
+
|
4
6
|
class VersiononeSdkTest < Test::Unit::TestCase
|
5
7
|
def testSetup
|
6
|
-
|
7
8
|
oAsset = VersiononeSdk::Asset.new
|
8
9
|
oClient = VersiononeSdk::Client.new
|
9
10
|
oParser = VersiononeSdk::ParserXmlAssets.new
|
@@ -11,6 +12,15 @@ class VersiononeSdkTest < Test::Unit::TestCase
|
|
11
12
|
assert_equal 'VersiononeSdk::Asset', oAsset.class.name
|
12
13
|
assert_equal 'VersiononeSdk::Client', oClient.class.name
|
13
14
|
assert_equal 'VersiononeSdk::ParserXmlAssets', oParser.class.name
|
15
|
+
end
|
16
|
+
|
17
|
+
def testAsset
|
18
|
+
oAsset = VersiononeSdk::Asset.new({hello: 'world'},{},false,false)
|
19
|
+
assert_equal 'world', oAsset.getAttr(:hello)
|
20
|
+
|
21
|
+
oAsset.setProp(:AssetState, '128')
|
22
|
+
oAsset.inflateNames()
|
14
23
|
|
24
|
+
assert_equal 'Closed', oAsset.getProp(:'AssetState.Name')
|
15
25
|
end
|
16
|
-
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,73 +1,73 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: versionone_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.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:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
|
-
- -
|
20
|
+
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - ~>
|
27
|
+
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
- -
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: jsondoc
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ~>
|
37
|
+
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0'
|
40
|
-
- -
|
39
|
+
version: '0.1'
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.1.2
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - ~>
|
47
|
+
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '0'
|
50
|
-
- -
|
49
|
+
version: '0.1'
|
50
|
+
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 0.
|
52
|
+
version: 0.1.2
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: nokogiri
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - ~>
|
57
|
+
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '1.5'
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 1.5.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ~>
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '1.5'
|
70
|
-
- -
|
70
|
+
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 1.5.0
|
73
73
|
description: A Ruby SDK for the VersionOne REST API
|
@@ -77,10 +77,10 @@ extensions: []
|
|
77
77
|
extra_rdoc_files: []
|
78
78
|
files:
|
79
79
|
- CHANGELOG.md
|
80
|
+
- Gemfile
|
80
81
|
- LICENSE.txt
|
81
82
|
- README.md
|
82
83
|
- Rakefile
|
83
|
-
- VERSION
|
84
84
|
- lib/versionone_sdk.rb
|
85
85
|
- lib/versionone_sdk/asset.rb
|
86
86
|
- lib/versionone_sdk/client.rb
|
@@ -98,17 +98,17 @@ require_paths:
|
|
98
98
|
- lib
|
99
99
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
|
-
- -
|
106
|
+
- - ">="
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0'
|
109
109
|
requirements: []
|
110
110
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.
|
111
|
+
rubygems_version: 2.4.8
|
112
112
|
signing_key:
|
113
113
|
specification_version: 4
|
114
114
|
summary: VersionOne SDK - A Ruby SDK for the VersionOne REST API
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.1.1
|