Class: NotionRubyMapping::Payload

Inherits:
Object
  • Object
show all
Defined in:
lib/notion_ruby_mapping/payload.rb

Overview

Payload class

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ Payload

Returns a new instance of Payload.



6
7
8
# File 'lib/notion_ruby_mapping/payload.rb', line 6

def initialize(json)
  @json = json || {}
end

Instance Method Details

#clearHash

Returns {}.

Returns:

  • (Hash)

    {}



32
33
34
# File 'lib/notion_ruby_mapping/payload.rb', line 32

def clear
  @json = {}
end

#property_values_json(optional_json = nil) ⇒ Hash

Returns created json.

Parameters:

  • optional_json (Hash) (defaults to: nil)

Returns:

  • (Hash)

    created json



27
28
29
# File 'lib/notion_ruby_mapping/payload.rb', line 27

def property_values_json(optional_json = nil)
  @json.merge(optional_json || {})
end

#set_icon(emoji: nil, url: nil) ⇒ NotionRubyMapping::Payload

Returns updated Payload.

Parameters:

  • emoji (String) (defaults to: nil)
  • url (String) (defaults to: nil)

Returns:



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/notion_ruby_mapping/payload.rb', line 13

def set_icon(emoji: nil, url: nil)
  payload = if emoji
              {"type" => "emoji", "emoji" => emoji}
            elsif url
              {"type" => "external", "external" => {"url" => url}}
            else
              {}
            end
  @json["icon"] = payload
  self
end