springcm-sdk 0.6.1 → 1.0.0
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/.gitignore +1 -0
- data/CHANGELOG.md +11 -0
- data/lib/springcm-sdk/account.rb +9 -0
- data/lib/springcm-sdk/applied_attribute_field.rb +50 -0
- data/lib/springcm-sdk/applied_attribute_group.rb +37 -0
- data/lib/springcm-sdk/applied_attribute_set.rb +54 -0
- data/lib/springcm-sdk/applied_attribute_set_item.rb +23 -0
- data/lib/springcm-sdk/attribute_group.rb +34 -0
- data/lib/springcm-sdk/document.rb +1 -0
- data/lib/springcm-sdk/folder.rb +1 -0
- data/lib/springcm-sdk/helpers.rb +19 -12
- data/lib/springcm-sdk/mixins/attributes.rb +18 -89
- data/lib/springcm-sdk/object.rb +12 -2
- data/lib/springcm-sdk/version.rb +1 -1
- data/lib/springcm-sdk.rb +30 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bda471ab4007cc6a9f27e8be3fa16e9f4081520bcdf456413be1e45b202969b5
|
4
|
+
data.tar.gz: 52b63c7b43d2a9f4256f2925d4b028c4c493a255315651b93ade97e2a63d2435
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7c365620c4b7c556c8f1eabf0c89800331bc47d40fd78650e0733c907d1462013d6d527cfb0fadf02df20acc2c922368ccb16c4c3639255fcd040f276fd5178
|
7
|
+
data.tar.gz: 8ebe53f6ea3e116f90bdc6b6d153531ce21edaf55c012ab74e7c772ddbd82f72cfd933cbb951f42e1d2e2a4b1d7bcfaa6b57ba9598ce7e480f4b24516eb67253
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,16 @@
|
|
3
3
|
All notable changes to springcm-sdk will be documented in this file.
|
4
4
|
|
5
5
|
## [Unreleased]
|
6
|
+
|
7
|
+
## [1.0.0] - 2020-02-14 ❤️
|
8
|
+
### Added
|
9
|
+
* Setting object JSON properties
|
10
|
+
* New API for retrieving and modifying applied attributes on documents and folders
|
11
|
+
* Folders now include attribute API.
|
12
|
+
|
13
|
+
### Removed
|
14
|
+
* Old attribute API
|
15
|
+
|
6
16
|
## [0.6.1] - 2020-01-13
|
7
17
|
### Changed
|
8
18
|
* Fix bug with set_attribute on repeatable set data when attribute group is not already applied - empty array of items is created.
|
@@ -145,3 +155,4 @@ All notable changes to springcm-sdk will be documented in this file.
|
|
145
155
|
[0.5.0]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.5.0
|
146
156
|
[0.6.0]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.6.0
|
147
157
|
[0.6.1]: https://github.com/paulholden2/springcm-sdk/releases/tag/0.6.1
|
158
|
+
[1.0.0]: https://github.com/paulholden2/springcm-sdk/releases/tag/1.0.0
|
data/lib/springcm-sdk/account.rb
CHANGED
@@ -37,6 +37,15 @@ module Springcm
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
def attribute_group(name: nil, uid: nil)
|
41
|
+
if (name.nil? && uid.nil?) || (!name.nil? && !uid.nil?)
|
42
|
+
raise ArgumentError.new("Specify exactly one of: name, uid")
|
43
|
+
end
|
44
|
+
all_attribute_groups.select { |group|
|
45
|
+
(!name.nil? && group.name == name) || (!uid.nil? && group.uid == uid)
|
46
|
+
}.first
|
47
|
+
end
|
48
|
+
|
40
49
|
private
|
41
50
|
|
42
51
|
def load_all_attribute_groups
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "springcm-sdk/object"
|
2
|
+
|
3
|
+
module Springcm
|
4
|
+
class AppliedAttributeField < Object
|
5
|
+
attr_reader :subject
|
6
|
+
attr_reader :group
|
7
|
+
attr_reader :set
|
8
|
+
attr_reader :name
|
9
|
+
|
10
|
+
def initialize(data, field_name, subject, group, set, client)
|
11
|
+
@subject = subject
|
12
|
+
@group = group
|
13
|
+
@set = set
|
14
|
+
@name = field_name
|
15
|
+
super(data, client)
|
16
|
+
end
|
17
|
+
|
18
|
+
def value
|
19
|
+
if repeating_attribute == true
|
20
|
+
raise RepeatableAttributeFieldUsageError.new(group.name, name)
|
21
|
+
else
|
22
|
+
Helpers.deserialize_field(raw)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def value=(val)
|
27
|
+
if repeating_attribute == true
|
28
|
+
raise RepeatableAttributeFieldUsageError.new(group.name, name)
|
29
|
+
else
|
30
|
+
@data["Value"] = Helpers.serialize_value(@data["AttributeType"], val)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def [](*args)
|
35
|
+
if repeating_attribute == true
|
36
|
+
Helpers.deserialize_value(@data["AttributeType"], @data["Value"].send(:[], *args))
|
37
|
+
else
|
38
|
+
raise NonRepeatableAttributeFieldUsageError.new(group.name, name)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def []=(key, val)
|
43
|
+
if repeating_attribute == true
|
44
|
+
@data["Value"].send(:[]=, key, val)
|
45
|
+
else
|
46
|
+
raise NonRepeatableAttributeFieldUsageError.new(group.name, name)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "springcm-sdk/object"
|
2
|
+
require "springcm-sdk/applied_attribute_set"
|
3
|
+
|
4
|
+
module Springcm
|
5
|
+
class AppliedAttributeGroup < Object
|
6
|
+
attr_reader :subject
|
7
|
+
attr_reader :name
|
8
|
+
|
9
|
+
def initialize(data, group_name, subject, client)
|
10
|
+
@subject = subject
|
11
|
+
@name = group_name
|
12
|
+
super(data, client)
|
13
|
+
end
|
14
|
+
|
15
|
+
def set(set_name)
|
16
|
+
set_data = raw[set_name]
|
17
|
+
if set_data.nil? || set_data["AttributeType"] != "Set"
|
18
|
+
raise NoAttributeSetError.new(group.name, name)
|
19
|
+
end
|
20
|
+
AppliedAttributeSet.new(set_data, set_name, subject, self, @client)
|
21
|
+
end
|
22
|
+
|
23
|
+
def field(field_name)
|
24
|
+
group_config = @client.account.attribute_group(name: name)
|
25
|
+
set_config = group_config.set_for_field(field_name)
|
26
|
+
field_data = nil
|
27
|
+
if set_config.nil?
|
28
|
+
field_data = raw[field_name]
|
29
|
+
elsif set_config.repeating_attribute?
|
30
|
+
raise RepeatableAttributeSetUsageError.new(group.name, name)
|
31
|
+
else
|
32
|
+
field_data = raw[set_config.name]["Attributes"][field_name]
|
33
|
+
end
|
34
|
+
AppliedAttributeField.new(field_data, field_name, subject, self, nil, @client)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require "springcm-sdk/object"
|
2
|
+
require "springcm-sdk/applied_attribute_set_item"
|
3
|
+
require "springcm-sdk/applied_attribute_field"
|
4
|
+
|
5
|
+
module Springcm
|
6
|
+
class AppliedAttributeSet < Object
|
7
|
+
attr_reader :subject
|
8
|
+
attr_reader :group
|
9
|
+
attr_reader :name
|
10
|
+
|
11
|
+
def initialize(data, set_name, subject, group, client)
|
12
|
+
@subject = subject
|
13
|
+
@group = group
|
14
|
+
@name = set_name
|
15
|
+
super(data, client)
|
16
|
+
end
|
17
|
+
|
18
|
+
def field(field_name)
|
19
|
+
# Validate name not one of the restricted attribute names:
|
20
|
+
# RepeatingAttribute, AttributeType
|
21
|
+
field_data = raw[field_name]
|
22
|
+
# puts field_data
|
23
|
+
if repeating_attribute == true
|
24
|
+
raise RepeatableAttributeSetUsageError.new(group.name, name)
|
25
|
+
else
|
26
|
+
AppliedAttributeField.new(field_data, field_name, subject, group, self, @client)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def [](*args)
|
31
|
+
if repeating_attribute == true
|
32
|
+
item = @data["Items"].send(:[], *args)
|
33
|
+
AppliedAttributeSetItem.new(item, subject, group, self, @client)
|
34
|
+
else
|
35
|
+
raise NonRepeatableAttributeSetUsageError.new(group.name, name)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def []=(key, data)
|
40
|
+
if repeating_attribute == true
|
41
|
+
raise NonRepeatableAttributeSetUsageError.new(group.name, name)
|
42
|
+
end
|
43
|
+
group_config = @client.account.attribute_group(name: group.name)
|
44
|
+
set = group_config.set(name)
|
45
|
+
item = @data["Items"][key]
|
46
|
+
item.clear
|
47
|
+
data.each { |key, value|
|
48
|
+
field_config = group_config.field(key)
|
49
|
+
item[key] = Helpers.serialize_field(field_config, value)
|
50
|
+
}
|
51
|
+
item
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "springcm-sdk/object"
|
2
|
+
require "springcm-sdk/applied_attribute_field"
|
3
|
+
|
4
|
+
module Springcm
|
5
|
+
class AppliedAttributeSetItem < Object
|
6
|
+
attr_reader :subject
|
7
|
+
attr_reader :group
|
8
|
+
attr_reader :name
|
9
|
+
|
10
|
+
def initialize(data, subject, group, set, client)
|
11
|
+
@subject = subject
|
12
|
+
@group = group
|
13
|
+
super(data, client)
|
14
|
+
end
|
15
|
+
|
16
|
+
def field(field_name)
|
17
|
+
# Validate name not one of the restricted attribute names:
|
18
|
+
# RepeatingAttribute, AttributeType
|
19
|
+
field_data = raw[field_name]
|
20
|
+
AppliedAttributeField.new(field_data, field_name, subject, group, set, @client)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -53,6 +53,40 @@ module Springcm
|
|
53
53
|
}
|
54
54
|
end
|
55
55
|
|
56
|
+
def template
|
57
|
+
group = {}
|
58
|
+
attributes_config.each { |attribute|
|
59
|
+
type = attribute["Type"]
|
60
|
+
if type == "DynamicDropDown"
|
61
|
+
type = "MagicDropdown" # Not sure why they do this for applied groups, but oh well
|
62
|
+
end
|
63
|
+
repeating = attribute["RepeatingAttribute"]
|
64
|
+
attr = {
|
65
|
+
"AttributeType" => type,
|
66
|
+
"RepeatingAttribute" => repeating
|
67
|
+
}
|
68
|
+
if attribute.key?("Attributes") # If it's a set
|
69
|
+
attr["AttributeType"] = "Set"
|
70
|
+
set = attr
|
71
|
+
if repeating
|
72
|
+
set = {}
|
73
|
+
attr["Items"] = [set]
|
74
|
+
end
|
75
|
+
attribute["Attributes"].each { |field|
|
76
|
+
set[field["Name"]] = {
|
77
|
+
"AttributeType" => field["Type"],
|
78
|
+
"RepeatingAttribute" => false
|
79
|
+
}
|
80
|
+
}
|
81
|
+
elsif repeating
|
82
|
+
# Must have empty array for repeating plain fields
|
83
|
+
attr["Value"] = []
|
84
|
+
end
|
85
|
+
group[attribute["Name"]] = attr
|
86
|
+
}
|
87
|
+
group
|
88
|
+
end
|
89
|
+
|
56
90
|
protected
|
57
91
|
|
58
92
|
def attributes_config
|
data/lib/springcm-sdk/folder.rb
CHANGED
data/lib/springcm-sdk/helpers.rb
CHANGED
@@ -11,6 +11,15 @@ module Springcm
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
def self.serialize_value(type, value)
|
15
|
+
if type == "Date"
|
16
|
+
# Raise if value is not a DateTime
|
17
|
+
serialized_value = value.strftime("%m/%d/%Y")
|
18
|
+
else
|
19
|
+
serialized_value = value.to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
14
23
|
def self.serialize_field(field_config, value)
|
15
24
|
type = field_config.type
|
16
25
|
name = field_config.name
|
@@ -19,22 +28,13 @@ module Springcm
|
|
19
28
|
"AttributeType" => type,
|
20
29
|
"RepeatingAttribute" => repeating
|
21
30
|
}
|
22
|
-
|
23
|
-
|
24
|
-
# Raise if value is not a DateTime
|
25
|
-
serialized_value = value.strftime("%m/%d/%Y")
|
26
|
-
else
|
27
|
-
serialized_value = value.to_s
|
31
|
+
if !value.nil?
|
32
|
+
serialized["Value"] = Helpers.serialize_value(type, value)
|
28
33
|
end
|
29
|
-
return nil if serialized_value.nil?
|
30
|
-
serialized["Value"] = serialized_value
|
31
34
|
serialized
|
32
35
|
end
|
33
36
|
|
34
|
-
|
35
|
-
def self.deserialize_field(field)
|
36
|
-
type = field["AttributeType"]
|
37
|
-
value = field["Value"]
|
37
|
+
def self.deserialize_value(type, value)
|
38
38
|
if type == "String"
|
39
39
|
value
|
40
40
|
elsif type == "Number"
|
@@ -48,6 +48,13 @@ module Springcm
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
# Deserialize a SpringCM attribute value
|
52
|
+
def self.deserialize_field(field)
|
53
|
+
type = field["AttributeType"]
|
54
|
+
value = field["Value"]
|
55
|
+
Helpers.deserialize_value(type, value)
|
56
|
+
end
|
57
|
+
|
51
58
|
def self.validate_access!(access)
|
52
59
|
access_types = [
|
53
60
|
:inherit_from_parent_folder,
|
@@ -1,3 +1,7 @@
|
|
1
|
+
require "springcm-sdk/applied_attribute_group"
|
2
|
+
require "springcm-sdk/applied_attribute_set"
|
3
|
+
require "springcm-sdk/applied_attribute_set_item"
|
4
|
+
require "springcm-sdk/applied_attribute_field"
|
1
5
|
require "springcm-sdk/helpers"
|
2
6
|
|
3
7
|
module Springcm
|
@@ -8,99 +12,24 @@ module Springcm
|
|
8
12
|
@data["AttributeGroups"] = value
|
9
13
|
end
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
# attr.repeating?
|
17
|
-
# attr.value
|
18
|
-
# attr.value = 2
|
19
|
-
# attr.value = [1, 2, 3]
|
20
|
-
# attr.value[0] = 3
|
21
|
-
# attr.insert(at: 0, value: 5)
|
22
|
-
# doc.patch
|
23
|
-
|
24
|
-
def set_attribute(group:, field:, index: nil, value:, mode: :insert)
|
25
|
-
if ![:insert, :replace].include?(mode)
|
26
|
-
raise ArgumentError.new("Set attribute mode must be one of: :insert, :replace")
|
27
|
-
end
|
28
|
-
if mode == :replace && (index.nil? || index < 0)
|
29
|
-
raise ArgumentError.new("When set attribute mode is :replace, index must be a non-negative integer")
|
30
|
-
end
|
31
|
-
group_config = @client.account.all_attribute_groups.select { |g|
|
32
|
-
g.name == group
|
33
|
-
}.first
|
34
|
-
# Non-existent group
|
35
|
-
raise Springcm::NoAttributeGroupError.new(group) if group_config.nil?
|
36
|
-
field_config = group_config.field(field)
|
37
|
-
field_set_config = group_config.set_for_field(field)
|
38
|
-
# Non-existent field
|
39
|
-
raise Springcm::NoAttributeFieldError.new(group, field) if field_config.nil?
|
40
|
-
groups = attribute_groups || {}
|
41
|
-
group_data = groups.fetch(group, {})
|
42
|
-
# Repeating set
|
43
|
-
if !field_set_config.nil? && field_set_config["RepeatingAttribute"]
|
44
|
-
set_name = field_set_config["Name"]
|
45
|
-
set_data = group_data.fetch(set_name, { "Items"=>[] })
|
46
|
-
field_data = {
|
47
|
-
"#{field}" => Springcm::Helpers.serialize_field(field_config, value)
|
48
|
-
}
|
49
|
-
if mode == :insert
|
50
|
-
set_data["Items"].insert(index || -1, field_data)
|
51
|
-
elsif
|
52
|
-
set = set_data["Items"][index] || {}
|
53
|
-
set.merge!(field_data)
|
54
|
-
end
|
55
|
-
set_data["Items"][index] = set
|
56
|
-
set_data["Items"].reject!(&:nil?)
|
57
|
-
group_data[set_name] = set_data
|
15
|
+
def attribute_group(group_name)
|
16
|
+
groups = @data["AttributeGroups"] || get.attribute_groups || {}
|
17
|
+
group_data = groups[group_name]
|
18
|
+
if group_data.nil?
|
19
|
+
nil
|
58
20
|
else
|
59
|
-
|
60
|
-
if field_config.repeating_attribute?
|
61
|
-
if mode == :insert
|
62
|
-
group_data[field]["Value"].insert(index || -1, serialized["Value"])
|
63
|
-
else
|
64
|
-
group_data[field]["Value"][index] = serialized["Value"]
|
65
|
-
end
|
66
|
-
group_data[field]["Value"].reject!(&:nil?)
|
67
|
-
else
|
68
|
-
group_data[field] = serialized
|
69
|
-
end
|
21
|
+
AppliedAttributeGroup.new(group_data, group_name, self, @client)
|
70
22
|
end
|
71
|
-
groups[group] = group_data
|
72
|
-
attribute_groups = groups
|
73
|
-
value
|
74
23
|
end
|
75
24
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
# Non-existent field
|
85
|
-
raise Springcm::NoAttributeFieldError.new(group, field) if field_config.nil?
|
86
|
-
groups = attribute_groups
|
87
|
-
# No attribute groups applied
|
88
|
-
return nil if groups.nil?
|
89
|
-
group_data = groups.fetch(group, nil)
|
90
|
-
# Group is not applied
|
91
|
-
return nil if group_data.nil?
|
92
|
-
# Repeating set
|
93
|
-
if !field_set_config.nil? && field_set_config["RepeatingAttribute"]
|
94
|
-
set_data = group_data.fetch(field_set_config["Name"], nil)
|
95
|
-
return nil if set_data.nil?
|
96
|
-
set_data["Items"].map { |item|
|
97
|
-
Springcm::Helpers.deserialize_field(item[field])
|
98
|
-
}
|
99
|
-
else
|
100
|
-
field_data = group_data.fetch(field, nil)
|
101
|
-
return nil if field_data.nil?
|
102
|
-
Springcm::Helpers.deserialize_field(field_data)
|
103
|
-
end
|
25
|
+
# Apply a skeleton attribute group to the Document object. Calling #patch
|
26
|
+
# or #put before actually applying any data will have no effect on the
|
27
|
+
# document within SpringCM.
|
28
|
+
def apply_attribute_group(group_name)
|
29
|
+
return if !attribute_group(group_name).nil?
|
30
|
+
group_config = @client.account.attribute_group(name: group_name)
|
31
|
+
@data["AttributeGroups"] ||= {}
|
32
|
+
@data["AttributeGroups"].merge!({ "#{group_name}" => group_config.template })
|
104
33
|
end
|
105
34
|
end
|
106
35
|
end
|
data/lib/springcm-sdk/object.rb
CHANGED
@@ -15,9 +15,19 @@ module Springcm
|
|
15
15
|
# for retrieving data deeper in the JSON document, e.g. documents_href
|
16
16
|
# via Springcm::Mixins::Documents.
|
17
17
|
def method_missing(m, *args, &block)
|
18
|
-
|
18
|
+
mode = :get
|
19
|
+
method = m.to_s
|
20
|
+
if method.end_with?("=")
|
21
|
+
mode = :set
|
22
|
+
method = method[0...-1]
|
23
|
+
end
|
24
|
+
key = method.split("_").map(&:capitalize).join
|
19
25
|
if @data.key?(key)
|
20
|
-
|
26
|
+
if mode == :get
|
27
|
+
@data.fetch(key)
|
28
|
+
else
|
29
|
+
@data[key] = args.first
|
30
|
+
end
|
21
31
|
else
|
22
32
|
super
|
23
33
|
end
|
data/lib/springcm-sdk/version.rb
CHANGED
data/lib/springcm-sdk.rb
CHANGED
@@ -21,6 +21,12 @@ module Springcm
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
class NoAttributeSetError < Error
|
25
|
+
def initialize(group, set)
|
26
|
+
super("No such attribute set: #{group}.#{set}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
24
30
|
class NoAttributeFieldError < Error
|
25
31
|
def initialize(group, field)
|
26
32
|
super("No such attribute field: #{group}.#{field}")
|
@@ -56,4 +62,28 @@ module Springcm
|
|
56
62
|
super("Timed out while awaiting ChangeSecurityTask to complete.")
|
57
63
|
end
|
58
64
|
end
|
65
|
+
|
66
|
+
class RepeatableAttributeSetUsageError < Error
|
67
|
+
def initialize(group, set)
|
68
|
+
super("The attribute set #{group}.#{set} is repeatable. Use #[] to access and modify fields.")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
class NonRepeatableAttributeSetUsageError < Error
|
73
|
+
def initialize(group, set)
|
74
|
+
super("The attribute set #{group}.#{set} is not repeatable. Use #field to access and modify fields.")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
class RepeatableAttributeFieldUsageError < Error
|
79
|
+
def initialize(group, field)
|
80
|
+
super("The attribute field #{group}.#{field} is repeatable. Use #[] to access and modify values.")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
class NonRepeatableAttributeFieldUsageError < Error
|
85
|
+
def initialize(group, field)
|
86
|
+
super("The attribute field #{group}.#{field} is not repeatable. Use #field to access and modify values.")
|
87
|
+
end
|
88
|
+
end
|
59
89
|
end
|
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.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Holden
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -158,6 +158,10 @@ files:
|
|
158
158
|
- bin/setup
|
159
159
|
- lib/springcm-sdk.rb
|
160
160
|
- lib/springcm-sdk/account.rb
|
161
|
+
- lib/springcm-sdk/applied_attribute_field.rb
|
162
|
+
- lib/springcm-sdk/applied_attribute_group.rb
|
163
|
+
- lib/springcm-sdk/applied_attribute_set.rb
|
164
|
+
- lib/springcm-sdk/applied_attribute_set_item.rb
|
161
165
|
- lib/springcm-sdk/attribute.rb
|
162
166
|
- lib/springcm-sdk/attribute_group.rb
|
163
167
|
- lib/springcm-sdk/change_security_task.rb
|
@@ -188,7 +192,7 @@ metadata:
|
|
188
192
|
allowed_push_host: https://rubygems.org
|
189
193
|
homepage_uri: https://github.com/paulholden2/springcm-sdk
|
190
194
|
source_code_uri: https://github.com/paulholden2/springcm-sdk
|
191
|
-
documentation_uri: https://rubydoc.info/github/paulholden2/springcm-sdk/0.
|
195
|
+
documentation_uri: https://rubydoc.info/github/paulholden2/springcm-sdk/1.0.0
|
192
196
|
changelog_uri: https://github.com/paulholden2/springcm-sdk/blob/master/CHANGELOG.md
|
193
197
|
post_install_message:
|
194
198
|
rdoc_options: []
|