notion-sdk-ruby 0.5.0 → 0.6.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 +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
|