Lingara Lingara لارښود لارښودونه API کتابتونونه اپلیکیشنونه جوړول ویب اپلیکیشن
ژبه: پښتو

Ruby

دا پاڼه له انګلیسي ژبې ژباړل شوې ده. که دواړه سره توپیر ولري، انګلیسي پاڼه سمه ده. انګلیسي پاڼه ولولئ

د Ruby کتابتون په RubyGems کې د lingara gem دی. دا Ruby 3.3 یا نوي ته اړتیا لري او له معیاري کتابتون څخه Net::HTTP کاروي، بې له کوم بل gem.

په عمل کې څنګه دی

  • کالونه همغږي دي. یو کلاینټ د تارونو ترمنځ شریکېدای شي، او د fork په اوږدو کې سم پاتې کېږي.
  • یو بلاک جریاني کال ته ورکړئ او هره پېښه به هغه ته وسپارل شي. بې له بلاک تاسو پرځای یې یو Enumerable جریان ترلاسه کوئ، چې ټمبل دی: غوښتنه په لومړي each یا next کې لېږل کېږي. هغه جریان چې په next لوستل کېږي یو څرګند close ته اړتیا لري.
  • پېښې په case او in سره سمون کړئ.
  • د جریان د وخته درولو لپاره، له بلاک په break ووځئ، یا close ته کال وکړئ.
  • تېروتنې له Lingara::Error میراث اخلي. retry_after د ثانیو شمېر دی، یا nil کله چې API د انتظار موده نه وي ویلې.
  • کلاینټ Lingara::Client.new ته د کلیدي آرګومانونو په ورکولو جوړ کړئ. د Net::HTTP اختیارونه په net_http_options کې ځي؛ د هغه د لوستلو مهلت د جریان د بېکارۍ مهلت هم دی.

لاندې بېلګې gem نصبوي، یو کلاینټ جوړوي، د لغتونو یو لېست په جریان کې راوړي او یوه تېروتنه اداره کوي.

Ruby

gem install lingara -v 0.1.0-alpha.6

Ruby

require "lingara"

client = Lingara::Client.new(client_id: client_id, client_secret: client_secret)

Ruby

client.generate_vocabulary(level: 2, source_lang: "en", target_lang: "zh", count: 8) do |event|
  case event
  in Lingara::GenerateVocabularyEventItem => item then puts "#{item.data.word}: #{item.data.translation}"
  else nil
  end
end

Ruby

begin
  client.get_usage
rescue Lingara::ApiError => e
  # A refusal from the API: status, code (stable) and message (localised).
  puts "#{e.status} #{e.code}: #{e.message}"
  puts "retry after #{e.retry_after}s" if e.retry_after
rescue Lingara::OAuthError => e
  # The token endpoint refused the credentials or the scopes.
  puts "#{e.status} #{e.error}: #{e.description}"
rescue Lingara::MaintenanceError => e
  puts "under maintenance"
  puts "retry after #{e.retry_after}s" if e.retry_after
rescue Lingara::TransportError => e
  # No usable answer: :connect, :tls, :reset, :timeout, and so on.
  puts "transport: #{e.kind}"
end

دا پاڼه څه رانغاړي