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.
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: