Module: Telegram::Bot::Types::Compactable

Included in:
Base, Chat
Defined in:
lib/telegram/bot/types/compactable.rb

Instance Method Summary collapse

Instance Method Details

#to_compact_hashObject



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/telegram/bot/types/compactable.rb', line 7

def to_compact_hash
  attributes.dup.delete_if { |_, v| v.nil? }.to_h do |key, value|
    value =
      if value.respond_to?(:to_compact_hash)
        value.to_compact_hash
      else
        value
      end

    [key, value]
  end
end

#to_json(*args) ⇒ Object



20
21
22
# File 'lib/telegram/bot/types/compactable.rb', line 20

def to_json(*args)
  to_compact_hash.select { |_, v| v }.to_json(*args)
end