Sha256: ebbea01c255e1b1c6abdf649fac44a2d5748b185bc5c3692e07b3c9c9ea2a39a

Contents?: true

Size: 640 Bytes

Versions: 7

Compression:

Stored size: 640 Bytes

Contents

require 'json'

methods = JSON.load File.read 'methods.json'
ans = methods.map { |method, decl|
  ret, params = decl['ret'], decl['params']
  max_length = [params.keys.map(&:length).max || 0, method.length - 4].max
  patch = -> x { if x.is_a? Array and x.size > 1 then x.join('|') else x end }
  <<~EOF
    #{"%-#{max_length + 4}s" % method} #{ret ? patch[ret].inspect.delete('"') : ''}
      #{params.map { |param, attr|
        "#{attr['optional'] ? ' ' : '*'} #{"%-#{max_length}s" % param} #{patch[attr['type']].inspect.delete('"')}"
      }.join("\n  ")}
  EOF
}.join("\n")
open 'methods.txt', 'w' do |f| f.write ans end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tgbot-0.1.6 tools/gen_methods_txt.rb
tgbot-0.1.5 tools/gen_methods_txt.rb
tgbot-0.1.4 tools/gen_methods_txt.rb
tgbot-0.1.3 tools/gen_methods_txt.rb
tgbot-0.1.2 tools/gen_methods_txt.rb
tgbot-0.1.1 tools/gen_methods_txt.rb
tgbot-0.1.0 tools/gen_methods_txt.rb