docbase 1.0.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 728edfa970bd8285f61e71a09a44e88bb46ff8e0170aa37dd8e65ab1ec248966
4
- data.tar.gz: ff31c545d7cce734042655cf65e965276d024805724e6c2ef75f8f50bf5242cc
3
+ metadata.gz: b6c70d4491502f49f4510006bcc8f630d7b207c2e33b4d40dc11cbd4749b0ae4
4
+ data.tar.gz: 206860601acdc3d22e1a315c0ddce113f6b6776a309570cbe4804e7f878a0cf4
5
5
  SHA512:
6
- metadata.gz: 57b754ce6b4f12b36e3c2eba089752337fb8f78bd86ddefef83373566291cf306950ef4416fad27114a67ea24c618aa32044e88c3429f1a9efbebae0979498d4
7
- data.tar.gz: 0bb4c1d0803beb8b3758e4992c0e88d05cb2be0a7d591643bc73da74e096b4392de0e4eba0a1991b58d9e7ebff2a381e3610646b63491086487f847cad5f2e4c
6
+ metadata.gz: dbe5ff0494d2605b6aacea6a1b95b417ca710e302233bce291da160cd6b311785e684a4d5492f5c2824500d9a6b0d67f1966cc1d5733dedb8283c5d88f9bf8a9
7
+ data.tar.gz: a9b8d6813eb18db3599a1ad4019f9d45f29441caea3c0e5d47ee33734e7eacd8b1837e9cdffbee281c6cc726dd08e8e006d81d61c972e83607296db395ea2468
data/.travis.yml CHANGED
@@ -1,10 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0
4
- - 2.1
5
- - 2.2
6
- - 2.3
7
- - 2.4
8
- - 2.5
9
3
  - 2.6
4
+ - 2.7
5
+ - 3.0
10
6
  - ruby-head
data/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## 2.1.1
2
+
3
+ * グループ取得APIにグループ名/ページネーションが渡せてるように fix: #17
4
+
5
+ ## 2.1.0
6
+
7
+ * faradayを1.0.0以上でも使えるように
8
+ * ruby 2.4をサポート対象外に
9
+
10
+ ## 2.0.1
11
+
12
+ * ファイルダウンロードAPIに対応
13
+
14
+ ## 2.0.0
15
+
16
+ * DocBaseAPIv2用としてリリース
17
+ * チーム一覧APIを廃止
18
+ * 環境変数`DOCBASE_ACCESS_TOKEN`でのトークン読み込みを廃止
19
+
1
20
  ## 1.0.0
2
21
 
3
22
  * DocBaseAPIv1用としてリリース
data/Gemfile CHANGED
@@ -4,6 +4,6 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :test do
7
- gem 'rake', '~> 10.4'
8
- gem 'rspec', '~> 3.8.0'
7
+ gem 'rake', '~> 13.0'
8
+ gem 'rspec', '~> 3.10'
9
9
  end
data/README.md CHANGED
@@ -26,21 +26,6 @@ Or install it yourself as:
26
26
  client = DocBase::Client.new(access_token: 'your_access_token', team: 'your_team')
27
27
  ```
28
28
 
29
- or
30
-
31
- ```ruby
32
- ENV['DOCBASE_ACCESS_TOKEN'] = 'your_access_token'
33
-
34
- client = DocBase::Client.new(team: 'your_team')
35
- ```
36
-
37
- ### teams
38
-
39
- ```ruby
40
- client.teams.body
41
- # => [{ domain: 'kray', name: 'kray' }, { domain: 'danny', name: 'danny' }]
42
- ```
43
-
44
29
  ### users
45
30
 
46
31
  ```ruby
@@ -63,6 +48,8 @@ client.tags.body
63
48
 
64
49
  ```ruby
65
50
  client.groups.body
51
+ client.groups(name: 'developers').body
52
+ client.groups(page: 2, per_page: 10).body
66
53
  ```
67
54
 
68
55
  #### Show
@@ -200,6 +187,13 @@ client.upload('./test.jpg')
200
187
  client.upload(['./test.jpg', './README.md'])
201
188
  ```
202
189
 
190
+ #### Download
191
+
192
+ ```ruby
193
+ response = client.attachment(file_id)
194
+ File.open(file_id, 'wb') { |f| f.write(response.body) }
195
+ ```
196
+
203
197
  ### switch team
204
198
 
205
199
  ```ruby
@@ -208,6 +202,7 @@ client.tags.body
208
202
  # => [{ name: 'ruby' }, { name: 'rails' }]
209
203
 
210
204
  client.team = 'danny'
205
+ client.access_token = 'danny_team_access_token'
211
206
  client.tags.body
212
207
  # => [{ name: 'javascript' }, { name: 'react' }]
213
208
  ```
data/docbase.gemspec CHANGED
@@ -17,6 +17,6 @@ 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_dependency 'faraday', '~> 0.15.2'
21
- spec.add_dependency 'faraday_middleware', '~> 0.12.2'
20
+ spec.add_dependency 'faraday', '>= 0.15.2'
21
+ spec.add_dependency 'faraday_middleware', '>= 0.12.2'
22
22
  end
@@ -6,10 +6,10 @@ module DocBase
6
6
  class NotSetTeamError < StandardError; end
7
7
  class NotSetPostIdError < StandardError; end
8
8
 
9
- attr_accessor :team
9
+ attr_accessor :team, :access_token
10
10
 
11
11
  def initialize(access_token: nil, url: nil, team: nil)
12
- @access_token = access_token || ENV['DOCBASE_ACCESS_TOKEN']
12
+ self.access_token = access_token
13
13
  self.team = team
14
14
  @url = url || DEFAULT_URL
15
15
  end
@@ -19,10 +19,6 @@ module DocBase
19
19
  @team
20
20
  end
21
21
 
22
- def teams
23
- connection.get('/teams')
24
- end
25
-
26
22
  def users(q: nil, page: 1, per_page: 100, include_user_groups: false)
27
23
  connection.get("/teams/#{team!}/users", q: q, page: page, per_page: per_page, include_user_groups: include_user_groups)
28
24
  end
@@ -31,8 +27,8 @@ module DocBase
31
27
  connection.get("/teams/#{team!}/tags")
32
28
  end
33
29
 
34
- def groups
35
- connection.get("/teams/#{team!}/groups")
30
+ def groups(name: nil, page: 1, per_page: 100)
31
+ connection.get("/teams/#{team!}/groups", name: name, page: page, per_page: per_page)
36
32
  end
37
33
 
38
34
  def group(id)
@@ -117,6 +113,10 @@ module DocBase
117
113
  connection.post("/teams/#{team!}/attachments", params)
118
114
  end
119
115
 
116
+ def attachment(id)
117
+ connection_for_binary.get("/teams/#{team!}/attachments/#{id}")
118
+ end
119
+
120
120
  private
121
121
 
122
122
  def except(hash, reject_key)
@@ -131,12 +131,19 @@ module DocBase
131
131
  end
132
132
  end
133
133
 
134
+ def connection_for_binary
135
+ @connection ||= Faraday.new({ url: @url, headers: headers }) do |faraday|
136
+ faraday.request :json
137
+ faraday.adapter Faraday.default_adapter
138
+ end
139
+ end
140
+
134
141
  def headers
135
142
  {
136
143
  'Accept' => 'application/json',
137
144
  'User-Agent' => USER_AGENT,
138
- 'X-DocBaseToken' => @access_token,
139
- 'X-Api-Version' => 1,
145
+ 'X-DocBaseToken' => access_token,
146
+ 'X-Api-Version' => '2',
140
147
  }
141
148
  end
142
149
  end
@@ -1,3 +1,3 @@
1
1
  module DocBase
2
- VERSION = '1.0.0'
2
+ VERSION = '2.1.1'
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ttakuru88
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-10 00:00:00.000000000 Z
11
+ date: 2021-03-30 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
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
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
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
40
  version: 0.12.2
41
41
  description: DocBase API Client, written in Ruby
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
81
  requirements: []
82
- rubygems_version: 3.0.3
82
+ rubygems_version: 3.2.3
83
83
  signing_key:
84
84
  specification_version: 4
85
85
  summary: DocBase API Client, written in Ruby