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.
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
- load_attributes(
14
- RestApi.instance.post("#{path}/merge_and_delete", {"merge_into_id" => merge_into_id}))
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}, {#delete}, and {#undelete} an Infopark WebCRM item.
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
- # Soft-deletes this item (i.e. marks it as deleted).
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
- load_attributes(RestApi.instance.delete(path, nil, if_match_header))
75
- end
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(include_deleted: false)
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.
@@ -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. For example, a deleted item cannot be updated.
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.
@@ -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(include_deleted: false)
73
- Core::RestApi.instance.get('types', { include_deleted: include_deleted }).map do |item|
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: 1.1.0
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: 2016-09-08 00:00:00.000000000 Z
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.2
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: