notion_ruby_mapping 1.0.0 → 2.0.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/lib/notion_ruby_mapping/blocks/base.rb +51 -37
- data/lib/notion_ruby_mapping/blocks/block.rb +13 -13
- data/lib/notion_ruby_mapping/blocks/bookmark_block.rb +1 -1
- data/lib/notion_ruby_mapping/blocks/breadcrumb_block.rb +1 -1
- data/lib/notion_ruby_mapping/blocks/bulleted_list_item_block.rb +1 -1
- data/lib/notion_ruby_mapping/blocks/callout_block.rb +10 -10
- data/lib/notion_ruby_mapping/blocks/child_base_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/child_database_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/child_page_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/code_block.rb +7 -7
- data/lib/notion_ruby_mapping/blocks/column_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/column_list_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/database.rb +5 -5
- data/lib/notion_ruby_mapping/blocks/divider_block.rb +1 -1
- data/lib/notion_ruby_mapping/blocks/embed_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/equation_block.rb +5 -5
- data/lib/notion_ruby_mapping/blocks/file_base_block.rb +15 -3
- data/lib/notion_ruby_mapping/blocks/file_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/heading1_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/heading2_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/heading3_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/image_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/link_preview_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/link_to_page_block.rb +5 -5
- data/lib/notion_ruby_mapping/blocks/list.rb +21 -21
- data/lib/notion_ruby_mapping/blocks/numbered_list_item_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/page.rb +8 -8
- data/lib/notion_ruby_mapping/blocks/paragraph_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/pdf_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/quote_block.rb +1 -1
- data/lib/notion_ruby_mapping/blocks/synced_block.rb +5 -5
- data/lib/notion_ruby_mapping/blocks/table_block.rb +8 -8
- data/lib/notion_ruby_mapping/blocks/table_of_contents_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/table_row_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/template_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/text_sub_block_color_base_block.rb +4 -4
- data/lib/notion_ruby_mapping/blocks/to_do_block.rb +4 -4
- data/lib/notion_ruby_mapping/blocks/toggle_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/toggle_heading1_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/toggle_heading2_block.rb +2 -2
- data/lib/notion_ruby_mapping/blocks/toggle_heading3_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/url_base_block.rb +3 -3
- data/lib/notion_ruby_mapping/blocks/url_caption_base_block.rb +4 -4
- data/lib/notion_ruby_mapping/blocks/video_block.rb +2 -2
- data/lib/notion_ruby_mapping/controllers/mermaid.rb +2 -5
- data/lib/notion_ruby_mapping/controllers/mermaid_database.rb +29 -32
- data/lib/notion_ruby_mapping/controllers/notion_cache.rb +68 -2
- data/lib/notion_ruby_mapping/controllers/payload.rb +29 -11
- data/lib/notion_ruby_mapping/controllers/property_cache.rb +8 -9
- data/lib/notion_ruby_mapping/controllers/query.rb +14 -14
- data/lib/notion_ruby_mapping/controllers/search.rb +5 -5
- data/lib/notion_ruby_mapping/objects/comment_object.rb +2 -2
- data/lib/notion_ruby_mapping/objects/emoji_object.rb +3 -3
- data/lib/notion_ruby_mapping/objects/equation_object.rb +3 -3
- data/lib/notion_ruby_mapping/objects/file_object.rb +44 -21
- data/lib/notion_ruby_mapping/objects/file_upload_object.rb +78 -0
- data/lib/notion_ruby_mapping/objects/mention_object.rb +43 -43
- data/lib/notion_ruby_mapping/objects/rich_text_object.rb +43 -43
- data/lib/notion_ruby_mapping/objects/text_object.rb +5 -5
- data/lib/notion_ruby_mapping/objects/user_object.rb +4 -4
- data/lib/notion_ruby_mapping/properties/button_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/checkbox_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/created_by_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/created_time_property.rb +2 -2
- data/lib/notion_ruby_mapping/properties/date_base_property.rb +15 -14
- data/lib/notion_ruby_mapping/properties/date_property.rb +16 -16
- data/lib/notion_ruby_mapping/properties/email_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/files_property.rb +14 -12
- data/lib/notion_ruby_mapping/properties/formula_property.rb +7 -7
- data/lib/notion_ruby_mapping/properties/last_edited_by_property.rb +4 -3
- data/lib/notion_ruby_mapping/properties/last_edited_time_property.rb +2 -2
- data/lib/notion_ruby_mapping/properties/multi_select_property.rb +15 -15
- data/lib/notion_ruby_mapping/properties/number_property.rb +9 -9
- data/lib/notion_ruby_mapping/properties/people_property.rb +7 -7
- data/lib/notion_ruby_mapping/properties/phone_number_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/property.rb +55 -56
- data/lib/notion_ruby_mapping/properties/relation_property.rb +17 -18
- data/lib/notion_ruby_mapping/properties/rich_text_property.rb +5 -5
- data/lib/notion_ruby_mapping/properties/rollup_property.rb +15 -15
- data/lib/notion_ruby_mapping/properties/select_property.rb +14 -14
- data/lib/notion_ruby_mapping/properties/status_property.rb +5 -5
- data/lib/notion_ruby_mapping/properties/text_property.rb +1 -1
- data/lib/notion_ruby_mapping/properties/title_property.rb +7 -7
- data/lib/notion_ruby_mapping/properties/unique_id_property.rb +4 -4
- data/lib/notion_ruby_mapping/properties/url_property.rb +3 -3
- data/lib/notion_ruby_mapping/properties/verification_property.rb +3 -3
- data/lib/notion_ruby_mapping/version.rb +1 -1
- data/lib/notion_ruby_mapping.rb +1 -1
- data/notion_ruby_mapping.gemspec +2 -0
- metadata +35 -3
@@ -3,18 +3,18 @@
|
|
3
3
|
module NotionRubyMapping
|
4
4
|
# TitleProperty
|
5
5
|
class TitleProperty < TextProperty
|
6
|
-
TYPE =
|
6
|
+
TYPE = "title"
|
7
7
|
|
8
8
|
### Not public announced methods
|
9
9
|
|
10
10
|
## Common methods
|
11
11
|
|
12
12
|
def self.rich_text_array_from_json(json)
|
13
|
-
if json[
|
14
|
-
rich_text_objects = List.new(json: json, type:
|
15
|
-
RichTextArray.rich_text_array
|
13
|
+
if json["object"] == "list"
|
14
|
+
rich_text_objects = List.new(json: json, type: "property", value: self).select { true }
|
15
|
+
RichTextArray.rich_text_array "title", rich_text_objects
|
16
16
|
else
|
17
|
-
RichTextArray.new
|
17
|
+
RichTextArray.new "title", json: json["title"]
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -43,8 +43,8 @@ module NotionRubyMapping
|
|
43
43
|
text_json = map(&:property_values_json)
|
44
44
|
{
|
45
45
|
@name => {
|
46
|
-
type
|
47
|
-
title
|
46
|
+
"type" => "title",
|
47
|
+
"title" => text_json.empty? ? @json : text_json,
|
48
48
|
},
|
49
49
|
}
|
50
50
|
end
|
@@ -6,7 +6,7 @@ module NotionRubyMapping
|
|
6
6
|
include EqualsDoesNotEqual
|
7
7
|
include GreaterThanLessThan
|
8
8
|
include IsEmptyIsNotEmpty
|
9
|
-
TYPE =
|
9
|
+
TYPE = "unique_id"
|
10
10
|
|
11
11
|
### Public announced methods
|
12
12
|
|
@@ -27,7 +27,7 @@ module NotionRubyMapping
|
|
27
27
|
|
28
28
|
# @param [String] name Property name
|
29
29
|
# @param [Float, Integer, Hash] json Number value or format Hash
|
30
|
-
def initialize(name, will_update: false, base_type:
|
30
|
+
def initialize(name, will_update: false, base_type: "page", json: nil, property_id: nil, property_cache: nil)
|
31
31
|
super name, will_update: will_update, base_type: base_type, property_id: property_id, property_cache: property_cache
|
32
32
|
@json = json
|
33
33
|
@json ||= {} if database?
|
@@ -37,7 +37,7 @@ module NotionRubyMapping
|
|
37
37
|
# @return [NotionRubyMapping::NumberProperty]
|
38
38
|
def update_from_json(json)
|
39
39
|
@will_update = false
|
40
|
-
@json = json[
|
40
|
+
@json = json["unique_id"]
|
41
41
|
self
|
42
42
|
end
|
43
43
|
|
@@ -48,7 +48,7 @@ module NotionRubyMapping
|
|
48
48
|
# @return [Hash]
|
49
49
|
def property_values_json
|
50
50
|
assert_page_property __method__
|
51
|
-
{@name => {unique_id
|
51
|
+
{@name => {"unique_id" => @json, "type" => "unique_id"}}
|
52
52
|
end
|
53
53
|
|
54
54
|
## Database property only methods
|
@@ -7,7 +7,7 @@ module NotionRubyMapping
|
|
7
7
|
include ContainsDoesNotContain
|
8
8
|
include StartsWithEndsWith
|
9
9
|
include IsEmptyIsNotEmpty
|
10
|
-
TYPE =
|
10
|
+
TYPE = "url"
|
11
11
|
|
12
12
|
### Public announced methods
|
13
13
|
|
@@ -34,7 +34,7 @@ module NotionRubyMapping
|
|
34
34
|
## Common methods
|
35
35
|
|
36
36
|
# @param [String, Symbol] name Property name
|
37
|
-
def initialize(name, will_update: false, base_type:
|
37
|
+
def initialize(name, will_update: false, base_type: "page", json: nil, property_id: nil, property_cache: nil)
|
38
38
|
super name, will_update: will_update, base_type: base_type, property_id: property_id,
|
39
39
|
property_cache: property_cache
|
40
40
|
@json = json || (database? ? {} : nil)
|
@@ -45,7 +45,7 @@ module NotionRubyMapping
|
|
45
45
|
# @return [Hash]
|
46
46
|
def property_values_json
|
47
47
|
assert_page_property __method__
|
48
|
-
{@name => {url
|
48
|
+
{@name => {"url" => @json, "type" => "url"}}
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module NotionRubyMapping
|
4
4
|
# Status property
|
5
5
|
class VerificationProperty < Property
|
6
|
-
TYPE =
|
6
|
+
TYPE = "verification"
|
7
7
|
|
8
8
|
### Public announced methods
|
9
9
|
|
@@ -24,7 +24,7 @@ module NotionRubyMapping
|
|
24
24
|
|
25
25
|
# @param [String, Symbol] name Property name
|
26
26
|
# @param [Boolean, Hash] json
|
27
|
-
def initialize(name, will_update: false, base_type:
|
27
|
+
def initialize(name, will_update: false, base_type: "page", property_id: nil, property_cache: nil, json: {})
|
28
28
|
super name, will_update: will_update, base_type: base_type, property_id: property_id,
|
29
29
|
property_cache: property_cache
|
30
30
|
@json = json
|
@@ -35,7 +35,7 @@ module NotionRubyMapping
|
|
35
35
|
# @return [Hash]
|
36
36
|
def property_values_json
|
37
37
|
assert_page_property __method__
|
38
|
-
{@name => {verification
|
38
|
+
{@name => {"verification" => @json, "type" => TYPE}}
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
data/lib/notion_ruby_mapping.rb
CHANGED
@@ -15,7 +15,7 @@ require_relative "notion_ruby_mapping/version"
|
|
15
15
|
controllers: %w[notion_cache payload property_cache query rich_text_array discussion_thread search mermaid
|
16
16
|
mermaid_database],
|
17
17
|
objects: %w[rich_text_object emoji_object equation_object file_object mention_object text_object user_object
|
18
|
-
comment_object],
|
18
|
+
comment_object file_upload_object],
|
19
19
|
properties: %w[property checkbox_property multi_property created_by_property date_base_property created_time_property
|
20
20
|
date_property email_property files_property formula_property last_edited_by_property
|
21
21
|
last_edited_time_property multi_select_property number_property people_property phone_number_property
|
data/notion_ruby_mapping.gemspec
CHANGED
@@ -35,6 +35,8 @@ Gem::Specification.new do |spec|
|
|
35
35
|
# spec.add_dependency "example-gem", "~> 1.0"
|
36
36
|
|
37
37
|
spec.add_dependency "faraday"
|
38
|
+
spec.add_dependency "faraday-multipart"
|
39
|
+
spec.add_dependency "mime-types"
|
38
40
|
|
39
41
|
spec.add_development_dependency "guard"
|
40
42
|
spec.add_development_dependency "guard-rspec"
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: notion_ruby_mapping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroyuki KOBAYASHI
|
8
|
+
autorequire:
|
8
9
|
bindir: exe
|
9
10
|
cert_chain: []
|
10
|
-
date:
|
11
|
+
date: 2025-06-26 00:00:00.000000000 Z
|
11
12
|
dependencies:
|
12
13
|
- !ruby/object:Gem::Dependency
|
13
14
|
name: faraday
|
@@ -23,6 +24,34 @@ dependencies:
|
|
23
24
|
- - ">="
|
24
25
|
- !ruby/object:Gem::Version
|
25
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-multipart
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mime-types
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
26
55
|
- !ruby/object:Gem::Dependency
|
27
56
|
name: guard
|
28
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,6 +241,7 @@ files:
|
|
212
241
|
- lib/notion_ruby_mapping/objects/emoji_object.rb
|
213
242
|
- lib/notion_ruby_mapping/objects/equation_object.rb
|
214
243
|
- lib/notion_ruby_mapping/objects/file_object.rb
|
244
|
+
- lib/notion_ruby_mapping/objects/file_upload_object.rb
|
215
245
|
- lib/notion_ruby_mapping/objects/mention_object.rb
|
216
246
|
- lib/notion_ruby_mapping/objects/rich_text_object.rb
|
217
247
|
- lib/notion_ruby_mapping/objects/text_object.rb
|
@@ -250,6 +280,7 @@ homepage: https://github.com/hkob/notion_ruby_mapping.git
|
|
250
280
|
licenses:
|
251
281
|
- MIT
|
252
282
|
metadata: {}
|
283
|
+
post_install_message:
|
253
284
|
rdoc_options: []
|
254
285
|
require_paths:
|
255
286
|
- lib
|
@@ -264,7 +295,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
295
|
- !ruby/object:Gem::Version
|
265
296
|
version: '0'
|
266
297
|
requirements: []
|
267
|
-
rubygems_version: 3.
|
298
|
+
rubygems_version: 3.5.11
|
299
|
+
signing_key:
|
268
300
|
specification_version: 4
|
269
301
|
summary: Notion Ruby mapping tool
|
270
302
|
test_files: []
|