Module: AstrologicalForecast::Facts
- Defined in:
- lib/astrological_forecast/facts.rb
Constant Summary collapse
- TYPES =
{ 'Общий' => 'general', 'Любовный' => 'love', 'Семейный' => 'family', 'Карьерный' => 'career', 'Здоровье' => 'health', 'Тинейджер' => 'tinager', 'Флирт' => 'flirt', 'Друзья' => 'amigos' }.freeze
- PERIOD =
{ 'На сегодня' => 'today', 'На завтра' => 'tomorrow', 'На неделю' => 'week', 'На месяц' => 'month', 'На год' => 'year' }.freeze
Class Method Summary collapse
Class Method Details
.give_period ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/astrological_forecast/facts.rb', line 35 def give_period PERIOD.each_with_index do |period, index| puts "#{index + 1}. #{period[0]}" end puts print '> ' end |
.give_types ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/astrological_forecast/facts.rb', line 25 def give_types TYPES.each_with_index do |type, index| puts "#{index + 1}. #{type[0]}" end puts print '> ' end |
.sign_identification(signs, user_date_string) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/astrological_forecast/facts.rb', line 43 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 |