songtianlun
d728d7f50e
- Created BatchGenerateWeatherArtsJob to process eligible cities and generate weather art. - Introduced GenerateWeatherArtJob for generating weather art and image attachment. - Added AiService for obtaining prompts and generating images with OpenAI API. - Implemented WeatherService to fetch current weather data from the QWeather API. - Updated Gemfile with necessary gems (whenever, ruby-openai, httparty, down, aws-sdk-s3). This commit introduces a system to create and store weather art images for various cities based on current weather conditions, leveraging external APIs for data and image generation.
79 lines
2.6 KiB
Ruby
79 lines
2.6 KiB
Ruby
source "https://rubygems.org"
|
|
|
|
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
gem "rails", "~> 8.0.1"
|
|
# The modern asset pipeline for Rails [https://github.com/rails/propshaft]
|
|
gem "propshaft"
|
|
# Use sqlite3 as the database for Active Record
|
|
gem "sqlite3", ">= 2.1"
|
|
# Use the Puma web server [https://github.com/puma/puma]
|
|
gem "puma", ">= 5.0"
|
|
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]
|
|
gem "jsbundling-rails"
|
|
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
gem "turbo-rails"
|
|
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
gem "stimulus-rails"
|
|
# Bundle and process CSS [https://github.com/rails/cssbundling-rails]
|
|
gem "cssbundling-rails"
|
|
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
gem "jbuilder"
|
|
|
|
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
# gem "bcrypt", "~> 3.1.7"
|
|
|
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
gem "tzinfo-data", platforms: %i[ windows jruby ]
|
|
|
|
# Use the database-backed adapters for Rails.cache, Active Job, and Action Cable
|
|
gem "solid_cache"
|
|
gem "solid_queue"
|
|
gem "solid_cable"
|
|
|
|
# Reduces boot times through caching; required in config/boot.rb
|
|
gem "bootsnap", require: false
|
|
|
|
# Deploy this application anywhere as a Docker container [https://kamal-deploy.org]
|
|
gem "kamal", require: false
|
|
|
|
# Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/]
|
|
gem "thruster", require: false
|
|
|
|
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
|
# gem "image_processing", "~> 1.2"
|
|
gem "devise", "~> 4.9"
|
|
gem "activeadmin", "~> 3.2"
|
|
gem "friendly_id", "~> 5.5"
|
|
|
|
gem "whenever", "~> 1.0"
|
|
gem "ruby-openai", "~> 7.3"
|
|
gem "httparty", "~> 0.22.0"
|
|
gem "down", "~> 5.4"
|
|
gem "aws-sdk-s3", "~> 1.177"
|
|
|
|
group :development, :test do
|
|
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
|
gem "debug", platforms: %i[ mri windows ], require: "debug/prelude"
|
|
|
|
# Static analysis for security vulnerabilities [https://brakemanscanner.org/]
|
|
gem "brakeman", require: false
|
|
|
|
# Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/]
|
|
gem "rubocop-rails-omakase", require: false
|
|
end
|
|
|
|
group :development do
|
|
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
gem "web-console"
|
|
end
|
|
|
|
group :production do
|
|
gem "pg", "~> 1.5"
|
|
end
|
|
|
|
group :test do
|
|
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
gem "capybara"
|
|
gem "selenium-webdriver"
|
|
end
|