Sha256: b47d684a12142117faa8fa6e95874462c1e6e63a7c5606f8ff028f79a8e9e5f6

Contents?: true

Size: 542 Bytes

Versions: 7

Compression:

Stored size: 542 Bytes

Contents

require 'json'

raw = File.read 'methods.txt'
ans = JSON.generate raw.split("\n\n").map { |raw_method|
  method_ret, *decl = *raw_method.lines.map(&:strip).delete_if(&:empty?).map(&:split)
  method, ret = *method_ret
  {
    method => {
      ret: ret,
      params: decl.map { |e|
        case e.size
        when 2 then [e[0], { type: e[1], optional: true  }]
        when 3 then [e[1], { type: e[2], optional: false }]
        end
      }.to_h
    }
  }
}.inject(&:merge)
open 'methods.json', '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_json.rb
tgbot-0.1.5 tools/gen_methods_json.rb
tgbot-0.1.4 tools/gen_methods_json.rb
tgbot-0.1.3 tools/gen_methods_json.rb
tgbot-0.1.2 tools/gen_methods_json.rb
tgbot-0.1.1 tools/gen_methods_json.rb
tgbot-0.1.0 tools/gen_methods_json.rb