infopark_webcrm_sdk 1.1.0 → 2.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/README.md +1 -1
- data/UPGRADE.md +0 -13
- data/config/ca-bundle.crt +403 -1101
- data/lib/crm.rb +2 -7
- data/lib/crm/core/mixins/merge_and_deletable.rb +2 -3
- data/lib/crm/core/mixins/modifiable.rb +4 -37
- data/lib/crm/core/mixins/searchable.rb +1 -3
- data/lib/crm/core/search_configurator.rb +0 -18
- data/lib/crm/errors.rb +1 -2
- data/lib/crm/type.rb +2 -3
- metadata +3 -4
data/lib/crm.rb
CHANGED
@@ -87,8 +87,7 @@ module Crm
|
|
87
87
|
# limit: 20,
|
88
88
|
# offset: 10,
|
89
89
|
# sort_by: 'created_at',
|
90
|
-
# sort_order: 'desc'
|
91
|
-
# include_deleted: true
|
90
|
+
# sort_order: 'desc'
|
92
91
|
# )
|
93
92
|
# # => Crm::Core::ItemEnumerator with max 20 contacts with last name Johnson from Boston.
|
94
93
|
# @param filters [Array<Hash{String => String}>]
|
@@ -111,13 +110,10 @@ module Crm
|
|
111
110
|
# * +updated_at+
|
112
111
|
# @param sort_order [String] One of +asc+ (ascending) or +desc+ (descending).
|
113
112
|
# For +sort_by+ +score+, the only valid sort order is +desc+ (can be omitted).
|
114
|
-
# @param include_deleted [Boolean]
|
115
|
-
# whether to include deleted items in the results. Server default: +false+.
|
116
113
|
# @return [Crm::Core::ItemEnumerator]
|
117
114
|
# An {Crm::Core::ItemEnumerator enumerator} to iterate over the found items.
|
118
115
|
# @api public
|
119
|
-
def self.search(filters: nil, query: nil, limit: :none, offset: 0, sort_by: nil,
|
120
|
-
sort_order: nil, include_deleted: nil)
|
116
|
+
def self.search(filters: nil, query: nil, limit: :none, offset: 0, sort_by: nil, sort_order: nil)
|
121
117
|
server_limit = 100
|
122
118
|
limit = Float::INFINITY if limit.nil? || limit == :none
|
123
119
|
offset ||= 0
|
@@ -134,7 +130,6 @@ module Crm
|
|
134
130
|
'offset' => offset,
|
135
131
|
'sort_by' => sort_by,
|
136
132
|
'sort_order' => sort_order,
|
137
|
-
'include_deleted' => include_deleted,
|
138
133
|
}.reject { |k, v| v.nil? }
|
139
134
|
search_results = Core::RestApi.instance.post('search', params)
|
140
135
|
ids.concat(search_results['results'].map { |r| r['id'] })
|
@@ -7,11 +7,10 @@ module Crm; module Core; module Mixins
|
|
7
7
|
# whose ID is +merge_into_id+. Afterwards, the current item is deleted.
|
8
8
|
# @param merge_into_id [String]
|
9
9
|
# the ID of the account or contact to which the associated items are assigned.
|
10
|
-
# @return [self] the deleted item.
|
11
10
|
# @api public
|
12
11
|
def merge_and_delete(merge_into_id)
|
13
|
-
|
14
|
-
|
12
|
+
RestApi.instance.post("#{path}/merge_and_delete", {"merge_into_id" => merge_into_id})
|
13
|
+
nil
|
15
14
|
end
|
16
15
|
end
|
17
16
|
end; end; end
|
@@ -2,7 +2,7 @@ require "active_support/concern"
|
|
2
2
|
|
3
3
|
module Crm; module Core; module Mixins
|
4
4
|
# +Modifiable+ is a collection of methods that are used to {ClassMethods#create .create},
|
5
|
-
# {#update}
|
5
|
+
# {#update} and {#delete} an Infopark WebCRM item.
|
6
6
|
# @api public
|
7
7
|
module Modifiable
|
8
8
|
extend ActiveSupport::Concern
|
@@ -54,47 +54,14 @@ module Crm; module Core; module Mixins
|
|
54
54
|
load_attributes(RestApi.instance.put(path, attributes, if_match_header))
|
55
55
|
end
|
56
56
|
|
57
|
-
#
|
57
|
+
# Deletes this item.
|
58
58
|
#
|
59
|
-
# The deleted item can be {#undelete undeleted}.
|
60
|
-
# @example
|
61
|
-
# contact.deleted?
|
62
|
-
# # => false
|
63
|
-
#
|
64
|
-
# contact.delete
|
65
|
-
# # => Crm::Contact
|
66
|
-
#
|
67
|
-
# contact.deleted?
|
68
|
-
# # => true
|
69
|
-
# @return [self] the deleted item.
|
70
59
|
# @raise [Errors::ResourceConflict] if the item has been changed concurrently.
|
71
60
|
# {Core::BasicResource#reload Reload} it, review the changes and retry.
|
72
61
|
# @api public
|
73
62
|
def delete
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
# Undeletes this deleted item.
|
78
|
-
# @example
|
79
|
-
# contact.deleted?
|
80
|
-
# # => true
|
81
|
-
#
|
82
|
-
# contact.undelete
|
83
|
-
# # => Crm::Contact
|
84
|
-
#
|
85
|
-
# contact.deleted?
|
86
|
-
# # => false
|
87
|
-
# @return [self] the undeleted item.
|
88
|
-
# @api public
|
89
|
-
def undelete
|
90
|
-
load_attributes(RestApi.instance.put("#{path}/undelete", {}))
|
91
|
-
end
|
92
|
-
|
93
|
-
# Returns +true+ if the item was deleted (i.e. +item.deleted_at+ is not empty).
|
94
|
-
# @return [Boolean]
|
95
|
-
# @api public
|
96
|
-
def deleted?
|
97
|
-
self['deleted_at'].present?
|
63
|
+
RestApi.instance.delete(path, nil, if_match_header)
|
64
|
+
nil
|
98
65
|
end
|
99
66
|
|
100
67
|
alias_method :destroy, :delete
|
@@ -19,14 +19,12 @@ module Crm; module Core; module Mixins
|
|
19
19
|
|
20
20
|
# Returns an {Crm::Core::ItemEnumerator enumerator} for iterating over all items
|
21
21
|
# of this base type. The items are sorted by +created_at+.
|
22
|
-
# @param include_deleted [Boolean] whether to include deleted items. Default: +false+.
|
23
22
|
# @return [ItemEnumerator]
|
24
23
|
# @api public
|
25
|
-
def all
|
24
|
+
def all
|
26
25
|
search_configurator.
|
27
26
|
sort_by('created_at').
|
28
27
|
unlimited.
|
29
|
-
include_deleted(include_deleted).
|
30
28
|
perform_search
|
31
29
|
end
|
32
30
|
|
@@ -51,7 +51,6 @@ module Crm; module Core
|
|
51
51
|
offset: @settings[:offset],
|
52
52
|
sort_by: @settings[:sort_by],
|
53
53
|
sort_order: @settings[:sort_order],
|
54
|
-
include_deleted: @settings[:include_deleted]
|
55
54
|
)
|
56
55
|
end
|
57
56
|
|
@@ -165,23 +164,6 @@ module Crm; module Core
|
|
165
164
|
sort_order('desc')
|
166
165
|
end
|
167
166
|
|
168
|
-
# Returns a new {SearchConfigurator} constructed by combining this configuration
|
169
|
-
# with the given +include_deleted+ flag.
|
170
|
-
# @param new_include_deleted [Boolean] whether to include deleted items in the results.
|
171
|
-
# @return [SearchConfigurator]
|
172
|
-
# @api public
|
173
|
-
def include_deleted(new_include_deleted = true)
|
174
|
-
SearchConfigurator.new(@settings.merge(include_deleted: new_include_deleted))
|
175
|
-
end
|
176
|
-
|
177
|
-
# Returns a new {SearchConfigurator} constructed by combining this configuration
|
178
|
-
# and excluding deleted items.
|
179
|
-
# @return [SearchConfigurator]
|
180
|
-
# @api public
|
181
|
-
def exclude_deleted
|
182
|
-
include_deleted(false)
|
183
|
-
end
|
184
|
-
|
185
167
|
# @!endgroup
|
186
168
|
|
187
169
|
# Iterates over the search results.
|
data/lib/crm/errors.rb
CHANGED
@@ -58,8 +58,7 @@ module Crm
|
|
58
58
|
end
|
59
59
|
|
60
60
|
# +ItemStatePreconditionFailed+ is raised if one or more preconditions
|
61
|
-
# for the attempted action were not satisfied.
|
62
|
-
# It must be undeleted first.
|
61
|
+
# for the attempted action were not satisfied.
|
63
62
|
# @api public
|
64
63
|
class ItemStatePreconditionFailed < ClientError
|
65
64
|
# Returns the unmet preconditions.
|
data/lib/crm/type.rb
CHANGED
@@ -66,11 +66,10 @@ module Crm
|
|
66
66
|
# @!parse extend Core::Mixins::Modifiable::ClassMethods
|
67
67
|
|
68
68
|
# Returns all types.
|
69
|
-
# @param include_deleted [Boolean] whether to include deleted types. Default: +false+.
|
70
69
|
# @return [Array<Type>]
|
71
70
|
# @api public
|
72
|
-
def self.all
|
73
|
-
Core::RestApi.instance.get('types'
|
71
|
+
def self.all
|
72
|
+
Core::RestApi.instance.get('types').map do |item|
|
74
73
|
new(item)
|
75
74
|
end
|
76
75
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_webcrm_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Infopark AG
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -142,9 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
142
|
version: '0'
|
143
143
|
requirements: []
|
144
144
|
rubyforge_project:
|
145
|
-
rubygems_version: 2.6.
|
145
|
+
rubygems_version: 2.6.14.1
|
146
146
|
signing_key:
|
147
147
|
specification_version: 4
|
148
148
|
summary: Infopark WebCRM SDK
|
149
149
|
test_files: []
|
150
|
-
has_rdoc:
|