teamlab 0.3.16 → 0.4.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/.overcommit.yml +34 -0
- data/.rubocop.yml +2 -0
- data/.rubocop_todo.yml +85 -0
- data/.travis.yml +6 -0
- data/Changelog.md +4 -0
- data/Gemfile +2 -0
- data/Rakefile +9 -0
- data/lib/teamlab/{Config.rb → config.rb} +5 -5
- data/lib/teamlab/{Modules/Calendar.rb → modules/calendar.rb} +12 -13
- data/lib/teamlab/{Modules/Community.rb → modules/community.rb} +16 -17
- data/lib/teamlab/{Modules/Crm.rb → modules/crm.rb} +62 -63
- data/lib/teamlab/{Modules/Files.rb → modules/files.rb} +14 -15
- data/lib/teamlab/{Modules/Group.rb → modules/group.rb} +6 -8
- data/lib/teamlab/{Modules/Mail.rb → modules/mail.rb} +34 -36
- data/lib/teamlab/{Modules/People.rb → modules/people.rb} +16 -18
- data/lib/teamlab/modules/portals.rb +15 -0
- data/lib/teamlab/{Modules/Project.rb → modules/project.rb} +46 -46
- data/lib/teamlab/{Modules/Settings.rb → modules/settings.rb} +1 -3
- data/lib/teamlab/{Request.rb → request.rb} +5 -5
- data/lib/teamlab/{Response.rb → response.rb} +3 -5
- data/lib/teamlab/version.rb +1 -1
- data/lib/teamlab.rb +18 -14
- data/spec/lib/calendar_spec.rb +2 -3
- data/spec/lib/community_spec.rb +3 -4
- data/spec/lib/crm_spec.rb +25 -26
- data/spec/lib/files_spec.rb +19 -19
- data/spec/lib/group_spec.rb +2 -2
- data/spec/lib/mail_spec.rb +2 -3
- data/spec/lib/people_spec.rb +2 -2
- data/spec/lib/portal_spec.rb +25 -0
- data/spec/lib/project_spec.rb +6 -8
- data/spec/lib/settings_spec.rb +2 -2
- data/spec/lib/{Teamlab_spec.rb → teamlab_spec.rb} +1 -5
- data/spec/spec_helper.rb +1 -2
- data/spec/support/http_data.rb +23 -23
- data/teamlab.gemspec +6 -6
- metadata +23 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd3e9c4178f3641076cfee00e402309a4f9d157f
|
4
|
+
data.tar.gz: deb6c25b5415f8832643d2485e0c8508010753bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40d57ca2c2c9256a21e9bfce1456348ab7a4d4547358181e908db39bd3cbbb9877b04951cc9da33470ac099be0622d209b8e94177d18e47ad6bb902ede06cbb8
|
7
|
+
data.tar.gz: 8717620258d5a2dcecab548b56add918de0f049dfa60664a7cba8d2ef00b5217277cd118328abd1ce34c1d9affde2f4a5d0e8f2bc531c8b17cd9d0da2cc7c60c
|
data/.overcommit.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# Use this file to configure the Overcommit hooks you wish to use. This will
|
2
|
+
# extend the default configuration defined in:
|
3
|
+
# https://github.com/brigade/overcommit/blob/master/config/default.yml
|
4
|
+
#
|
5
|
+
# At the topmost level of this YAML file is a key representing type of hook
|
6
|
+
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
7
|
+
# customize each hook, such as whether to only run it on certain files (via
|
8
|
+
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
9
|
+
#
|
10
|
+
# For a complete list of hooks, see:
|
11
|
+
# https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
|
12
|
+
#
|
13
|
+
# For a complete list of options that you can use to customize hooks, see:
|
14
|
+
# https://github.com/brigade/overcommit#configuration
|
15
|
+
#
|
16
|
+
# Uncomment the following lines to make the configuration take effect.
|
17
|
+
|
18
|
+
#PreCommit:
|
19
|
+
# RuboCop:
|
20
|
+
# on_warn: fail # Treat all warnings as failures
|
21
|
+
#
|
22
|
+
# TrailingWhitespace:
|
23
|
+
# exclude:
|
24
|
+
# - '**/db/structure.sql' # Ignore trailing whitespace in generated files
|
25
|
+
#
|
26
|
+
#PostCheckout:
|
27
|
+
# ALL: # Special hook name that customizes all hooks of this type
|
28
|
+
# quiet: true # Change all post-checkout hooks to only display output on failure
|
29
|
+
#
|
30
|
+
# IndexTags:
|
31
|
+
# enabled: true # Generate a tags file with `ctags` each time HEAD changes
|
32
|
+
PreCommit:
|
33
|
+
RuboCop:
|
34
|
+
enabled: true
|
data/.rubocop.yml
ADDED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2015-12-24 18:35:59 +0300 using RuboCop version 0.35.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
Lint/RescueException:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/teamlab/request.rb'
|
13
|
+
|
14
|
+
# Offense count: 4
|
15
|
+
Metrics/AbcSize:
|
16
|
+
Max: 24
|
17
|
+
|
18
|
+
# Offense count: 5
|
19
|
+
# Configuration parameters: CountComments.
|
20
|
+
Metrics/ClassLength:
|
21
|
+
Max: 557
|
22
|
+
|
23
|
+
# Offense count: 1
|
24
|
+
Metrics/CyclomaticComplexity:
|
25
|
+
Max: 9
|
26
|
+
|
27
|
+
# Offense count: 266
|
28
|
+
# Configuration parameters: AllowURI, URISchemes.
|
29
|
+
Metrics/LineLength:
|
30
|
+
Max: 418
|
31
|
+
|
32
|
+
# Offense count: 2
|
33
|
+
# Configuration parameters: CountComments.
|
34
|
+
Metrics/MethodLength:
|
35
|
+
Max: 14
|
36
|
+
|
37
|
+
# Offense count: 5
|
38
|
+
# Configuration parameters: CountKeywordArgs.
|
39
|
+
Metrics/ParameterLists:
|
40
|
+
Max: 7
|
41
|
+
|
42
|
+
# Offense count: 1
|
43
|
+
Metrics/PerceivedComplexity:
|
44
|
+
Max: 10
|
45
|
+
|
46
|
+
# Offense count: 66
|
47
|
+
Style/AccessorMethodName:
|
48
|
+
Exclude:
|
49
|
+
- 'lib/teamlab/modules/calendar.rb'
|
50
|
+
- 'lib/teamlab/modules/community.rb'
|
51
|
+
- 'lib/teamlab/modules/crm.rb'
|
52
|
+
- 'lib/teamlab/modules/files.rb'
|
53
|
+
- 'lib/teamlab/modules/group.rb'
|
54
|
+
- 'lib/teamlab/modules/mail.rb'
|
55
|
+
- 'lib/teamlab/modules/people.rb'
|
56
|
+
- 'lib/teamlab/modules/project.rb'
|
57
|
+
- 'lib/teamlab/modules/settings.rb'
|
58
|
+
|
59
|
+
# Offense count: 16
|
60
|
+
# Configuration parameters: Exclude.
|
61
|
+
Style/Documentation:
|
62
|
+
Exclude:
|
63
|
+
- 'spec/**/*'
|
64
|
+
- 'test/**/*'
|
65
|
+
- 'lib/teamlab.rb'
|
66
|
+
- 'lib/teamlab/config.rb'
|
67
|
+
- 'lib/teamlab/modules/calendar.rb'
|
68
|
+
- 'lib/teamlab/modules/community.rb'
|
69
|
+
- 'lib/teamlab/modules/crm.rb'
|
70
|
+
- 'lib/teamlab/modules/files.rb'
|
71
|
+
- 'lib/teamlab/modules/group.rb'
|
72
|
+
- 'lib/teamlab/modules/mail.rb'
|
73
|
+
- 'lib/teamlab/modules/people.rb'
|
74
|
+
- 'lib/teamlab/modules/portals.rb'
|
75
|
+
- 'lib/teamlab/modules/project.rb'
|
76
|
+
- 'lib/teamlab/modules/settings.rb'
|
77
|
+
- 'lib/teamlab/request.rb'
|
78
|
+
- 'lib/teamlab/response.rb'
|
79
|
+
- 'lib/teamlab/version.rb'
|
80
|
+
|
81
|
+
# Offense count: 1
|
82
|
+
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
83
|
+
Style/PredicateName:
|
84
|
+
Exclude:
|
85
|
+
- 'lib/teamlab/modules/mail.rb'
|
data/.travis.yml
ADDED
data/Changelog.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## 0.4.0
|
4
|
+
* Add portal submodule with `Portal#invite_user_url` and `Portal#invite_visitor_url` methods
|
5
|
+
* Add rubocop support in project. Fix a lot of minor problems, should have no impact on existing working code
|
6
|
+
|
3
7
|
## 0.3.16
|
4
8
|
* change method Settings#set_access
|
5
9
|
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'active_support/configurable'
|
3
|
-
require_relative '
|
3
|
+
require_relative 'request'
|
4
4
|
|
5
5
|
module Teamlab
|
6
6
|
attr_reader :config
|
7
7
|
|
8
|
-
def self.configure(&
|
8
|
+
def self.configure(&_block)
|
9
9
|
@config ||= Config.new
|
10
10
|
yield @config if block_given?
|
11
|
-
auth_response = Teamlab::Request.new('authentication').post('',
|
11
|
+
auth_response = Teamlab::Request.new('authentication').post('', userName: @config.username, password: @config.password).body
|
12
12
|
fail "Cannot get response token for #{auth_response}" if auth_response['response'].nil? || auth_response['response']['token'].nil?
|
13
13
|
@config.token = auth_response['response']['token']
|
14
|
-
@config.headers = { 'authorization' => @config.token}
|
14
|
+
@config.headers = { 'authorization' => @config.token }
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.config
|
@@ -35,4 +35,4 @@ module Teamlab
|
|
35
35
|
self.password = 'password'
|
36
36
|
end
|
37
37
|
end
|
38
|
-
end
|
38
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Teamlab
|
2
2
|
class Calendar
|
3
|
-
|
4
3
|
def initialize
|
5
4
|
@request = Teamlab::Request.new('calendar')
|
6
5
|
end
|
@@ -38,43 +37,43 @@ module Teamlab
|
|
38
37
|
end
|
39
38
|
|
40
39
|
def create_calendar(name, time_zone, options = {})
|
41
|
-
@request.post('', {name: name, timeZone: time_zone}.merge(options))
|
40
|
+
@request.post('', { name: name, timeZone: time_zone }.merge(options))
|
42
41
|
end
|
43
42
|
|
44
43
|
def create_calendar_by_ical_link(ical_url, name, options = {})
|
45
|
-
@request.post(%w(calendarurl), {iCalUrl: ical_url, name: name}.merge(options))
|
44
|
+
@request.post(%w(calendarurl), { iCalUrl: ical_url, name: name }.merge(options))
|
46
45
|
end
|
47
46
|
|
48
|
-
#============== TODO: OPTIONAL VARIABLES
|
47
|
+
#============== TODO: OPTIONAL VARIABLES
|
49
48
|
|
50
49
|
def add_event(calendar_id, name, options = {})
|
51
|
-
@request.post([calendar_id.to_s, 'event'], {name: name}.merge(options))
|
50
|
+
@request.post([calendar_id.to_s, 'event'], { name: name }.merge(options))
|
52
51
|
end
|
53
52
|
|
54
53
|
def import_ical(calendar_id, file)
|
55
54
|
@request.post([calendar_id.to_s, 'import'], somefile: File.new(file))
|
56
55
|
end
|
57
56
|
|
58
|
-
#============== TODO: OPTIONAL VARIABLES
|
57
|
+
#============== TODO: OPTIONAL VARIABLES
|
59
58
|
|
60
59
|
def update_calendar(calendar_id, name, time_zone, options = {})
|
61
|
-
@request.put([calendar_id.to_s], {name: name, timeZone: time_zone}.merge(options))
|
60
|
+
@request.put([calendar_id.to_s], { name: name, timeZone: time_zone }.merge(options))
|
62
61
|
end
|
63
62
|
|
64
|
-
#============== TODO: OPTIONAL VARIABLES
|
63
|
+
#============== TODO: OPTIONAL VARIABLES
|
65
64
|
|
66
65
|
def update_calendar_user_view(calendar_id, name, time_zone, options = {})
|
67
|
-
@request.put([calendar_id.to_s, 'view'], {name: name, timeZone: time_zone}.merge(options))
|
66
|
+
@request.put([calendar_id.to_s, 'view'], { name: name, timeZone: time_zone }.merge(options))
|
68
67
|
end
|
69
68
|
|
70
69
|
def manage_subscriptions(states)
|
71
70
|
@request.put(%w(subscriptions manage), states: states)
|
72
71
|
end
|
73
72
|
|
74
|
-
#============== TODO: OPTIONAL VARIABLES
|
73
|
+
#============== TODO: OPTIONAL VARIABLES
|
75
74
|
|
76
75
|
def update_event(calendar_id, event_id, name, options = {})
|
77
|
-
@request.put([calendar_id.to_s, event_id.to_s], {name: name}.merge(options))
|
76
|
+
@request.put([calendar_id.to_s, event_id.to_s], { name: name }.merge(options))
|
78
77
|
end
|
79
78
|
|
80
79
|
def delete_calendar(calendar_id)
|
@@ -85,7 +84,7 @@ module Teamlab
|
|
85
84
|
@request.delete(['events', event_id.to_s])
|
86
85
|
end
|
87
86
|
|
88
|
-
#============== TODO: OPTIONAL VARIABLES
|
87
|
+
#============== TODO: OPTIONAL VARIABLES
|
89
88
|
|
90
89
|
def remove_event(event_id, options = {})
|
91
90
|
@request.delete(['events', event_id.to_s, 'custom'], options)
|
@@ -95,4 +94,4 @@ module Teamlab
|
|
95
94
|
@request.delete(['events', event_id.to_s, 'unsubscribe'])
|
96
95
|
end
|
97
96
|
end
|
98
|
-
end
|
97
|
+
end
|
@@ -37,15 +37,15 @@ module Teamlab
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def create_post(title, content, options = {})
|
40
|
-
@request.post(%w(blog), {title: title, content: content}.merge(options))
|
40
|
+
@request.post(%w(blog), { title: title, content: content }.merge(options))
|
41
41
|
end
|
42
42
|
|
43
43
|
def add_comment(post_id, content, options = {})
|
44
|
-
@request.post(['blog', post_id.to_s, 'comment'], {content: content}.merge(options))
|
44
|
+
@request.post(['blog', post_id.to_s, 'comment'], { content: content }.merge(options))
|
45
45
|
end
|
46
46
|
|
47
47
|
def update_post(post_id, title, content, options = {})
|
48
|
-
@request.put(['blog', post_id.to_s], {title: title, content: content}.merge(options))
|
48
|
+
@request.put(['blog', post_id.to_s], { title: title, content: content }.merge(options))
|
49
49
|
end
|
50
50
|
|
51
51
|
def delete_post(post_id)
|
@@ -93,11 +93,11 @@ module Teamlab
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def add_bookmark(url, title, options = {})
|
96
|
-
@request.post(%w(bookmark), {url: url, title: title}.merge(options))
|
96
|
+
@request.post(%w(bookmark), { url: url, title: title }.merge(options))
|
97
97
|
end
|
98
98
|
|
99
99
|
def add_comment_to_bookmark(bookmark_id, content, options = {})
|
100
|
-
@request.post(['bookmark', bookmark_id.to_s, 'comment'], {content: content}.merge(options))
|
100
|
+
@request.post(['bookmark', bookmark_id.to_s, 'comment'], { content: content }.merge(options))
|
101
101
|
end
|
102
102
|
|
103
103
|
def get_all_events
|
@@ -121,7 +121,7 @@ module Teamlab
|
|
121
121
|
end
|
122
122
|
|
123
123
|
def create_event(title, content, options = {})
|
124
|
-
@request.post(%w(event), {title: title, content: content}.merge(options))
|
124
|
+
@request.post(%w(event), { title: title, content: content }.merge(options))
|
125
125
|
end
|
126
126
|
|
127
127
|
def vote_for_event(event_id, *variants)
|
@@ -129,11 +129,11 @@ module Teamlab
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def add_comment_to_event(event_id, content, options = {})
|
132
|
-
@request.post(['event', event_id.to_s, 'comment'], {content: content}.merge(options))
|
132
|
+
@request.post(['event', event_id.to_s, 'comment'], { content: content }.merge(options))
|
133
133
|
end
|
134
134
|
|
135
135
|
def update_event(event_id, title, content, options = {})
|
136
|
-
@request.put(['event', event_id.to_s], {title: title, content: content}.merge(options))
|
136
|
+
@request.put(['event', event_id.to_s], { title: title, content: content }.merge(options))
|
137
137
|
end
|
138
138
|
|
139
139
|
def get_forums
|
@@ -156,22 +156,22 @@ module Teamlab
|
|
156
156
|
@request.get(['forum', '@search', query.to_s])
|
157
157
|
end
|
158
158
|
|
159
|
-
#==================================== TODO: ERROR
|
159
|
+
#==================================== TODO: ERROR
|
160
160
|
|
161
161
|
def add_thread_to_category(category_id, category_name, thread_name, description)
|
162
162
|
@request.post(%w(forum), categoryId: category_id, categoryName: category_name.to_s, threadName: thread_name, threadDescription: description)
|
163
163
|
end
|
164
164
|
|
165
165
|
def add_topic_to_thread(thread_id, subject, content, options = {})
|
166
|
-
@request.post(['forum', thread_id], {subject: subject, content: content}.merge(options))
|
166
|
+
@request.post(['forum', thread_id], { subject: subject, content: content }.merge(options))
|
167
167
|
end
|
168
168
|
|
169
169
|
def add_post_to_topic(topic_id, subject, content, options = {})
|
170
|
-
@request.post(['forum', 'topic', topic_id.to_s], {subject: subject, content: content}.merge(options))
|
170
|
+
@request.post(['forum', 'topic', topic_id.to_s], { subject: subject, content: content }.merge(options))
|
171
171
|
end
|
172
172
|
|
173
173
|
def update_topic_in_thread(topic_id, subject, options = {})
|
174
|
-
@request.put(['forum', 'topic', topic_id.to_s], {subject: subject}.merge(options))
|
174
|
+
@request.put(['forum', 'topic', topic_id.to_s], { subject: subject }.merge(options))
|
175
175
|
end
|
176
176
|
|
177
177
|
def update_post_in_topic(topic_id, post_id, options = {})
|
@@ -211,7 +211,7 @@ module Teamlab
|
|
211
211
|
end
|
212
212
|
|
213
213
|
def create_page(name, body)
|
214
|
-
@request.post(%w(wiki),
|
214
|
+
@request.post(%w(wiki), name: name.to_s, body: body.to_s)
|
215
215
|
end
|
216
216
|
|
217
217
|
def upload_files(file)
|
@@ -219,11 +219,11 @@ module Teamlab
|
|
219
219
|
end
|
220
220
|
|
221
221
|
def create_wiki_page_comment(page_name, content, options = {})
|
222
|
-
@request.post(['wiki', page_name.to_s, 'comment'], {content: content.to_s}.merge(options))
|
222
|
+
@request.post(['wiki', page_name.to_s, 'comment'], { content: content.to_s }.merge(options))
|
223
223
|
end
|
224
224
|
|
225
225
|
def update_wiki_page(name, body)
|
226
|
-
@request.put(['wiki', name.to_s],
|
226
|
+
@request.put(['wiki', name.to_s], body: body.to_s)
|
227
227
|
end
|
228
228
|
|
229
229
|
def update_wiki_page_comment(comment_id, body)
|
@@ -241,6 +241,5 @@ module Teamlab
|
|
241
241
|
def delete_wiki_page_comment(id)
|
242
242
|
@request.delete(['wiki', 'comment', id.to_s])
|
243
243
|
end
|
244
|
-
|
245
244
|
end
|
246
|
-
end
|
245
|
+
end
|