docbase 1.0.0 → 2.1.1

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