Module: Qiita::Sdk::ApiActions
- Included in:
- Client
- Defined in:
- lib/qiita/sdk/api_actions.rb
Instance Method Summary collapse
-
#attach_reaction_to_comment(comment_id:, name:) ⇒ Object
コメントに絵文字リアクションを付ける.
-
#attach_reaction_to_item(item_id:, name:) ⇒ Object
記事に絵文字リアクションを付ける.
-
#check_following(user_id:) ⇒ Object
ユーザをフォローしている場合に204を返す.
-
#check_item_stock(item_id:) ⇒ Object
記事をストックしているかどうか調べる.
-
#check_tag_following(tag_id:) ⇒ Object
タグをフォローしているかどうかを調る.
-
#delete_comment(comment_id:) ⇒ Object
コメントを削除.
-
#delete_comment_reaction(comment_id:, reaction_name:) ⇒ Object
コメントから絵文字リアクションを削除.
-
#delete_following(user_id:) ⇒ Object
ユーザへのフォローを外します。.
-
#delete_item(item_id:) ⇒ Object
記事を削除.
-
#delete_item_reaction(item_id:, reaction_name:) ⇒ Object
記事から絵文字リアクションを削除.
-
#delete_stock(item_id:) ⇒ Object
記事をストックから取り除く.
-
#delete_tag_following(tag_id:) ⇒ Object
タグのフォローを外す.
-
#fetch_authenticated_user ⇒ Object
アクセストークンに紐付いたユーザを返す.
-
#fetch_comment(comment_id:) ⇒ Object
コメントを取得.
-
#fetch_comment_reactions(comment_id:) ⇒ Object
コメントに付けられた絵文字リアクション一覧.
-
#fetch_followees(user_id:) ⇒ Object
ユーザがフォローしているユーザ一覧を取得.
-
#fetch_followers(user_id:) ⇒ Object
ユーザをフォローしているユーザ一覧を取得.
-
#fetch_following_tags(user_id:) ⇒ Object
ユーザがフォローしているタグ一覧.
-
#fetch_item(item_id:) ⇒ Object
記事を取得.
-
#fetch_item_comments(item_id:) ⇒ Object
投稿に付けられたコメント一覧.
-
#fetch_item_likes(item_id:) ⇒ Object
記事につけられた「LGTM!」一覧.
-
#fetch_item_reactions(item_id:) ⇒ Object
記事に付けられた絵文字リアクション一覧.
-
#fetch_item_stockers(item_id:) ⇒ Object
記事をストックしているユーザ一覧を、ストックした日時の降順で返す.
-
#fetch_items(per_page: 100, page: 1) ⇒ Object
記事の一覧を作成日時の降順で返す.
-
#fetch_my_items(per_page: 100, page: 1) ⇒ Object
認証中のユーザの記事の一覧を作成日時の降順で返す.
-
#fetch_tag(tag_id:) ⇒ Object
タグを取得.
-
#fetch_tag_items(tag_id:) ⇒ Object
タグの記事一覧.
-
#fetch_user(user_id:) ⇒ Object
ユーザを取得.
-
#fetch_user_items(user_id:, per_page: 100, page: 1) ⇒ Object
指定されたユーザの記事一覧.
-
#fetch_user_stocks(user_id:, per_page: 100, per: 1) ⇒ Object
指定されたユーザがストックした記事一覧.
-
#fetch_users ⇒ Object
全てのユーザの一覧を作成日時の降順で取得.
-
#follow_tag(tag_id:) ⇒ Object
タグをフォロー.
-
#follow_user(user_id:) ⇒ Object
ユーザをフォロー.
-
#post_comment(item_id:, body:) ⇒ Object
記事に対してコメントを投稿.
-
#post_item(title:, body:, tags: [], tweet: false, restricted: false) ⇒ Object
新たに記事を作成.
-
#stock_item(item_id:) ⇒ Object
記事をストック.
-
#update_comment(comment_id:, body:) ⇒ Object
コメントを更新.
-
#update_item(item_id:, title: nil, body: nil, restricted: false, tags: []) ⇒ Object
記事を更新.
Instance Method Details
#attach_reaction_to_comment(comment_id:, name:) ⇒ Object
コメントに絵文字リアクションを付ける
270 271 272 273 274 275 276 277 |
# File 'lib/qiita/sdk/api_actions.rb', line 270 def attach_reaction_to_comment(comment_id:, name:) path = "/api/v2/comments/#{comment_id}/reactions" params = { name: name } post(path, params) end |
#attach_reaction_to_item(item_id:, name:) ⇒ Object
記事に絵文字リアクションを付ける
280 281 282 283 284 285 286 287 |
# File 'lib/qiita/sdk/api_actions.rb', line 280 def attach_reaction_to_item(item_id:, name:) path = "/api/v2/items/#{item_id}/reactions" params = { name: name } post(path, params) end |
#check_following(user_id:) ⇒ Object
ユーザをフォローしている場合に204を返す
132 133 134 135 136 |
# File 'lib/qiita/sdk/api_actions.rb', line 132 def check_following(user_id:) path = "/api/v2/users/#{user_id}/following" get(path) end |
#check_item_stock(item_id:) ⇒ Object
記事をストックしているかどうか調べる
232 233 234 235 236 |
# File 'lib/qiita/sdk/api_actions.rb', line 232 def check_item_stock(item_id:) path = "/api/v2/items/#{item_id}/stock" get(path) end |
#check_tag_following(tag_id:) ⇒ Object
タグをフォローしているかどうかを調る
76 77 78 79 80 |
# File 'lib/qiita/sdk/api_actions.rb', line 76 def check_tag_following(tag_id:) path = "/api/v2/tags/#{tag_id}/following" get(path) end |
#delete_comment(comment_id:) ⇒ Object
コメントを削除
12 13 14 15 16 |
# File 'lib/qiita/sdk/api_actions.rb', line 12 def delete_comment(comment_id:) path = "/api/v2/comments/#{comment_id}" delete(path) end |
#delete_comment_reaction(comment_id:, reaction_name:) ⇒ Object
コメントから絵文字リアクションを削除
290 291 292 293 294 |
# File 'lib/qiita/sdk/api_actions.rb', line 290 def delete_comment_reaction(comment_id:, reaction_name:) path = "/api/v2/comments/#{comment_id}/reactions/#{reaction_name}" delete(path) end |
#delete_following(user_id:) ⇒ Object
ユーザへのフォローを外します。
125 126 127 128 129 |
# File 'lib/qiita/sdk/api_actions.rb', line 125 def delete_following(user_id:) path = "/api/v2/users/#{user_id}/following" delete(path) end |
#delete_item(item_id:) ⇒ Object
記事を削除
188 189 190 191 192 |
# File 'lib/qiita/sdk/api_actions.rb', line 188 def delete_item(item_id:) path = "/api/v2/items/#{item_id}" delete(path) end |
#delete_item_reaction(item_id:, reaction_name:) ⇒ Object
記事から絵文字リアクションを削除
297 298 299 300 301 |
# File 'lib/qiita/sdk/api_actions.rb', line 297 def delete_item_reaction(item_id:, reaction_name:) path = "/api/v2/items/#{item_id}/reactions/#{reaction_name}" delete(path) end |
#delete_stock(item_id:) ⇒ Object
記事をストックから取り除く
225 226 227 228 229 |
# File 'lib/qiita/sdk/api_actions.rb', line 225 def delete_stock(item_id:) path = "/api/v2/items/#{item_id}/stock" delete(path) end |
#delete_tag_following(tag_id:) ⇒ Object
タグのフォローを外す
69 70 71 72 73 |
# File 'lib/qiita/sdk/api_actions.rb', line 69 def delete_tag_following(tag_id:) path = "/api/v2/tags/#{tag_id}/following" delete(path) end |
#fetch_authenticated_user ⇒ Object
アクセストークンに紐付いたユーザを返す
318 319 320 321 322 |
# File 'lib/qiita/sdk/api_actions.rb', line 318 def fetch_authenticated_user path = '/api/v2/authenticated_user' get(path) end |
#fetch_comment(comment_id:) ⇒ Object
コメントを取得
19 20 21 22 23 |
# File 'lib/qiita/sdk/api_actions.rb', line 19 def fetch_comment(comment_id:) path = "/api/v2/comments/#{comment_id}" get(path) end |
#fetch_comment_reactions(comment_id:) ⇒ Object
コメントに付けられた絵文字リアクション一覧
304 305 306 307 308 |
# File 'lib/qiita/sdk/api_actions.rb', line 304 def fetch_comment_reactions(comment_id:) path = "/api/v2/comments/#{comment_id}/reactions" get(path) end |
#fetch_followees(user_id:) ⇒ Object
ユーザがフォローしているユーザ一覧を取得
111 112 113 114 115 |
# File 'lib/qiita/sdk/api_actions.rb', line 111 def fetch_followees(user_id:) path = "/api/v2/users/#{user_id}/followees" get(path) end |
#fetch_followers(user_id:) ⇒ Object
ユーザをフォローしているユーザ一覧を取得
118 119 120 121 122 |
# File 'lib/qiita/sdk/api_actions.rb', line 118 def fetch_followers(user_id:) path = "/api/v2/users/#{user_id}/followers" get(path) end |
#fetch_following_tags(user_id:) ⇒ Object
ユーザがフォローしているタグ一覧
62 63 64 65 66 |
# File 'lib/qiita/sdk/api_actions.rb', line 62 def (user_id:) path = "/api/v2/users/#{user_id}/following_tags" get(path) end |
#fetch_item(item_id:) ⇒ Object
記事を取得
195 196 197 198 199 |
# File 'lib/qiita/sdk/api_actions.rb', line 195 def fetch_item(item_id:) path = "/api/v2/items/#{item_id}" get(path) end |
#fetch_item_comments(item_id:) ⇒ Object
投稿に付けられたコメント一覧
37 38 39 40 41 |
# File 'lib/qiita/sdk/api_actions.rb', line 37 def fetch_item_comments(item_id:) path = "/api/v2/items/#{item_id}/comments" get(path) end |
#fetch_item_likes(item_id:) ⇒ Object
記事につけられた「LGTM!」一覧
5 6 7 8 9 |
# File 'lib/qiita/sdk/api_actions.rb', line 5 def fetch_item_likes(item_id:) path = "/api/v2/items/#{item_id}/likes" get(path) end |
#fetch_item_reactions(item_id:) ⇒ Object
記事に付けられた絵文字リアクション一覧
311 312 313 314 315 |
# File 'lib/qiita/sdk/api_actions.rb', line 311 def fetch_item_reactions(item_id:) path = "/api/v2/items/#{item_id}/reactions" get(path) end |
#fetch_item_stockers(item_id:) ⇒ Object
記事をストックしているユーザ一覧を、ストックした日時の降順で返す
90 91 92 93 94 |
# File 'lib/qiita/sdk/api_actions.rb', line 90 def fetch_item_stockers(item_id:) path = "/api/v2/items/#{item_id}/stockers" get(path) end |
#fetch_items(per_page: 100, page: 1) ⇒ Object
記事の一覧を作成日時の降順で返す
158 159 160 161 162 163 164 165 166 167 |
# File 'lib/qiita/sdk/api_actions.rb', line 158 def fetch_items(per_page: 100, page: 1) path = '/api/v2/items' params = { per_page: per_page, page: page } get(path, params) end |
#fetch_my_items(per_page: 100, page: 1) ⇒ Object
認証中のユーザの記事の一覧を作成日時の降順で返す
146 147 148 149 150 151 152 153 154 155 |
# File 'lib/qiita/sdk/api_actions.rb', line 146 def fetch_my_items(per_page: 100, page: 1) path = '/api/v2/authenticated_user/items' params = { per_page: per_page, page: page } get(path, params) end |
#fetch_tag(tag_id:) ⇒ Object
タグを取得
55 56 57 58 59 |
# File 'lib/qiita/sdk/api_actions.rb', line 55 def fetch_tag(tag_id:) path = "/api/v2/tags/#{tag_id}" get(path) end |
#fetch_tag_items(tag_id:) ⇒ Object
タグの記事一覧
239 240 241 242 243 |
# File 'lib/qiita/sdk/api_actions.rb', line 239 def fetch_tag_items(tag_id:) path = "/api/v2/tags/#{tag_id}/items" get(path) end |
#fetch_user(user_id:) ⇒ Object
ユーザを取得
104 105 106 107 108 |
# File 'lib/qiita/sdk/api_actions.rb', line 104 def fetch_user(user_id:) path = "/api/v2/users/#{user_id}" get(path) end |
#fetch_user_items(user_id:, per_page: 100, page: 1) ⇒ Object
指定されたユーザの記事一覧
246 247 248 249 250 251 252 253 254 255 |
# File 'lib/qiita/sdk/api_actions.rb', line 246 def fetch_user_items(user_id:, per_page: 100, page: 1) path = "/api/v2/users/#{user_id}/items" params = { per_page: per_page, page: page } get(path, params) end |
#fetch_user_stocks(user_id:, per_page: 100, per: 1) ⇒ Object
指定されたユーザがストックした記事一覧
258 259 260 261 262 263 264 265 266 267 |
# File 'lib/qiita/sdk/api_actions.rb', line 258 def fetch_user_stocks(user_id:, per_page: 100, per: 1) path = "/api/v2/users/#{user_id}/stocks" params = { per_page: per_page, page: page } get(path, params) end |
#fetch_users ⇒ Object
全てのユーザの一覧を作成日時の降順で取得
97 98 99 100 101 |
# File 'lib/qiita/sdk/api_actions.rb', line 97 def fetch_users path = '/api/v2/users' get(path) end |
#follow_tag(tag_id:) ⇒ Object
タグをフォロー
83 84 85 86 87 |
# File 'lib/qiita/sdk/api_actions.rb', line 83 def follow_tag(tag_id:) path = "/api/v2/tags/#{tag_id}/following" put(path, {}) end |
#follow_user(user_id:) ⇒ Object
ユーザをフォロー
139 140 141 142 143 |
# File 'lib/qiita/sdk/api_actions.rb', line 139 def follow_user(user_id:) path = "/api/v2/users/#{user_id}/following" put(path, {}) end |
#post_comment(item_id:, body:) ⇒ Object
記事に対してコメントを投稿
44 45 46 47 48 49 50 51 52 |
# File 'lib/qiita/sdk/api_actions.rb', line 44 def post_comment(item_id:, body:) path = "/api/v2/items/#{item_id}/comments" params = { body: body } post(path, params) end |
#post_item(title:, body:, tags: [], tweet: false, restricted: false) ⇒ Object
新たに記事を作成
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/qiita/sdk/api_actions.rb', line 170 def post_item(title:, body:, tags: [], tweet: false, restricted: false) path = '/api/v2/items' params = { title: title, body: body, tweet: tweet, private: restricted, } raise 'タグは最低一つ設定してください' if .empty? tag_params = .map { |tag| { name: tag } } params.merge!({tags: tag_params}) post(path, params) end |
#stock_item(item_id:) ⇒ Object
記事をストック
218 219 220 221 222 |
# File 'lib/qiita/sdk/api_actions.rb', line 218 def stock_item(item_id:) path = "/api/v2/items/#{item_id}/stock" put(path, {}) end |
#update_comment(comment_id:, body:) ⇒ Object
コメントを更新
26 27 28 29 30 31 32 33 34 |
# File 'lib/qiita/sdk/api_actions.rb', line 26 def update_comment(comment_id:, body:) path = "/api/v2/comments/#{comment_id}" params = { body: body } patch(path, params) end |
#update_item(item_id:, title: nil, body: nil, restricted: false, tags: []) ⇒ Object
記事を更新
202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
# File 'lib/qiita/sdk/api_actions.rb', line 202 def update_item(item_id:, title: nil, body: nil, restricted: false, tags: []) path = "/api/v2/items/#{item_id}" params = { title: title, body: body, private: restricted, } tag_params = .map { |tag| { name: tag } } params.merge!({tags: tag_params}) if !.empty? patch(path, params) end |