Sha256: 842a7501a581256b30b1fbc292f8148ebfd84233aa8f32c7ff5b0fc7d13c5124
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true module Meibo module JapanProfile class User < ::Meibo::User module ClassMethods def define_additional_definition(klass) DataModel.define( klass, attribute_name_to_header_field_map: klass.superclass.attribute_name_to_header_field_map.merge( kana_given_name: "metadata.jp.kanaGivenName", kana_family_name: "metadata.jp.kanaFamilyName", kana_middle_name: "metadata.jp.kanaMiddleName", home_class: "metadata.jp.homeClass" ).freeze, converters: klass.superclass.converters.merge( mext_grade_code: [:grades].freeze ) ) end end module InstanceMethods # NOTE: enabled_userは必須ではないが固定 def initialize(enabled_user: true, kana_given_name: nil, kana_family_name: nil, kana_middle_name: nil, home_class: nil, **other_fields) super(enabled_user: enabled_user, **other_fields) @kana_given_name = kana_given_name @kana_family_name = kana_family_name @kana_middle_name = kana_middle_name @home_class = home_class end def home_classroom home_class && Meibo.current_roster.classes.find(home_class) end end include InstanceMethods extend ClassMethods define_additional_definition(self) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
meibo-0.27.1 | lib/meibo/japan_profile/user.rb |
meibo-0.27.0 | lib/meibo/japan_profile/user.rb |
meibo-0.26.0 | lib/meibo/japan_profile/user.rb |