Приклади з API на Ruby

Публікуємо приклади додатків, що використовують API і написані на Ruby в академічних цілях.

Ось декілька прикладів додатків, що використовують API і написані на Ruby:

  1. Twitter Bot:

    • Опис: Цей додаток може використовувати API Twitter для автоматизації завдань, таких як твітти, ретвіти, відповіді та інше.
    • Бібліотеки: twitter gem.
    require 'twitter'
    
    client = Twitter::REST::Client.new do |config|
      config.consumer_key        = "YOUR_CONSUMER_KEY"
      config.consumer_secret     = "YOUR_CONSUMER_SECRET"
      config.access_token        = "YOUR_ACCESS_TOKEN"
      config.access_token_secret = "YOUR_ACCESS_SECRET"
    end
    
    client.update('Hello, Twitter!')
    
  2. GitHub Repository Manager:

    • Опис: Додаток для керування репозиторіями на GitHub, включаючи створення, видалення репозиторіїв та інше.
    • Бібліотеки: octokit gem.
    require 'octokit'
    
    client = Octokit::Client.new(:access_token => "YOUR_GITHUB_ACCESS_TOKEN")
    
    user = client.user
    user.login
    
    # Create a new repository
    client.create_repository('new-repo')
    
  3. Weather App:

    • Опис: Додаток для отримання прогнозу погоди за допомогою API OpenWeatherMap.
    • Бібліотеки: httparty gem.
    require 'httparty'
    
    api_key = 'YOUR_API_KEY'
    city = 'Kyiv'
    response = HTTParty.get("http://api.openweathermap.org/data/2.5/weather?q=#{city}&appid=#{api_key}&units=metric")
    
    if response.success?
      weather_data = response.parsed_response
      puts "The weather in #{city} is #{weather_data['weather'][0]['description']} with a temperature of #{weather_data['main']['temp']}°C"
    else
      puts "Failed to retrieve weather data"
    end
    
  4. Slack Notification Bot:

    • Опис: Додаток для відправки повідомлень до каналу Slack через Slack API.
    • Бібліотеки: slack-notifier gem.
    require 'slack-notifier'
    
    notifier = Slack::Notifier.new "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK" do
      defaults channel: "#general",
               username: "notifier"
    end
    
    notifier.ping "Hello, Slack!"
    
  5. Google Sheets Integration:

    • Опис: Додаток для читання та запису даних у Google Sheets за допомогою Google Sheets API.
    • Бібліотеки: google_drive gem.
    require 'google_drive'
    
    # Authorize with Google
    session = GoogleDrive::Session.from_config("config.json")
    
    # Open a spreadsheet by its title
    spreadsheet = session.spreadsheet_by_title("My Spreadsheet")
    worksheet = spreadsheet.worksheets.first
    
    # Read and write data
    worksheet[2, 1] = "Hello, world!"
    worksheet.save
    

Ці приклади демонструють, як можна використовувати різні API за допомогою Ruby, для автоматизації різних завдань, інтеграції з популярними сервісами та роботи з даними.