infopark_webcrm_sdk 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|