docbase 0.1.2 → 0.2.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 +5 -5
- data/CHANGELOG.md +12 -0
- data/README.md +86 -23
- data/docbase.gemspec +7 -7
- data/lib/docbase.rb +1 -0
- data/lib/docbase/client.rb +65 -10
- data/lib/docbase/version.rb +1 -1
- metadata +31 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c2d65f2f3fb4a25a80d4e2af783875a176674c6093a9829f0b205cb86bb2fbd8
|
4
|
+
data.tar.gz: 51f0a2db6fdfd4e847e7b656899a73a527adc84d015d762115c733b6fcfe91b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb7f9710e9d71f611ae07752a4b27f8200a446b5402b16b0f32d19d2d8a07fcd4a3431915abb9c6f8b0df7b682d02da326a1cbfe3817f71df4a392de9bab9ecf
|
7
|
+
data.tar.gz: b50365c05cbe7cf072f8e27aa1c29362356759bc75d43325663843833b87ff1cf81c684e1fdba02156c0c87132a0930d9c40bafa2b3886105c7b83e1e2dce7aa
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -49,15 +49,64 @@ client.tags.body
|
|
49
49
|
|
50
50
|
### groups
|
51
51
|
|
52
|
+
#### List
|
53
|
+
|
52
54
|
```ruby
|
53
55
|
client.groups.body
|
54
|
-
|
56
|
+
```
|
57
|
+
|
58
|
+
#### Show
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
client.group(1).body
|
62
|
+
```
|
63
|
+
|
64
|
+
#### Create
|
65
|
+
|
66
|
+
```ruby
|
67
|
+
params = {
|
68
|
+
name: 'group',
|
69
|
+
description: 'Important group.',
|
70
|
+
}
|
71
|
+
|
72
|
+
client.create_group(params)
|
55
73
|
```
|
56
74
|
|
57
75
|
### posts
|
58
76
|
|
77
|
+
#### Search
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
client.create_posts(q: 'body')
|
81
|
+
```
|
82
|
+
|
83
|
+
#### Show
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
client.post(1)
|
87
|
+
```
|
88
|
+
|
89
|
+
#### Create
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
params = {
|
93
|
+
title: 'memo title',
|
94
|
+
body: 'memo body',
|
95
|
+
draft: false,
|
96
|
+
tags: ['rails', 'ruby'],
|
97
|
+
scope: 'group',
|
98
|
+
groups: [1],
|
99
|
+
notice: true,
|
100
|
+
}
|
101
|
+
|
102
|
+
client.create_post(params)
|
103
|
+
```
|
104
|
+
|
105
|
+
#### Update
|
106
|
+
|
59
107
|
```ruby
|
60
108
|
params = {
|
109
|
+
id: 1,
|
61
110
|
title: 'memo title',
|
62
111
|
body: 'memo body',
|
63
112
|
draft: false,
|
@@ -67,27 +116,42 @@ params = {
|
|
67
116
|
notice: true,
|
68
117
|
}
|
69
118
|
|
70
|
-
client.
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
119
|
+
client.update_post(params)
|
120
|
+
```
|
121
|
+
|
122
|
+
#### Delete
|
123
|
+
|
124
|
+
```ruby
|
125
|
+
client.delete_post(1)
|
126
|
+
```
|
127
|
+
|
128
|
+
### Comment
|
129
|
+
|
130
|
+
#### Create
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
params = {
|
134
|
+
post_id: 1,
|
135
|
+
body: 'GJ!!',
|
136
|
+
notice: true,
|
137
|
+
}
|
138
|
+
|
139
|
+
client.create_comment(params)
|
140
|
+
```
|
141
|
+
|
142
|
+
#### Delete
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
client.delete_comment(1)
|
146
|
+
```
|
147
|
+
|
148
|
+
### attachments
|
149
|
+
|
150
|
+
#### Create
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
client.upload('./test.jpg')
|
154
|
+
client.upload(['./test.jpg', './README.md'])
|
91
155
|
```
|
92
156
|
|
93
157
|
### switch team
|
@@ -109,4 +173,3 @@ client.tags.body
|
|
109
173
|
## License
|
110
174
|
|
111
175
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
112
|
-
|
data/docbase.gemspec
CHANGED
@@ -5,8 +5,8 @@ require 'docbase/version'
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'docbase'
|
7
7
|
spec.version = DocBase::VERSION
|
8
|
-
spec.authors = ['
|
9
|
-
spec.email = ['
|
8
|
+
spec.authors = ['ttakuru88']
|
9
|
+
spec.email = ['asaumi+docbase-ruby@kray.jp']
|
10
10
|
|
11
11
|
spec.summary = 'DocBase API Client, written in Ruby'
|
12
12
|
spec.description = 'DocBase API Client, written in Ruby'
|
@@ -17,9 +17,9 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_runtime_dependency 'faraday', '~> 0.
|
21
|
-
spec.add_runtime_dependency 'faraday_middleware', '~> 0.
|
22
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
23
|
-
spec.add_development_dependency 'rake', '~> 10.
|
24
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
20
|
+
spec.add_runtime_dependency 'faraday', '~> 0.15.2'
|
21
|
+
spec.add_runtime_dependency 'faraday_middleware', '~> 0.12.2'
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.4'
|
24
|
+
spec.add_development_dependency 'rspec', '~> 3.8.0'
|
25
25
|
end
|
data/lib/docbase.rb
CHANGED
data/lib/docbase/client.rb
CHANGED
@@ -4,21 +4,16 @@ module DocBase
|
|
4
4
|
USER_AGENT = "DocBase Ruby Gem #{DocBase::VERSION}"
|
5
5
|
|
6
6
|
class NotSetTeamError < StandardError; end
|
7
|
+
class NotSetPostIdError < StandardError; end
|
8
|
+
|
9
|
+
attr_accessor :team
|
7
10
|
|
8
11
|
def initialize(access_token: nil, url: nil, team: nil)
|
9
12
|
@access_token = access_token || ENV['DOCBASE_ACCESS_TOKEN']
|
10
|
-
|
13
|
+
self.team = team
|
11
14
|
@url = url || DEFAULT_URL
|
12
15
|
end
|
13
16
|
|
14
|
-
def team=(team)
|
15
|
-
@team = team
|
16
|
-
end
|
17
|
-
|
18
|
-
def team
|
19
|
-
@team
|
20
|
-
end
|
21
|
-
|
22
17
|
def team!
|
23
18
|
raise NotSetTeamError unless @team
|
24
19
|
@team
|
@@ -36,10 +31,70 @@ module DocBase
|
|
36
31
|
connection.get("/teams/#{team!}/groups")
|
37
32
|
end
|
38
33
|
|
39
|
-
def
|
34
|
+
def group(id)
|
35
|
+
connection.get("/teams/#{team!}/groups/#{id}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def create_group(params)
|
39
|
+
connection.post("/teams/#{team!}/groups", params)
|
40
|
+
end
|
41
|
+
|
42
|
+
def post(id)
|
43
|
+
connection.get("/teams/#{team!}/posts/#{id}")
|
44
|
+
end
|
45
|
+
|
46
|
+
def posts(q: '*')
|
47
|
+
connection.get("/teams/#{team!}/posts", q: q)
|
48
|
+
end
|
49
|
+
|
50
|
+
def create_post(params)
|
40
51
|
connection.post("/teams/#{team!}/posts", params)
|
41
52
|
end
|
42
53
|
|
54
|
+
def update_post(params)
|
55
|
+
post_id = params[:id].to_i
|
56
|
+
raise NotSetTeamError if post_id <= 0
|
57
|
+
|
58
|
+
post_params = except(params, :id)
|
59
|
+
connection.patch("/teams/#{team!}/posts/#{post_id}", post_params)
|
60
|
+
end
|
61
|
+
|
62
|
+
def delete_post(id)
|
63
|
+
connection.delete("/teams/#{team!}/posts/#{id}")
|
64
|
+
end
|
65
|
+
|
66
|
+
def create_comment(params)
|
67
|
+
post_id = params[:post_id].to_i
|
68
|
+
raise NotSetTeamError if post_id <= 0
|
69
|
+
|
70
|
+
comment_params = except(params, :post_id)
|
71
|
+
connection.post("/teams/#{team!}/posts/#{post_id}/comments", params)
|
72
|
+
end
|
73
|
+
|
74
|
+
def delete_comment(id)
|
75
|
+
connection.delete("/teams/#{team!}/comments/#{id}")
|
76
|
+
end
|
77
|
+
|
78
|
+
def upload(paths)
|
79
|
+
paths = [paths] unless paths.instance_of?(Array)
|
80
|
+
|
81
|
+
params = paths.map do |path|
|
82
|
+
file = File.new(path, 'r+b')
|
83
|
+
{
|
84
|
+
name: file.path.split('/').last,
|
85
|
+
content: Base64.strict_encode64(file.read),
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
connection.post("/teams/#{team!}/attachments", params)
|
90
|
+
end
|
91
|
+
|
92
|
+
private
|
93
|
+
|
94
|
+
def except(hash, reject_key)
|
95
|
+
hash.reject { |key, _| key == reject_key }
|
96
|
+
end
|
97
|
+
|
43
98
|
def connection
|
44
99
|
@connection ||= Faraday.new({ url: @url, headers: headers }) do |faraday|
|
45
100
|
faraday.request :json
|
data/lib/docbase/version.rb
CHANGED
metadata
CHANGED
@@ -1,95 +1,96 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- ttakuru88
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.15.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.15.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday_middleware
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.12.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.12.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.16'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.16'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '10.
|
61
|
+
version: '10.4'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '10.
|
68
|
+
version: '10.4'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
75
|
+
version: 3.8.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.
|
82
|
+
version: 3.8.0
|
83
83
|
description: DocBase API Client, written in Ruby
|
84
84
|
email:
|
85
|
-
-
|
85
|
+
- asaumi+docbase-ruby@kray.jp
|
86
86
|
executables: []
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
- .gitignore
|
91
|
-
- .rspec
|
92
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rspec"
|
92
|
+
- ".travis.yml"
|
93
|
+
- CHANGELOG.md
|
93
94
|
- CODE_OF_CONDUCT.md
|
94
95
|
- Gemfile
|
95
96
|
- LICENSE.txt
|
@@ -111,17 +112,17 @@ require_paths:
|
|
111
112
|
- lib
|
112
113
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
114
|
requirements:
|
114
|
-
- -
|
115
|
+
- - ">="
|
115
116
|
- !ruby/object:Gem::Version
|
116
117
|
version: '0'
|
117
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
119
|
requirements:
|
119
|
-
- -
|
120
|
+
- - ">="
|
120
121
|
- !ruby/object:Gem::Version
|
121
122
|
version: '0'
|
122
123
|
requirements: []
|
123
124
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
125
|
+
rubygems_version: 2.7.6
|
125
126
|
signing_key:
|
126
127
|
specification_version: 4
|
127
128
|
summary: DocBase API Client, written in Ruby
|