зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-08-28 15:26:18 +03:00
* Update rubopcop [WIP] * Further rubocop fixes * Fix rubocop-rails cops * Fix spec * Disable rubocop suggestions * Run rubocop in github actions rather than in codeclimate
34 строки
872 B
Ruby
34 строки
872 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'active_support/core_ext/string/inflections'
|
|
|
|
module Telegram
|
|
module Bot
|
|
class Client
|
|
module ApiHelper
|
|
METHODS_LIST_FILE = File.expand_path('api_methods.txt', __dir__)
|
|
|
|
class << self
|
|
def methods_list(file = METHODS_LIST_FILE)
|
|
File.read(file).lines.
|
|
map(&:strip).
|
|
reject { |x| x.empty? || x.start_with?('#') }
|
|
end
|
|
|
|
# Defines method with underscored name to post to specific endpoint:
|
|
#
|
|
# define_method :getMe
|
|
# # defines #get_me
|
|
def define_helpers(*list)
|
|
list.map(&:to_s).each do |method|
|
|
define_method(method.underscore) { |*args| request(method, *args) }
|
|
end
|
|
end
|
|
end
|
|
|
|
define_helpers(*methods_list)
|
|
end
|
|
end
|
|
end
|
|
end
|