basecrm 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE +1 -1
- data/README.md +24 -0
- data/lib/basecrm.rb +22 -0
- data/lib/basecrm/models/deal.rb +3 -3
- data/lib/basecrm/models/deal_unqualified_reason.rb +22 -0
- data/lib/basecrm/models/lead_unqualified_reason.rb +22 -0
- data/lib/basecrm/services/accounts_service.rb +3 -3
- data/lib/basecrm/services/associated_contacts_service.rb +12 -12
- data/lib/basecrm/services/contacts_service.rb +19 -19
- data/lib/basecrm/services/deal_unqualified_reasons_service.rb +133 -0
- data/lib/basecrm/services/lead_sources_service.rb +19 -19
- data/lib/basecrm/services/lead_unqualified_reasons_service.rb +45 -0
- data/lib/basecrm/services/leads_service.rb +19 -19
- data/lib/basecrm/services/loss_reasons_service.rb +19 -19
- data/lib/basecrm/services/notes_service.rb +19 -19
- data/lib/basecrm/services/pipelines_service.rb +5 -5
- data/lib/basecrm/services/sources_service.rb +19 -19
- data/lib/basecrm/services/stages_service.rb +5 -5
- data/lib/basecrm/services/tags_service.rb +19 -19
- data/lib/basecrm/services/tasks_service.rb +19 -19
- data/lib/basecrm/services/users_service.rb +11 -11
- data/lib/basecrm/version.rb +1 -1
- data/spec/factories/deal_unqualified_reason.rb +11 -0
- data/spec/factories/lead_unqualified_reason.rb +0 -0
- data/spec/services/accounts_service_spec.rb +1 -2
- data/spec/services/associated_contacts_service_spec.rb +0 -1
- data/spec/services/contacts_service_spec.rb +1 -2
- data/spec/services/deal_sources_service_spec.rb +1 -2
- data/spec/services/deal_unqualified_reasons_service_spec.rb +57 -0
- data/spec/services/lead_sources_service_spec.rb +1 -2
- data/spec/services/lead_unqualified_reasons_service_spec.rb +22 -0
- data/spec/services/leads_service_spec.rb +1 -2
- data/spec/services/line_items_service_spec.rb +0 -1
- data/spec/services/loss_reasons_service_spec.rb +1 -2
- data/spec/services/notes_service_spec.rb +1 -2
- data/spec/services/orders_service_spec.rb +0 -1
- data/spec/services/pipelines_service_spec.rb +0 -1
- data/spec/services/products_service_spec.rb +1 -2
- data/spec/services/sources_service_spec.rb +1 -2
- data/spec/services/stages_service_spec.rb +0 -1
- data/spec/services/tags_service_spec.rb +1 -2
- data/spec/services/tasks_service_spec.rb +1 -2
- data/spec/services/users_service_spec.rb +1 -3
- metadata +15 -3
@@ -7,17 +7,17 @@ module BaseCRM
|
|
7
7
|
end
|
8
8
|
|
9
9
|
# Retrieve all pipelines
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# get '/pipelines'
|
12
12
|
#
|
13
13
|
# If you want to use filtering or sorting (see #where).
|
14
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
14
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
15
15
|
def all
|
16
16
|
PaginatedResource.new(self)
|
17
17
|
end
|
18
18
|
|
19
19
|
# Retrieve all pipelines
|
20
|
-
#
|
20
|
+
#
|
21
21
|
# get '/pipelines'
|
22
22
|
#
|
23
23
|
# Returns all pipelines available to the user, according to the parameters provided
|
@@ -28,13 +28,13 @@ module BaseCRM
|
|
28
28
|
# @option options [Integer] :page (1) The page number to start from. Page numbering starts at 1, and omitting the `page` parameter will return the first page.
|
29
29
|
# @option options [Integer] :per_page (25) The number of records to be returned per page. The default limit is *25* and the maximum number that can be returned is *100*.
|
30
30
|
# @option options [String] :sort_by (id:asc) Comma-separated list of fields to sort by. The sort criteria is applied in the order specified. The **default** ordering is **ascending**. If you want to change the sort ordering to descending, append `:desc` to the field e.g. `sort_by=position:desc`. Unsupported for now.
|
31
|
-
# @return [Array<Pipeline>] The list of Pipelines for the first page, unless otherwise specified.
|
31
|
+
# @return [Array<Pipeline>] The list of Pipelines for the first page, unless otherwise specified.
|
32
32
|
def where(options = {})
|
33
33
|
_, _, root = @client.get("/pipelines", options)
|
34
34
|
|
35
35
|
root[:items].map{ |item| Pipeline.new(item[:data]) }
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
|
39
39
|
private
|
40
40
|
def validate_type!(pipeline)
|
@@ -9,17 +9,17 @@ module BaseCRM
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Retrieve all sources
|
12
|
-
#
|
12
|
+
#
|
13
13
|
# get '/sources'
|
14
14
|
#
|
15
15
|
# If you want to use filtering or sorting (see #where).
|
16
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
16
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
17
17
|
def all
|
18
18
|
PaginatedResource.new(self)
|
19
19
|
end
|
20
20
|
|
21
21
|
# Retrieve all sources
|
22
|
-
#
|
22
|
+
#
|
23
23
|
# get '/sources'
|
24
24
|
#
|
25
25
|
# Returns all deal sources available to the user according to the parameters provided
|
@@ -30,16 +30,16 @@ module BaseCRM
|
|
30
30
|
# @option options [Integer] :page (1) Page number to start from. Page numbering starts at 1, and omitting the `page` parameter will return the first page.
|
31
31
|
# @option options [Integer] :per_page (25) Number of records to return per page. The default limit is *25* and the maximum number that can be returned is *100*.
|
32
32
|
# @option options [String] :sort_by (id:asc) A field to sort by. The **default** ordering is **ascending**. If you want to change the sort order to descending, append `:desc` to the field e.g. `sort_by=name:desc`.
|
33
|
-
# @return [Array<Source>] The list of Sources for the first page, unless otherwise specified.
|
33
|
+
# @return [Array<Source>] The list of Sources for the first page, unless otherwise specified.
|
34
34
|
def where(options = {})
|
35
35
|
_, _, root = @client.get("/sources", options)
|
36
36
|
|
37
37
|
root[:items].map{ |item| Source.new(item[:data]) }
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
|
41
41
|
# Create a source
|
42
|
-
#
|
42
|
+
#
|
43
43
|
# post '/sources'
|
44
44
|
#
|
45
45
|
# Creates a new source
|
@@ -47,8 +47,8 @@ module BaseCRM
|
|
47
47
|
# Source's name **must** be unique
|
48
48
|
# </figure>
|
49
49
|
#
|
50
|
-
# @param source [Source, Hash] Either object of the Source type or Hash. This object's attributes describe the object to be created.
|
51
|
-
# @return [Source] The resulting object represting created resource.
|
50
|
+
# @param source [Source, Hash] Either object of the Source type or Hash. This object's attributes describe the object to be created.
|
51
|
+
# @return [Source] The resulting object represting created resource.
|
52
52
|
def create(source)
|
53
53
|
validate_type!(source)
|
54
54
|
|
@@ -57,26 +57,26 @@ module BaseCRM
|
|
57
57
|
|
58
58
|
Source.new(root[:data])
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
|
62
62
|
# Retrieve a single source
|
63
|
-
#
|
63
|
+
#
|
64
64
|
# get '/sources/{id}'
|
65
65
|
#
|
66
66
|
# Returns a single source available to the user by the provided id
|
67
67
|
# If a source with the supplied unique identifier does not exist it returns an error
|
68
68
|
#
|
69
69
|
# @param id [Integer] Unique identifier of a Source
|
70
|
-
# @return [Source] Searched resource object.
|
70
|
+
# @return [Source] Searched resource object.
|
71
71
|
def find(id)
|
72
72
|
_, _, root = @client.get("/sources/#{id}")
|
73
73
|
|
74
74
|
Source.new(root[:data])
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
|
78
78
|
# Update a source
|
79
|
-
#
|
79
|
+
#
|
80
80
|
# put '/sources/{id}'
|
81
81
|
#
|
82
82
|
# Updates source information
|
@@ -85,8 +85,8 @@ module BaseCRM
|
|
85
85
|
# If you want to update a source, you **must** make sure source's name is unique
|
86
86
|
# </figure>
|
87
87
|
#
|
88
|
-
# @param source [Source, Hash] Either object of the Source type or Hash. This object's attributes describe the object to be updated.
|
89
|
-
# @return [Source] The resulting object represting updated resource.
|
88
|
+
# @param source [Source, Hash] Either object of the Source type or Hash. This object's attributes describe the object to be updated.
|
89
|
+
# @return [Source] The resulting object represting updated resource.
|
90
90
|
def update(source)
|
91
91
|
validate_type!(source)
|
92
92
|
params = extract_params!(source, :id)
|
@@ -97,10 +97,10 @@ module BaseCRM
|
|
97
97
|
|
98
98
|
Source.new(root[:data])
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
|
102
102
|
# Delete a source
|
103
|
-
#
|
103
|
+
#
|
104
104
|
# delete '/sources/{id}'
|
105
105
|
#
|
106
106
|
# Delete an existing source
|
@@ -113,7 +113,7 @@ module BaseCRM
|
|
113
113
|
status, _, _ = @client.delete("/sources/#{id}")
|
114
114
|
status == 204
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
|
118
118
|
private
|
119
119
|
def validate_type!(source)
|
@@ -125,7 +125,7 @@ module BaseCRM
|
|
125
125
|
raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
|
126
126
|
params
|
127
127
|
end
|
128
|
-
|
128
|
+
|
129
129
|
def sanitize(source)
|
130
130
|
source.to_h.select { |k, _| OPTS_KEYS_TO_PERSIST.include?(k) }
|
131
131
|
end
|
@@ -7,17 +7,17 @@ module BaseCRM
|
|
7
7
|
end
|
8
8
|
|
9
9
|
# Retrieve all stages
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# get '/stages'
|
12
12
|
#
|
13
13
|
# If you want to use filtering or sorting (see #where).
|
14
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
14
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
15
15
|
def all
|
16
16
|
PaginatedResource.new(self)
|
17
17
|
end
|
18
18
|
|
19
19
|
# Retrieve all stages
|
20
|
-
#
|
20
|
+
#
|
21
21
|
# get '/stages'
|
22
22
|
#
|
23
23
|
# Returns all stages available to the user, according to the parameters provided
|
@@ -30,13 +30,13 @@ module BaseCRM
|
|
30
30
|
# @option options [Integer] :per_page (25) The number of records to return per page. The default limit is *25* and the maximum number that can be returned is *100*.
|
31
31
|
# @option options [Integer] :pipeline_id (1) The unique identifier of the pipeline that contains this stage.
|
32
32
|
# @option options [String] :sort_by (id:asc) Comma-separated list of fields to sort by. The sort criteria is applied in the order specified. The **default** ordering is **ascending**. If you want to change the sort ordering to descending, append `:desc` to the field e.g. `sort_by=position:desc`. Unsupported for now.
|
33
|
-
# @return [Array<Stage>] The list of Stages for the first page, unless otherwise specified.
|
33
|
+
# @return [Array<Stage>] The list of Stages for the first page, unless otherwise specified.
|
34
34
|
def where(options = {})
|
35
35
|
_, _, root = @client.get("/stages", options)
|
36
36
|
|
37
37
|
root[:items].map{ |item| Stage.new(item[:data]) }
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
|
41
41
|
private
|
42
42
|
def validate_type!(stage)
|
@@ -9,17 +9,17 @@ module BaseCRM
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Retrieve all tags
|
12
|
-
#
|
12
|
+
#
|
13
13
|
# get '/tags'
|
14
14
|
#
|
15
15
|
# If you want to use filtering or sorting (see #where).
|
16
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
16
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
17
17
|
def all
|
18
18
|
PaginatedResource.new(self)
|
19
19
|
end
|
20
20
|
|
21
21
|
# Retrieve all tags
|
22
|
-
#
|
22
|
+
#
|
23
23
|
# get '/tags'
|
24
24
|
#
|
25
25
|
# Returns all tags available to the user, according to the parameters provided
|
@@ -32,23 +32,23 @@ module BaseCRM
|
|
32
32
|
# @option options [Integer] :per_page (25) Number of records to return per page. The default limit is *25* and the maximum number that can be returned is *100*.
|
33
33
|
# @option options [String] :resource_type Type name of resource to search for.
|
34
34
|
# @option options [String] :sort_by (updated_at:asc) A field to sort by. The **default** order is **ascending**. If you want to change the sort order to descending, append `:desc` to the field e.g. `sort_by=name:desc`.
|
35
|
-
# @return [Array<Tag>] The list of Tags for the first page, unless otherwise specified.
|
35
|
+
# @return [Array<Tag>] The list of Tags for the first page, unless otherwise specified.
|
36
36
|
def where(options = {})
|
37
37
|
_, _, root = @client.get("/tags", options)
|
38
38
|
|
39
39
|
root[:items].map{ |item| Tag.new(item[:data]) }
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
|
43
43
|
# Create a tag
|
44
|
-
#
|
44
|
+
#
|
45
45
|
# post '/tags'
|
46
46
|
#
|
47
47
|
# Creates a new tag
|
48
48
|
# **Notice** the tag's name **must** be unique within the scope of the resource_type
|
49
49
|
#
|
50
|
-
# @param tag [Tag, Hash] Either object of the Tag type or Hash. This object's attributes describe the object to be created.
|
51
|
-
# @return [Tag] The resulting object represting created resource.
|
50
|
+
# @param tag [Tag, Hash] Either object of the Tag type or Hash. This object's attributes describe the object to be created.
|
51
|
+
# @return [Tag] The resulting object represting created resource.
|
52
52
|
def create(tag)
|
53
53
|
validate_type!(tag)
|
54
54
|
|
@@ -57,34 +57,34 @@ module BaseCRM
|
|
57
57
|
|
58
58
|
Tag.new(root[:data])
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
|
62
62
|
# Retrieve a single tag
|
63
|
-
#
|
63
|
+
#
|
64
64
|
# get '/tags/{id}'
|
65
65
|
#
|
66
66
|
# Returns a single tag available to the user according to the unique ID provided
|
67
67
|
# If the specified tag does not exist, this query will return an error
|
68
68
|
#
|
69
69
|
# @param id [Integer] Unique identifier of a Tag
|
70
|
-
# @return [Tag] Searched resource object.
|
70
|
+
# @return [Tag] Searched resource object.
|
71
71
|
def find(id)
|
72
72
|
_, _, root = @client.get("/tags/#{id}")
|
73
73
|
|
74
74
|
Tag.new(root[:data])
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
|
78
78
|
# Update a tag
|
79
|
-
#
|
79
|
+
#
|
80
80
|
# put '/tags/{id}'
|
81
81
|
#
|
82
82
|
# Updates a tag's information
|
83
83
|
# If the specified tag does not exist, this query will return an error
|
84
84
|
# **Notice** if you want to update a tag, you **must** make sure the tag's name is unique within the scope of the specified resource
|
85
85
|
#
|
86
|
-
# @param tag [Tag, Hash] Either object of the Tag type or Hash. This object's attributes describe the object to be updated.
|
87
|
-
# @return [Tag] The resulting object represting updated resource.
|
86
|
+
# @param tag [Tag, Hash] Either object of the Tag type or Hash. This object's attributes describe the object to be updated.
|
87
|
+
# @return [Tag] The resulting object represting updated resource.
|
88
88
|
def update(tag)
|
89
89
|
validate_type!(tag)
|
90
90
|
params = extract_params!(tag, :id)
|
@@ -95,10 +95,10 @@ module BaseCRM
|
|
95
95
|
|
96
96
|
Tag.new(root[:data])
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
|
100
100
|
# Delete a tag
|
101
|
-
#
|
101
|
+
#
|
102
102
|
# delete '/tags/{id}'
|
103
103
|
#
|
104
104
|
# Deletes an existing tag
|
@@ -112,7 +112,7 @@ module BaseCRM
|
|
112
112
|
status, _, _ = @client.delete("/tags/#{id}")
|
113
113
|
status == 204
|
114
114
|
end
|
115
|
-
|
115
|
+
|
116
116
|
|
117
117
|
private
|
118
118
|
def validate_type!(tag)
|
@@ -124,7 +124,7 @@ module BaseCRM
|
|
124
124
|
raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
|
125
125
|
params
|
126
126
|
end
|
127
|
-
|
127
|
+
|
128
128
|
def sanitize(tag)
|
129
129
|
tag.to_h.select { |k, _| OPTS_KEYS_TO_PERSIST.include?(k) }
|
130
130
|
end
|
@@ -9,17 +9,17 @@ module BaseCRM
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Retrieve all tasks
|
12
|
-
#
|
12
|
+
#
|
13
13
|
# get '/tasks'
|
14
14
|
#
|
15
15
|
# If you want to use filtering or sorting (see #where).
|
16
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
16
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
17
17
|
def all
|
18
18
|
PaginatedResource.new(self)
|
19
19
|
end
|
20
20
|
|
21
21
|
# Retrieve all tasks
|
22
|
-
#
|
22
|
+
#
|
23
23
|
# get '/tasks'
|
24
24
|
#
|
25
25
|
# Returns all tasks available to the user, according to the parameters provided
|
@@ -40,16 +40,16 @@ module BaseCRM
|
|
40
40
|
# @option options [String] :resource_type Name of the resource type to search for.
|
41
41
|
# @option options [String] :sort_by (updated_at:asc) A field to sort by. The **default** ordering is **ascending**. If you want to change the sort order to descending, append `:desc` to the field e.g. `sort_by=resource_type:desc`.
|
42
42
|
# @option options [String] :type Type of tasks to search for.
|
43
|
-
# @return [Array<Task>] The list of Tasks for the first page, unless otherwise specified.
|
43
|
+
# @return [Array<Task>] The list of Tasks for the first page, unless otherwise specified.
|
44
44
|
def where(options = {})
|
45
45
|
_, _, root = @client.get("/tasks", options)
|
46
46
|
|
47
47
|
root[:items].map{ |item| Task.new(item[:data]) }
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
|
51
51
|
# Create a task
|
52
|
-
#
|
52
|
+
#
|
53
53
|
# post '/tasks'
|
54
54
|
#
|
55
55
|
# Creates a new task
|
@@ -58,8 +58,8 @@ module BaseCRM
|
|
58
58
|
# * [Contacts](/docs/rest/reference/contacts)
|
59
59
|
# * [Deals](/docs/rest/reference/deals)
|
60
60
|
#
|
61
|
-
# @param task [Task, Hash] Either object of the Task type or Hash. This object's attributes describe the object to be created.
|
62
|
-
# @return [Task] The resulting object represting created resource.
|
61
|
+
# @param task [Task, Hash] Either object of the Task type or Hash. This object's attributes describe the object to be created.
|
62
|
+
# @return [Task] The resulting object represting created resource.
|
63
63
|
def create(task)
|
64
64
|
validate_type!(task)
|
65
65
|
|
@@ -68,33 +68,33 @@ module BaseCRM
|
|
68
68
|
|
69
69
|
Task.new(root[:data])
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
|
73
73
|
# Retrieve a single task
|
74
|
-
#
|
74
|
+
#
|
75
75
|
# get '/tasks/{id}'
|
76
76
|
#
|
77
77
|
# Returns a single task available to the user according to the unique task ID provided
|
78
78
|
# If the specified task does not exist, this query will return an error
|
79
79
|
#
|
80
80
|
# @param id [Integer] Unique identifier of a Task
|
81
|
-
# @return [Task] Searched resource object.
|
81
|
+
# @return [Task] Searched resource object.
|
82
82
|
def find(id)
|
83
83
|
_, _, root = @client.get("/tasks/#{id}")
|
84
84
|
|
85
85
|
Task.new(root[:data])
|
86
86
|
end
|
87
|
-
|
87
|
+
|
88
88
|
|
89
89
|
# Update a task
|
90
|
-
#
|
90
|
+
#
|
91
91
|
# put '/tasks/{id}'
|
92
92
|
#
|
93
93
|
# Updates task information
|
94
94
|
# If the specified task does not exist, this query will return an error
|
95
95
|
#
|
96
|
-
# @param task [Task, Hash] Either object of the Task type or Hash. This object's attributes describe the object to be updated.
|
97
|
-
# @return [Task] The resulting object represting updated resource.
|
96
|
+
# @param task [Task, Hash] Either object of the Task type or Hash. This object's attributes describe the object to be updated.
|
97
|
+
# @return [Task] The resulting object represting updated resource.
|
98
98
|
def update(task)
|
99
99
|
validate_type!(task)
|
100
100
|
params = extract_params!(task, :id)
|
@@ -105,10 +105,10 @@ module BaseCRM
|
|
105
105
|
|
106
106
|
Task.new(root[:data])
|
107
107
|
end
|
108
|
-
|
108
|
+
|
109
109
|
|
110
110
|
# Delete a task
|
111
|
-
#
|
111
|
+
#
|
112
112
|
# delete '/tasks/{id}'
|
113
113
|
#
|
114
114
|
# Delete an existing task
|
@@ -121,7 +121,7 @@ module BaseCRM
|
|
121
121
|
status, _, _ = @client.delete("/tasks/#{id}")
|
122
122
|
status == 204
|
123
123
|
end
|
124
|
-
|
124
|
+
|
125
125
|
|
126
126
|
private
|
127
127
|
def validate_type!(task)
|
@@ -133,7 +133,7 @@ module BaseCRM
|
|
133
133
|
raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
|
134
134
|
params
|
135
135
|
end
|
136
|
-
|
136
|
+
|
137
137
|
def sanitize(task)
|
138
138
|
task.to_h.select { |k, _| OPTS_KEYS_TO_PERSIST.include?(k) }
|
139
139
|
end
|
@@ -7,17 +7,17 @@ module BaseCRM
|
|
7
7
|
end
|
8
8
|
|
9
9
|
# Retrieve all users
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# get '/users'
|
12
12
|
#
|
13
13
|
# If you want to use filtering or sorting (see #where).
|
14
|
-
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
14
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
15
15
|
def all
|
16
16
|
PaginatedResource.new(self)
|
17
17
|
end
|
18
18
|
|
19
19
|
# Retrieve all users
|
20
|
-
#
|
20
|
+
#
|
21
21
|
# get '/users'
|
22
22
|
#
|
23
23
|
# Returns all users, according to the parameters provided
|
@@ -32,37 +32,37 @@ module BaseCRM
|
|
32
32
|
# @option options [String] :role Role of user to search for.
|
33
33
|
# @option options [String] :sort_by (id:asc) A field to sort by. The **default** order is **ascending**. If you want to change the sort order to descending, append `:desc` to the field e.g. `sort_by=name:desc`.
|
34
34
|
# @option options [String] :status Status of user accounts to search for.
|
35
|
-
# @return [Array<User>] The list of Users for the first page, unless otherwise specified.
|
35
|
+
# @return [Array<User>] The list of Users for the first page, unless otherwise specified.
|
36
36
|
def where(options = {})
|
37
37
|
_, _, root = @client.get("/users", options)
|
38
38
|
|
39
39
|
root[:items].map{ |item| User.new(item[:data]) }
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
|
43
43
|
# Retrieve a single user
|
44
|
-
#
|
44
|
+
#
|
45
45
|
# get '/users/{id}'
|
46
46
|
#
|
47
47
|
# Returns a single user according to the unique user ID provided
|
48
48
|
# If the specified user does not exist, this query returns an error
|
49
49
|
#
|
50
50
|
# @param id [Integer] Unique identifier of a User
|
51
|
-
# @return [User] Searched resource object.
|
51
|
+
# @return [User] Searched resource object.
|
52
52
|
def find(id)
|
53
53
|
_, _, root = @client.get("/users/#{id}")
|
54
54
|
|
55
55
|
User.new(root[:data])
|
56
56
|
end
|
57
|
-
|
58
|
-
|
57
|
+
|
58
|
+
|
59
59
|
# Retrieve an authenticating user
|
60
|
-
#
|
60
|
+
#
|
61
61
|
# get '/users/self'
|
62
62
|
#
|
63
63
|
# Returns a single authenticating user, according to the authentication credentials provided
|
64
64
|
#
|
65
|
-
# @return [User] Resource object.
|
65
|
+
# @return [User] Resource object.
|
66
66
|
def self
|
67
67
|
_, _, root = @client.get("/users/self")
|
68
68
|
User.new(root[:data])
|