Sha256: 0e41ecbe6a31f9ca9a0d26329f00e79f47539f549f89f2837e057ee8ca995129
Contents?: true
Size: 1.22 KB
Versions: 5
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Meibo class JapanProfile < ::Meibo::Profile class Enrollment < ::Meibo::Enrollment ROLES = { student: "student", teacher: "teacher", administrator: "administrator", guardian: "guardian" }.freeze DataModel.define( self, attribute_name_to_header_field_map: superclass.attribute_name_to_header_field_map.merge( shusseki_no: "metadata.jp.ShussekiNo", public_flg: "metadata.jp.PublicFlg" ).freeze, converters: superclass.converters.merge( boolean: [*superclass.converters[:boolean], :public_flg].freeze, enum: { role: ROLES.values.freeze }.freeze, integer: [:shusseki_no].freeze ).freeze ) # NOTE: 児童生徒の場合primaryはfalse固定 # MEMO: 保護者の場合もそうでは? def initialize(role:, shusseki_no: nil, public_flg: nil, primary: (role == ROLES[:student] ? false : nil), **other_fields) super(role: role, primary: primary, **other_fields) @shusseki_no = shusseki_no @public_flg = public_flg end def guardian? role == ROLES[:guardian] end end end end
Version data entries
5 entries across 5 versions & 1 rubygems