lib/meibo/japan_profile/user.rb in meibo-0.21.0 vs lib/meibo/japan_profile/user.rb in meibo-0.22.0
- old
+ new
@@ -1,32 +1,43 @@
# frozen_string_literal: true
module Meibo
- class JapanProfile < ::Meibo::Profile
+ module JapanProfile
class User < ::Meibo::User
- DataModel.define(
- self,
- attribute_name_to_header_field_map: 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: superclass.converters
- )
-
- # 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
+ 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
+ )
+ end
end
- def home_classroom
- home_class && Meibo.current_roster.classes.find(home_class)
+ 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