Sha256: 807c1ec16fec29d38cc784e6ee9eacce08310eee948b09acf1bab1df35ebd764
Contents?: true
Size: 1.62 KB
Versions: 4
Compression:
Stored size: 1.62 KB
Contents
# frozen_string_literal: true module AstrologicalForecast module Facts TYPES = { 'Общий' => 'general', 'Любовный' => 'love', 'Семейный' => 'family', 'Карьерный' => 'career', 'Здоровье' => 'health', 'Тинейджер' => 'tinager', 'Флирт' => 'flirt', 'Друзья' => 'amigos' }.freeze PERIOD = { 'На сегодня' => 'today', 'На завтра' => 'tomorrow', 'На неделю' => 'week', 'На месяц' => 'month', 'На год' => 'year' }.freeze class << self def give_types TYPES.each_with_index do |type, index| puts "#{index + 1}. #{type[0]}" end puts print '> ' end def give_period PERIOD.each_with_index do |period, index| puts "#{index + 1}. #{period[0]}" end puts print '> ' end def sign_identification(signs, user_date_string) user_date = Date.parse("#{user_date_string}.2000") user_sign = nil # Для ассоциативных массивов, как и для обычных, тоже есть метод each, он кладет # в переменные блока по очереди каждую пару ключ-значение. signs.each do |_, sign| dates = sign['dates'].split('..').map do |date_string| Date.parse("#{date_string}.2000") end user_sign = sign if dates.first <= user_date && user_date <= dates.last end user_sign end end end end
Version data entries
4 entries across 4 versions & 1 rubygems