notion-sdk-ruby 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +43 -34
- data/.gitignore +13 -13
- data/.rspec +3 -3
- data/.travis.yml +6 -6
- data/.vscode/settings.json +3 -3
- data/Gemfile +4 -4
- data/Gemfile.lock +15 -7
- data/LICENSE.txt +21 -21
- data/README.md +55 -339
- data/Rakefile +12 -7
- data/bin/console +11 -11
- data/bin/setup +8 -8
- data/lib/notion-sdk-ruby/api/blocks.rb +56 -0
- data/lib/notion-sdk-ruby/api/databases.rb +47 -0
- data/lib/notion-sdk-ruby/api/pages.rb +36 -0
- data/lib/notion-sdk-ruby/api/search.rb +17 -0
- data/lib/notion-sdk-ruby/api/users.rb +24 -0
- data/lib/notion-sdk-ruby/client.rb +30 -27
- data/lib/notion-sdk-ruby/config.rb +5 -5
- data/lib/notion-sdk-ruby/error.rb +52 -52
- data/lib/notion-sdk-ruby/models/block.rb +7 -4
- data/lib/notion-sdk-ruby/models/database.rb +7 -4
- data/lib/notion-sdk-ruby/models/list.rb +49 -27
- data/lib/notion-sdk-ruby/models/page.rb +7 -4
- data/lib/notion-sdk-ruby/models/user.rb +7 -4
- data/lib/notion-sdk-ruby/request_client.rb +45 -45
- data/lib/notion-sdk-ruby/version.rb +3 -3
- data/lib/notion-sdk-ruby.rb +36 -33
- data/notion-sdk-ruby.gemspec +41 -39
- data/todos.md +11 -0
- metadata +41 -12
- data/lib/notion-sdk-ruby/operations/search.rb +0 -12
- data/lib/notion-sdk-ruby/resources/blocks.rb +0 -33
- data/lib/notion-sdk-ruby/resources/databases.rb +0 -32
- data/lib/notion-sdk-ruby/resources/pages.rb +0 -20
- data/lib/notion-sdk-ruby/resources/users.rb +0 -15
data/Rakefile
CHANGED
@@ -1,7 +1,12 @@
|
|
1
|
-
require "bundler/gem_tasks"
|
2
|
-
require "rspec/core/rake_task"
|
3
|
-
require "standard/rake"
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
require "standard/rake"
|
4
|
+
require "yard"
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new(:spec)
|
7
|
+
|
8
|
+
YARD::Rake::YardocTask.new do |t|
|
9
|
+
t.files = ["lib/**/*.rb"]
|
10
|
+
end
|
11
|
+
|
12
|
+
task default: [:spec, :standard]
|
data/bin/console
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "pry"
|
5
|
-
require 'dotenv/load'
|
6
|
-
|
7
|
-
require "notion-sdk-ruby"
|
8
|
-
|
9
|
-
$client = Notion::Client.new(token: ENV["API_SECRET"])
|
10
|
-
|
11
|
-
Pry.start
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "pry"
|
5
|
+
require 'dotenv/load'
|
6
|
+
|
7
|
+
require "notion-sdk-ruby"
|
8
|
+
|
9
|
+
$client = Notion::Client.new(token: ENV["API_SECRET"])
|
10
|
+
|
11
|
+
Pry.start
|
data/bin/setup
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -euo pipefail
|
3
|
-
IFS=$'\n\t'
|
4
|
-
set -vx
|
5
|
-
|
6
|
-
bundle install
|
7
|
-
|
8
|
-
# Do any other automated setup that you need to do here
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -euo pipefail
|
3
|
+
IFS=$'\n\t'
|
4
|
+
set -vx
|
5
|
+
|
6
|
+
bundle install
|
7
|
+
|
8
|
+
# Do any other automated setup that you need to do here
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Notion
|
2
|
+
module Api
|
3
|
+
class BlocksMethods
|
4
|
+
include RequestClient
|
5
|
+
|
6
|
+
# @return [Notion::Api::BlocksChildrenMethods]
|
7
|
+
def children
|
8
|
+
BlocksChildrenMethods.new
|
9
|
+
end
|
10
|
+
|
11
|
+
# Retrieves a Block object using the ID specified.
|
12
|
+
# https://developers.notion.com/reference/retrieve-a-block
|
13
|
+
# @param [String] id block_id
|
14
|
+
# @return [Notion::Block]
|
15
|
+
def retrieve(id)
|
16
|
+
response = get("/v1/blocks/#{id}")
|
17
|
+
Block.new(response.body)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Updates the content for the specified block_id based on the block type.
|
21
|
+
# https://developers.notion.com/reference/update-a-block
|
22
|
+
# @param [String] id block_id
|
23
|
+
# @param [Hash] body
|
24
|
+
# @return [Notion::Block]
|
25
|
+
def update(id, body)
|
26
|
+
response = patch("/v1/blocks/#{id}", body.to_json)
|
27
|
+
Block.new(response.body)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class BlocksChildrenMethods
|
32
|
+
include RequestClient
|
33
|
+
|
34
|
+
# Returns a paginated array of child block objects contained in the block
|
35
|
+
# using the ID specified.
|
36
|
+
# https://developers.notion.com/reference/get-block-children
|
37
|
+
# @param [String] id block_id
|
38
|
+
# @param [Hash] query
|
39
|
+
# @return [Array<Notion::Block>]
|
40
|
+
def list(id, query = {})
|
41
|
+
response = get("/v1/blocks/#{id}/children", query)
|
42
|
+
List.new(response.body)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Creates and appends new children blocks to the parent block_id specified.
|
46
|
+
# https://developers.notion.com/reference/patch-block-children
|
47
|
+
# @param [String] id block_id
|
48
|
+
# @param [Hash] body
|
49
|
+
# @return [Array<Notion::Block>]
|
50
|
+
def append(id, body)
|
51
|
+
response = patch("/v1/blocks/#{id}/children", body.to_json)
|
52
|
+
List.new(response.body)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Notion
|
2
|
+
module Api
|
3
|
+
class DatabasesMethods
|
4
|
+
include RequestClient
|
5
|
+
|
6
|
+
# Retrieves a Database object using the ID specified.
|
7
|
+
# https://developers.notion.com/reference/retrieve-a-database
|
8
|
+
# @param [String] id database_id
|
9
|
+
# @return [Notion::Database]
|
10
|
+
def retrieve(id)
|
11
|
+
response = get("/v1/databases/#{id}")
|
12
|
+
Database.new(response.body)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Gets a list of Pages contained in the database, filtered and ordered according
|
16
|
+
# to the filter conditions and sort criteria provided in the request.
|
17
|
+
# https://developers.notion.com/reference/post-database-query
|
18
|
+
# @param [String] id database_id
|
19
|
+
# @param [Hash] body
|
20
|
+
# @return [Array<Notion::Database>]
|
21
|
+
def query(id, body)
|
22
|
+
response = post("/v1/databases/#{id}/query", body.to_json)
|
23
|
+
List.new(response.body)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Creates a database as a subpage in the specified parent page, with the
|
27
|
+
# specified properties schema.
|
28
|
+
# https://developers.notion.com/reference/create-a-database
|
29
|
+
# @param [Hash] body
|
30
|
+
# @return [Notion::Database]
|
31
|
+
def create(body)
|
32
|
+
response = post("/v1/databases", body.to_json)
|
33
|
+
Database.new(response.body)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Updates an existing database as specified by the parameters.
|
37
|
+
# https://developers.notion.com/reference/update-a-database
|
38
|
+
# @param [String] id database_id
|
39
|
+
# @param [Hash] body
|
40
|
+
# @return [Notion::Database]
|
41
|
+
def update(id, body)
|
42
|
+
response = patch("/v1/databases/#{id}", body.to_json)
|
43
|
+
Database.new(response.body)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Notion
|
2
|
+
module Api
|
3
|
+
class PagesMethods
|
4
|
+
include RequestClient
|
5
|
+
|
6
|
+
# Retrieves a Page object using the ID specified.
|
7
|
+
# https://developers.notion.com/reference/retrieve-a-page
|
8
|
+
# @param [String] id page_id
|
9
|
+
# @return [Notion::Page]
|
10
|
+
def retrieve(id)
|
11
|
+
response = get("/v1/pages/#{id}")
|
12
|
+
Page.new(response.body)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Creates a new page in the specified database or as a child of
|
16
|
+
# an existing page.
|
17
|
+
# https://developers.notion.com/reference/post-page
|
18
|
+
# @param [Hash] body
|
19
|
+
# @return [Notion::Page]
|
20
|
+
def create(body)
|
21
|
+
response = post("/v1/pages", body.to_json)
|
22
|
+
Page.new(response.body)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Updates page property values for the specified page.
|
26
|
+
# https://developers.notion.com/reference/patch-page
|
27
|
+
# @param [String] id page_id
|
28
|
+
# @param [Hash] body
|
29
|
+
# @return [Notion::Page]
|
30
|
+
def update(id, body)
|
31
|
+
response = patch("/v1/pages/#{id}", body.to_json)
|
32
|
+
Page.new(response.body)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Notion
|
2
|
+
module Api
|
3
|
+
module SearchMethods
|
4
|
+
include RequestClient
|
5
|
+
|
6
|
+
# Searches all original pages, databases, and child pages/databases
|
7
|
+
# that are shared with the integration.
|
8
|
+
# https://developers.notion.com/reference/post-search
|
9
|
+
# @param [Hash] body
|
10
|
+
# @return [Array]
|
11
|
+
def search(body)
|
12
|
+
response = post("/v1/search", body.to_json)
|
13
|
+
List.new(response.body)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Notion
|
2
|
+
module Api
|
3
|
+
class UsersMethods
|
4
|
+
include RequestClient
|
5
|
+
|
6
|
+
# Returns a paginated list of Users for the workspace.
|
7
|
+
# https://developers.notion.com/reference/get-users
|
8
|
+
# @return [Array<Notion::User>]
|
9
|
+
def list
|
10
|
+
response = get("/v1/users")
|
11
|
+
List.new(response.body)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Retrieves a User using the ID specified.
|
15
|
+
# https://developers.notion.com/reference/get-user
|
16
|
+
# @param [String] id user_id
|
17
|
+
# @return [Notion::User]
|
18
|
+
def retrieve(id)
|
19
|
+
response = get("/v1/users/#{id}")
|
20
|
+
User.new(response.body)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,27 +1,30 @@
|
|
1
|
-
module Notion
|
2
|
-
class Client
|
3
|
-
include
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
Notion.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
def
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
module Notion
|
2
|
+
class Client
|
3
|
+
include Api::SearchMethods
|
4
|
+
|
5
|
+
def initialize(token:, notion_version: "2022-02-22")
|
6
|
+
Notion.api_token = token
|
7
|
+
Notion.notion_version = notion_version
|
8
|
+
end
|
9
|
+
|
10
|
+
# @return [Notion::Api::DatabasesMethods]
|
11
|
+
def databases
|
12
|
+
Api::DatabasesMethods.new
|
13
|
+
end
|
14
|
+
|
15
|
+
# @return [Notion::Api::UsersMethods]
|
16
|
+
def users
|
17
|
+
Api::UsersMethods.new
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Notion::Api::BlocksMethods]
|
21
|
+
def blocks
|
22
|
+
Api::BlocksMethods.new
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [Notion::Api::PagesMethods]
|
26
|
+
def pages
|
27
|
+
Api::PagesMethods.new
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
module Notion
|
2
|
-
class Config
|
3
|
-
attr_accessor :api_token, :notion_version
|
4
|
-
end
|
5
|
-
end
|
1
|
+
module Notion
|
2
|
+
class Config
|
3
|
+
attr_accessor :api_token, :notion_version
|
4
|
+
end
|
5
|
+
end
|
@@ -1,52 +1,52 @@
|
|
1
|
-
# Sourced from notion-sdk-js:
|
2
|
-
# https://github.com/makenotion/notion-sdk-js/blob/main/src/errors.ts
|
3
|
-
module Notion
|
4
|
-
API_ERROR_CODE = {
|
5
|
-
unauthorized: "unauthorized",
|
6
|
-
restricted_resource: "restricted_resource",
|
7
|
-
object_not_found: "object_not_found",
|
8
|
-
rate_limited: "rate_limited",
|
9
|
-
invalid_json: "invalid_json",
|
10
|
-
invalid_request_url: "invalid_request_url",
|
11
|
-
invalid_request: "invalid_request",
|
12
|
-
validation_error: "validation_error",
|
13
|
-
conflict_error: "conflict_error",
|
14
|
-
internal_server_error: "internal_server_error",
|
15
|
-
service_unavailable: "service_unavailable"
|
16
|
-
}
|
17
|
-
|
18
|
-
class ErrorFactory
|
19
|
-
def self.create(error = {})
|
20
|
-
return NotionError.new("Unknown error.") if error["message"].nil?
|
21
|
-
|
22
|
-
if API_ERROR_CODE.value?(error["code"])
|
23
|
-
APIResponseError.new(error["message"], body: error)
|
24
|
-
elsif error["request"] && error["response"] && error["timings"]
|
25
|
-
HTTPResponseError.new(error["message"], body: error)
|
26
|
-
elsif error["request"] && error["timings"]
|
27
|
-
RequestTimeoutError.new(error["message"], body: error)
|
28
|
-
else
|
29
|
-
NotionError.new(error["message"])
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
class NotionError < StandardError
|
35
|
-
attr_reader :message, :body
|
36
|
-
|
37
|
-
def initialize(message = nil, body: nil)
|
38
|
-
@message = message
|
39
|
-
@body = body
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
class RequestTimeoutError < NotionError; end
|
44
|
-
|
45
|
-
class HTTPResponseError < NotionError; end
|
46
|
-
|
47
|
-
class APIResponseError < NotionError
|
48
|
-
def code
|
49
|
-
body["code"]
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
1
|
+
# Sourced from notion-sdk-js:
|
2
|
+
# https://github.com/makenotion/notion-sdk-js/blob/main/src/errors.ts
|
3
|
+
module Notion
|
4
|
+
API_ERROR_CODE = {
|
5
|
+
unauthorized: "unauthorized",
|
6
|
+
restricted_resource: "restricted_resource",
|
7
|
+
object_not_found: "object_not_found",
|
8
|
+
rate_limited: "rate_limited",
|
9
|
+
invalid_json: "invalid_json",
|
10
|
+
invalid_request_url: "invalid_request_url",
|
11
|
+
invalid_request: "invalid_request",
|
12
|
+
validation_error: "validation_error",
|
13
|
+
conflict_error: "conflict_error",
|
14
|
+
internal_server_error: "internal_server_error",
|
15
|
+
service_unavailable: "service_unavailable"
|
16
|
+
}
|
17
|
+
|
18
|
+
class ErrorFactory
|
19
|
+
def self.create(error = {})
|
20
|
+
return NotionError.new("Unknown error.") if error["message"].nil?
|
21
|
+
|
22
|
+
if API_ERROR_CODE.value?(error["code"])
|
23
|
+
APIResponseError.new(error["message"], body: error)
|
24
|
+
elsif error["request"] && error["response"] && error["timings"]
|
25
|
+
HTTPResponseError.new(error["message"], body: error)
|
26
|
+
elsif error["request"] && error["timings"]
|
27
|
+
RequestTimeoutError.new(error["message"], body: error)
|
28
|
+
else
|
29
|
+
NotionError.new(error["message"])
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class NotionError < StandardError
|
35
|
+
attr_reader :message, :body
|
36
|
+
|
37
|
+
def initialize(message = nil, body: nil)
|
38
|
+
@message = message
|
39
|
+
@body = body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class RequestTimeoutError < NotionError; end
|
44
|
+
|
45
|
+
class HTTPResponseError < NotionError; end
|
46
|
+
|
47
|
+
class APIResponseError < NotionError
|
48
|
+
def code
|
49
|
+
body["code"]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -1,27 +1,49 @@
|
|
1
|
-
module Notion
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
module Notion
|
2
|
+
# The List object is an intermediate object that helps with pagination.
|
3
|
+
#
|
4
|
+
# https://developers.notion.com/reference/pagination
|
5
|
+
class List
|
6
|
+
# An array of endpoint-dependent objects
|
7
|
+
# @return [Array<Notion::User>]
|
8
|
+
# @return [Array<Notion::Database>]
|
9
|
+
# @return [Array<Notion::Page>]
|
10
|
+
# @return [Array<Notion::Block>]
|
11
|
+
attr_reader :data
|
12
|
+
|
13
|
+
# Used to retrieve the next page of results by passing the value as the
|
14
|
+
# start_cursor parameter to the same endpoint.
|
15
|
+
# @return [nil] if has_more is true.
|
16
|
+
# @return [string] if has_more is false.
|
17
|
+
attr_reader :next_cursor
|
18
|
+
|
19
|
+
# When the response includes the end of the list, false. Otherwise, true.
|
20
|
+
# @return [boolean]
|
21
|
+
attr_reader :has_more
|
22
|
+
|
23
|
+
def initialize(response_body)
|
24
|
+
@data = response_body["results"].map do |d|
|
25
|
+
get_model(d["object"]).new(d)
|
26
|
+
end
|
27
|
+
|
28
|
+
@next_cursor = response_body["next_cursor"]
|
29
|
+
@has_more = response_body["has_more"]
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def get_model(object_name)
|
35
|
+
case object_name
|
36
|
+
when "block"
|
37
|
+
Block
|
38
|
+
when "database"
|
39
|
+
Database
|
40
|
+
when "page"
|
41
|
+
Page
|
42
|
+
when "user"
|
43
|
+
User
|
44
|
+
else
|
45
|
+
raise NotionError.new("unimplemented object type")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -1,45 +1,45 @@
|
|
1
|
-
module Notion
|
2
|
-
module RequestClient
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
def handle_request(method, *args)
|
22
|
-
faraday_client.public_send(method, *args)
|
23
|
-
rescue Faraday::ClientError => error
|
24
|
-
error_details = JSON.parse(error.response[:body])
|
25
|
-
raise ErrorFactory.create(error_details)
|
26
|
-
rescue JSON::ParserError => error
|
27
|
-
raise NotionError.new(error.message)
|
28
|
-
end
|
29
|
-
|
30
|
-
def faraday_client
|
31
|
-
@faraday_client ||= Faraday.new(
|
32
|
-
url: "https://api.notion.com",
|
33
|
-
headers: {
|
34
|
-
"Content-Type" => "application/json",
|
35
|
-
"Notion-Version" => Notion.config.notion_version,
|
36
|
-
"Authorization" => "Bearer #{Notion.config.api_token}"
|
37
|
-
}
|
38
|
-
) do |f|
|
39
|
-
f.request :json
|
40
|
-
f.response :json
|
41
|
-
f.use Faraday::Response::RaiseError
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
1
|
+
module Notion
|
2
|
+
module RequestClient
|
3
|
+
private
|
4
|
+
|
5
|
+
def get(*args)
|
6
|
+
handle_request(:get, *args)
|
7
|
+
end
|
8
|
+
|
9
|
+
def post(*args)
|
10
|
+
handle_request(:post, *args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def patch(*args)
|
14
|
+
handle_request(:patch, *args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(*args)
|
18
|
+
handle_request(:delete, *args)
|
19
|
+
end
|
20
|
+
|
21
|
+
def handle_request(method, *args)
|
22
|
+
faraday_client.public_send(method, *args)
|
23
|
+
rescue Faraday::ClientError => error
|
24
|
+
error_details = JSON.parse(error.response[:body])
|
25
|
+
raise ErrorFactory.create(error_details)
|
26
|
+
rescue JSON::ParserError => error
|
27
|
+
raise NotionError.new(error.message)
|
28
|
+
end
|
29
|
+
|
30
|
+
def faraday_client
|
31
|
+
@faraday_client ||= Faraday.new(
|
32
|
+
url: "https://api.notion.com",
|
33
|
+
headers: {
|
34
|
+
"Content-Type" => "application/json",
|
35
|
+
"Notion-Version" => Notion.config.notion_version,
|
36
|
+
"Authorization" => "Bearer #{Notion.config.api_token}"
|
37
|
+
}
|
38
|
+
) do |f|
|
39
|
+
f.request :json
|
40
|
+
f.response :json
|
41
|
+
f.use Faraday::Response::RaiseError
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
module Notion
|
2
|
-
VERSION = "0.
|
3
|
-
end
|
1
|
+
module Notion
|
2
|
+
VERSION = "0.6.0"
|
3
|
+
end
|