Skip to content

Instantly share code, notes, and snippets.

@fujimogn
Created February 12, 2022 18:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fujimogn/bc1c2f979366522ce063c4538d39cd5f to your computer and use it in GitHub Desktop.
Save fujimogn/bc1c2f979366522ce063c4538d39cd5f to your computer and use it in GitHub Desktop.
# frozen_string_literal: true
module UserDecorator
include PersonDecorator
SCHOOL_AGE = [
[ 0, nil, nil, '未就学' ],
[ 1, nil, nil, '未就学' ],
[ 2, nil, nil, '未就学' ],
[ 3, nil, '年少', '未就学' ],
[ 4, nil, '年中', '未就学' ],
[ 5, nil, '年長', '未就学' ],
[ 6, 1, '小学1年', '小学校' ],
[ 7, 2, '小学2年', '小学校' ],
[ 8, 3, '小学3年', '小学校' ],
[ 9, 4, '小学4年', '小学校' ],
[ 10, 5, '小学5年', '小学校' ],
[ 11, 6, '小学6年', '小学校' ],
[ 12, 1, '中学1年', '中学校' ],
[ 13, 2, '中学2年', '中学校' ],
[ 14, 3, '中学3年', '中学校' ],
[ 15, 1, '高等1年', '高等学校' ],
[ 16, 2, '高等2年', '高等学校' ],
[ 17, 3, '高等3年', '高等学校' ],
].freeze
# 学年度年齢
def school_age
return if age > 18
# 現在が4月未満なら1引いた年が学校年度
current_school_year = Time.current.month < 4 ? Time.current.year - 1 : Time.current.year
old = ((Time.new(current_school_year,4,1) - birth_date.to_time) / (60 * 60 * 24 * 365)).floor
end
# 学年年
def school_year
SCHOOL_AGE[school_age][1]
end
# 学年名
def school_year_name
SCHOOL_AGE[school_age][2]
end
# 学校種別
def school_year_type
SCHOOL_AGE[school_age][3]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment