Skip to content

OlegPhenomenon/thinknetica-OOP-design-workshop

Repository files navigation

Домашнее задание №1 для Воркшопа - Объектно-ориентированный дизайн в Ruby

  • Перед началом установить пакеты - bundle
  • Запустить тесты - rspec
  • Запустить задание - ruby main.rb

WeatherReporter - использует открытое API - Open Weather Api. Чтобы запустить, необходимо добавить ключ в .env файл

Более подробная документация https://openweathermap.org/current

Параметры:

  • Класс WeatherReporter принимает следующее:
    • lat, lon - долгота, ширина
    • temperature_type:
      • “s” - Standart - по умолчанию
      • “c” - Metrics
      • “f” - Imperial
    • extended_output - true - вывести сообщение, false - вернуть значение
    • lang - дополнительный параметр языка

WheatherPreciter

WheatherPredicter - используется для предсказание погоды в указанный день и месяц. использует фиктивные рандомные данные и генерирует среднее значения. День может быть любым, а у каждого месяца свой диапозон рандомных значений.

Параметры:

  • Класс WheatherPredicter принимает следующее:
    • lat, lon - долгота, ширина
    • extended_output - true - вывести сообщение, false - вернуть значение
    • day - день
    • month - месяц
    • mode - способы предсказания:
      • “c” - по-умолчанию. Вычитает среднию температуру за 10 лет
    • temperature_type - метрика:
      • “c” - по Цельсию
      • “f” - по Фаренгейту

Factory - Назначает фабрику в зависимости от типа.

Параметры:

  • factory_type - тип фабрики:
    • “ice_cream” - класс IceCreamFactory
    • kwargs - передает параметры к классу, который генерирует

IceCream::Factory - Фабрика мороженного

Инициализирцется следующими параметрами:

  • ice_cream_class - возвращает класс типа мороженного:
    • ‘stick’ - на палочке
    • ‘cup’ - в стаканчике
  • package_type - возвращает класс упоквки
    • ‘foil’ - класс типа FoilPackage
  • quantity - количество
  • is_predict - принимает значения true : false. Если предсказание включено, то взависимости от того, какая температура получится, меняет количество. Если отключено, то генерирует в точности, сколько передано в параметр

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages