Sha256: d48313361f36c2f0bb71608165ff46c3db2040b383a1883c5cfbaea07dbd5000
Contents?: true
Size: 1.98 KB
Versions: 1
Compression:
Stored size: 1.98 KB
Contents
module EnjuLibrary module EnjuUser extend ActiveSupport::Concern included do include EnjuSeed::EnjuUser has_many :basket, dependent: :destroy def self.csv_header(role: 'Librarian') User.new.to_hash(role: 'Librarian').keys end # ユーザの情報をエクスポートします。 # @param [Hash] options def to_hash(role: 'Librarian') record = { username: username, full_name: profile.try(:full_name), full_name_transcription: profile.try(:full_name_transcription), email: email, user_number: profile.try(:user_number), role: send(:role).try(:name), user_group: profile.try(:user_group).try(:name), library: profile.try(:library).try(:name), locale: profile.try(:locale), locked: access_locked?, required_role: profile.try(:required_role).try(:name), created_at: created_at, updated_at: updated_at, expired_at: profile.try(:expired_at), keyword_list: profile.try(:keyword_list), note: profile.try(:note) } if defined?(EnjuCirculation) record.merge!( checkout_icalendar_token: checkout_icalendar_token, save_checkout_history: save_checkout_history ) end if defined?(EnjuSearchLog) record.merge!( save_search_history: save_checkout_history ) end if defined?(EnjuBookmark) record.merge!( share_bookmarks: share_bookmarks ) end record end def self.export(role: 'Librarian', col_sep: "\t") file = Tempfile.create do |f| f.write User.csv_header(role: role).to_csv(col_sep: col_sep) User.find_each do |user| # f.write user.to_hash(role: role).values.to_csv(col_sep: col_sep) end f.rewind f.read end file end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
enju_library-0.4.0.rc.1 | app/models/concerns/enju_library/enju_user.rb |