springcm-sdk 0.3.4 → 0.3.5

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
  SHA256:
3
- metadata.gz: 4ad5c7b8f5ee94f60381f7a7c1584dade0d0e3a060f7a2914063e0d5c044db61
4
- data.tar.gz: b314ab30a1191edf5df3ff00d629cb45184d01e10e12819b425c8a65c87b78a4
3
+ metadata.gz: 3e3841da2b35c8107f04251234a0850ab33fe344099fb586d1f7ffe19a8fc0fb
4
+ data.tar.gz: f145bc61a250cb7ee978f3dfed0ec20f9961f60e329579b31ba8a7b359325265
5
5
  SHA512:
6
- metadata.gz: 05db834bd55f338e04f3d8b6275d87aa41727823300f339771934fe190eda689ff1b6e4fc120f9d9b7e00d6a7b4b8cc2961189af1ebde8bf1675d51d91658fde
7
- data.tar.gz: 2d35b5c934bb4fe530e1f7e7d0ffd5f0424e1f1b8f63da0ae17c757d7d57003acc6c2e69398b42f00606b06489aa8425d8fd07501727381dc7ad346879c3f155
6
+ metadata.gz: 8d6f2862635fdb5258bfb5b5814c12772e55414e82ab2c9a218e5b6b0b59331627e6276290cfc55929f31d7002fcc01650cdf38d4a9d3581639e405b6fe19a15
7
+ data.tar.gz: 5d8fc9460e4d2e7c5c526e81a618846a74f0d54565688a46b08b373977ff09df50bb0417a3db379a5e5b8af49fd70cfc292057a06ac0c1cd285b686ed0850e90
data/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@ All notable changes to springcm-sdk will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.3.5] - 2019-12-23
8
+ ### Added
9
+ * Document#history
10
+ * History items
11
+
7
12
  ## [0.3.4] - 2019-12-11
8
13
  ### Added
9
14
  * Folder#delete
@@ -69,7 +74,7 @@ All notable changes to springcm-sdk will be documented in this file.
69
74
  ### Added
70
75
  * Initial release to reserve gem name
71
76
 
72
- [Unreleased]: https://github.com/paulholden2/springcm-sdk/compare/0.3.4...HEAD
77
+ [Unreleased]: https://github.com/paulholden2/springcm-sdk/compare/0.3.5...HEAD
73
78
  [0.1.0]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.1.0
74
79
  [0.1.1]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.1.1
75
80
  [0.1.2]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.1.2
@@ -79,3 +84,4 @@ All notable changes to springcm-sdk will be documented in this file.
79
84
  [0.3.2]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.3.2
80
85
  [0.3.3]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.3.3
81
86
  [0.3.4]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.3.4
87
+ [0.3.5]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.3.5
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SpringCM SDK
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/springcm-sdk.svg)](https://badge.fury.io/rb/springcm-sdk) [![Build Status](https://travis-ci.org/paulholden2/springcm-sdk.svg?branch=master)](https://travis-ci.org/paulholden2/springcm-sdk) [![Maintainability](https://api.codeclimate.com/v1/badges/06e1dd90fde417de15da/maintainability)](https://codeclimate.com/github/paulholden2/springcm-sdk/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/06e1dd90fde417de15da/test_coverage)](https://codeclimate.com/github/paulholden2/springcm-sdk/test_coverage)
3
+ [![Gem Version](https://badge.fury.io/rb/springcm-sdk.svg)](https://badge.fury.io/rb/springcm-sdk) [![Depfu](https://badges.depfu.com/badges/d19cc9a4361b84a276e21997c49e640e/overview.svg)](https://depfu.com/github/paulholden2/springcm-sdk?project_id=10385) [![Build Status](https://travis-ci.org/paulholden2/springcm-sdk.svg?branch=master)](https://travis-ci.org/paulholden2/springcm-sdk) [![Maintainability](https://api.codeclimate.com/v1/badges/06e1dd90fde417de15da/maintainability)](https://codeclimate.com/github/paulholden2/springcm-sdk/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/06e1dd90fde417de15da/test_coverage)](https://codeclimate.com/github/paulholden2/springcm-sdk/test_coverage)
4
4
 
5
5
  This gem is a library for working with the SpringCM REST API.
6
6
 
@@ -1,6 +1,7 @@
1
1
  require "springcm-sdk/resource"
2
2
  require "springcm-sdk/mixins/access_level"
3
3
  require "springcm-sdk/mixins/attributes"
4
+ require "springcm-sdk/history_item"
4
5
 
5
6
  module Springcm
6
7
  class Document < Resource
@@ -13,5 +14,21 @@ module Springcm
13
14
  "expand" => "attributegroups"
14
15
  }
15
16
  end
17
+
18
+ def history(offset: 0, limit: 20)
19
+ Helpers.validate_offset_limit!(offset, limit)
20
+ conn = @client.authorized_connection(url: @client.object_api_url)
21
+ res = conn.get do |req|
22
+ req.url "#{resource_uri}/historyitems"
23
+ req.params["offset"] = offset
24
+ req.params["limit"] = limit
25
+ end
26
+ if res.success?
27
+ data = JSON.parse(res.body)
28
+ ResourceList.new(data, self, HistoryItem, @client)
29
+ else
30
+ nil
31
+ end
32
+ end
16
33
  end
17
34
  end
@@ -10,5 +10,22 @@ module Springcm
10
10
  raise ArgumentError.new("Offset must be a positive, non-zero integer.")
11
11
  end
12
12
  end
13
+
14
+ # Deserialize a SpringCM attribute value
15
+ def self.deserialize_field(field)
16
+ type = field["AttributeType"]
17
+ value = field["Value"]
18
+ if type == "String"
19
+ value
20
+ elsif type == "Number"
21
+ value.to_i
22
+ elsif type == "Decimal"
23
+ value.to_f
24
+ elsif type == "Date"
25
+ Date.strptime(value[0..8], "%Y%m%d")
26
+ else
27
+ value
28
+ end
29
+ end
13
30
  end
14
31
  end
@@ -0,0 +1,4 @@
1
+ module Springcm
2
+ class HistoryItem < Springcm::Object
3
+ end
4
+ end
@@ -1,23 +1,9 @@
1
+ require "springcm-sdk/helpers"
2
+
1
3
  module Springcm
2
4
  module Mixins
3
5
  # Mixin for objects that have attributes.
4
6
  module Attributes
5
- def deserialize_field(field)
6
- type = field["AttributeType"]
7
- value = field["Value"]
8
- if type == "String"
9
- value
10
- elsif type == "Number"
11
- value.to_i
12
- elsif type == "Decimal"
13
- value.to_f
14
- elsif type == "Date"
15
- Date.strptime(value[0..8], "%Y%m%d")
16
- else
17
- value
18
- end
19
- end
20
-
21
7
  def get_attribute(group:, field:)
22
8
  group_config = @client.account.all_attribute_groups.select { |g|
23
9
  g.name == group
@@ -39,12 +25,12 @@ module Springcm
39
25
  set_data = group_data.fetch(field_set_config["Name"], nil)
40
26
  return nil if set_data.nil?
41
27
  set_data["Items"].map { |item|
42
- deserialize_field(item[field])
28
+ Springcm::Helpers.deserialize_field(item[field])
43
29
  }
44
30
  else
45
31
  field_data = group_data.fetch(field, nil)
46
32
  return nil if field_data.nil?
47
- deserialize_field(field_data)
33
+ Springcm::Helpers.deserialize_field(field_data)
48
34
  end
49
35
  end
50
36
  end
@@ -53,8 +53,10 @@ module Springcm
53
53
  method = :documents
54
54
  elsif kind == Springcm::AttributeGroup
55
55
  method = :attribute_groups
56
+ elsif kind == Springcm::HistoryItem
57
+ method = :history_items
56
58
  else
57
- raise ArgumentError.new("Resource kind must be one of: Springcm::Document, Springcm::Folder, Springcm::AttributeGroup.")
59
+ raise ArgumentError.new("Resource kind must be one of: Springcm::Document, Springcm::Folder, Springcm::AttributeGroup, Springcm::HistoryItem.")
58
60
  end
59
61
  return method
60
62
  end
@@ -1,3 +1,3 @@
1
1
  module Springcm
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
data/springcm-sdk.gemspec CHANGED
@@ -37,10 +37,10 @@ Gem::Specification.new do |spec|
37
37
  spec.executables = ["springcm"]
38
38
  spec.require_paths = ["lib"]
39
39
 
40
- spec.add_dependency "faraday", "~> 0.15.4"
40
+ spec.add_dependency "faraday", "~> 0.17.1"
41
41
 
42
42
  spec.add_development_dependency "bundler", "~> 2.0"
43
- spec.add_development_dependency "rake", "~> 10.0"
43
+ spec.add_development_dependency "rake", "~> 13.0"
44
44
  spec.add_development_dependency "rspec", "~> 3.0"
45
45
  spec.add_development_dependency "sinatra", "~> 2.0"
46
46
  spec.add_development_dependency "webmock", "~> 3.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: springcm-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Holden
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2019-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.15.4
19
+ version: 0.17.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.15.4
26
+ version: 0.17.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -166,6 +166,7 @@ files:
166
166
  - lib/springcm-sdk/document.rb
167
167
  - lib/springcm-sdk/folder.rb
168
168
  - lib/springcm-sdk/helpers.rb
169
+ - lib/springcm-sdk/history_item.rb
169
170
  - lib/springcm-sdk/mixins/access_level.rb
170
171
  - lib/springcm-sdk/mixins/attributes.rb
171
172
  - lib/springcm-sdk/mixins/documents.rb
@@ -182,7 +183,7 @@ metadata:
182
183
  allowed_push_host: https://rubygems.org
183
184
  homepage_uri: https://github.com/paulholden2/springcm-sdk
184
185
  source_code_uri: https://github.com/paulholden2/springcm-sdk
185
- documentation_uri: https://rubydoc.info/github/paulholden2/springcm-sdk/0.3.4
186
+ documentation_uri: https://rubydoc.info/github/paulholden2/springcm-sdk/0.3.5
186
187
  changelog_uri: https://github.com/paulholden2/springcm-sdk/blob/master/CHANGELOG.md
187
188
  post_install_message:
188
189
  rdoc_options: []