notion_ruby_mapping 0.3.2 → 0.3.3
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/README.md +8 -3
- data/lib/notion_ruby_mapping/base.rb +4 -1
- data/lib/notion_ruby_mapping/database.rb +6 -2
- data/lib/notion_ruby_mapping/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1d0dd6fcc42d250f8da729a07d788c2f2dd49739cc8810edde17c4eea913f06
|
4
|
+
data.tar.gz: d9c7822db6b4d40505626d95e7e947c8436ca9d2ff0d61409cf15dba30adb97d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b568105ff9e1acb644432233c3d2e8de8c7b3151d27f014a331437b90459d3afde4e25f4fd2a0e429149f781fe01cb77664fd12ac00e5990ab64780a031faf1d
|
7
|
+
data.tar.gz: 1f5871c01afe0aae9d15a978b3dfc85ed641b5017210247dc9e80b451afb857e15f0404aaefe3983a27596759a1e7bc4997c21d3c970742d342e6948f035bfd6
|
data/README.md
CHANGED
@@ -526,11 +526,15 @@ print db.query_database query, dry_run: true
|
|
526
526
|
|
527
527
|
#### 4.2.3 Create child page
|
528
528
|
|
529
|
-
`create_child_page` creates a child page object of the database. After setting some properties, please call `page.save` to send page information to Notion. Properties of the created child page are automatically assigned using the parent database.
|
529
|
+
`create_child_page` creates a child page object of the database. After setting some properties, please call `page.save` to send page information to Notion. Properties of the created child page are automatically assigned using the parent database. if a block is provided, the method will yield the new Page object and the properties (PropertyCache object) to that block for initialization.
|
530
530
|
|
531
531
|
```Ruby
|
532
|
-
page = db.create_child_page
|
533
|
-
|
532
|
+
page = db.create_child_page do |p, pp|
|
533
|
+
# p is the new Page object
|
534
|
+
# pp is the properties of the new Page object (PropertyCache Object)
|
535
|
+
p.set_icon emoji: "🎉"
|
536
|
+
pp["Name"] << "New Page"
|
537
|
+
end
|
534
538
|
page.save
|
535
539
|
```
|
536
540
|
|
@@ -1268,6 +1272,7 @@ textMentionObjects = RichTextArray.new "title", [TextObject.new("A TextObject"),
|
|
1268
1272
|
|
1269
1273
|
## 6. ChangeLog
|
1270
1274
|
|
1275
|
+
- 2022/3/27 create_child_page can receive a block for initialization.
|
1271
1276
|
- 2022/3/27 properties of a created child page are automatically assigned using the parent database.
|
1272
1277
|
- 2022/3/25 added create_child_database, update_database, add_property, rename_property and remove_property
|
1273
1278
|
- 2022/3/17 added template_mention objects, tools/an command
|
@@ -19,7 +19,10 @@ module NotionRubyMapping
|
|
19
19
|
@property_cache = nil
|
20
20
|
@created_time = nil
|
21
21
|
@last_edited_time = nil
|
22
|
+
return if assign.empty?
|
23
|
+
|
22
24
|
assign.each_slice(2) { |(klass, key)| assign_property(klass, key) }
|
25
|
+
@json ||= {}
|
23
26
|
end
|
24
27
|
attr_reader :json, :id
|
25
28
|
|
@@ -173,7 +176,7 @@ module NotionRubyMapping
|
|
173
176
|
# @param [Hash] json
|
174
177
|
# @return [NotionRubyMapping::Base]
|
175
178
|
def update_json(json)
|
176
|
-
raise StandardError, json.inspect unless json["object"] != "error" && @json.nil? || @json["type"] == json["type"]
|
179
|
+
raise StandardError, json.inspect unless json["object"] != "error" && (@json.nil? || @json["type"] == json["type"])
|
177
180
|
|
178
181
|
@json = json
|
179
182
|
@id = @nc.hex_id(@json["id"])
|
@@ -30,8 +30,12 @@ module NotionRubyMapping
|
|
30
30
|
# @param [Array<Property, Class, String>] assign
|
31
31
|
# @return [NotionRubyMapping::Base]
|
32
32
|
def create_child_page(*assign)
|
33
|
-
assign = properties.map { |p| [p.class, p.name
|
34
|
-
Page.new assign: assign, parent: {"database_id" => @id}
|
33
|
+
assign = properties.map { |p| [p.class, p.name] }.flatten if assign.empty?
|
34
|
+
page = Page.new assign: assign, parent: {"database_id" => @id}
|
35
|
+
pp = page.properties
|
36
|
+
pp.clear_will_update
|
37
|
+
yield page, pp if block_given?
|
38
|
+
page
|
35
39
|
end
|
36
40
|
|
37
41
|
# @return [NotionRubyMapping::RichTextArray]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: notion_ruby_mapping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroyuki KOBAYASHI
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|