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



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

def to_compact_hash
  Hash[attributes.dup.delete_if { |_, v| v.nil? }.map 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



18
19
20
# File 'lib/telegram/bot/types/compactable.rb', line 18

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