class Atabodi::Client
Public Class Methods
new(schema: DEFAULT_SCHEMA)
click to toggle source
# File lib/atabodi/client.rb, line 14 def initialize(schema: DEFAULT_SCHEMA) @schema = schema client.connection.headers = client.connection.headers.merge(headers) end
Public Instance Methods
method_missing(name, *args)
click to toggle source
# File lib/atabodi/client.rb, line 19 def method_missing(name, *args) if client.respond_to?(name) client.send(name, *args) else raise NoMethodError, name end end
update_bot_icon(id:, file_path:)
click to toggle source
# File lib/atabodi/client.rb, line 27 def update_bot_icon(id:, file_path:) c = Faraday.new(url: client.base_url) do |connection| connection.request :multipart connection.request :url_encoded connection.response :json connection.adapter :net_http end # FIXME MIME TYPE params = {'bot[icon]' => Faraday::UploadIO.new(file_path, 'image/jpeg')} res = c.put("/api/bots/#{id}", params, headers) Jsonism::Response.new( client: client, resource_class: Jsonism::Resources.const_get('Bot'), response: res ) end
Private Instance Methods
client()
click to toggle source
# File lib/atabodi/client.rb, line 48 def client @client ||= Jsonism::Client.new(schema: @schema) end
headers()
click to toggle source
# File lib/atabodi/client.rb, line 52 def headers { 'User-Agent' => "Atabodi v#{Atabodi::VERSION}", } end