enju_seed 0.2.0.beta.3 → 0.2.0.beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11f3e1c85c51afd3ee4e937a209490c475de0dc7
4
- data.tar.gz: 3a676f676d5a482ec2e93ec225cb8551c82fc7ad
3
+ metadata.gz: a96125489ac0d079b2bb9baa785cd6e91dee805e
4
+ data.tar.gz: 8c3751cdaade27f93111bc092d709d72a24ad870
5
5
  SHA512:
6
- metadata.gz: 8e81bf6c88991fdedce594a430204c5d6811ae069a8aba8251724b1e621770a8aa4099c6cbec7bc9dd6391729b6cc3519a10bdf04def59aba4cea4461c4a15f4
7
- data.tar.gz: e5d606d675b7256c6d27b561978015ba2c9ea0a300edac27d6c219f98ae8a73270a7b0497e7ea0863c74a421ec2d8d06aefbafa078d802e1aafd13b82cc03e96
6
+ metadata.gz: 897bcd1ae924752e683f7533b1754291a5b86e7a01ebe93264c8f6ee0c94a71a4a8569c0768536022a6dd0b6b1b5bd9d12c43827d4147fd9aea3635ee70c6389
7
+ data.tar.gz: b50b9b80357cdb12457299fe7756783a1546c6c13ec41f353557de80a5335a6944a838b6c8f35164a83f388769a919009d4e79abb145aedbadf0ceda4e11113f
@@ -0,0 +1,309 @@
1
+ module EnjuSeed
2
+ module EnjuUser
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ scope :administrators, -> { joins(:role).where('roles.name = ?', 'Administrator') }
7
+ scope :librarians, -> { joins(:role).where('roles.name = ? OR roles.name = ?', 'Administrator', 'Librarian') }
8
+ scope :suspended, -> { where('locked_at IS NOT NULL') }
9
+ has_one :profile
10
+ if defined?(EnjuBiblio)
11
+ has_many :import_requests
12
+ has_many :picture_files, as: :picture_attachable, dependent: :destroy
13
+ end
14
+ has_one :user_has_role, dependent: :destroy
15
+ has_one :role, through: :user_has_role
16
+ belongs_to :user_group
17
+ belongs_to :library
18
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
19
+ accepts_nested_attributes_for :user_has_role
20
+
21
+ validates :username, presence: true, uniqueness: true, format: {
22
+ with: /\A[0-9A-Za-z][0-9A-Za-z_\-]*[0-9A-Za-z]\z/
23
+ }
24
+ validates :email, format: Devise::email_regexp, allow_blank: true, uniqueness: true
25
+ validates_date :expired_at, allow_blank: true
26
+
27
+ with_options if: :password_required? do |v|
28
+ v.validates_presence_of :password
29
+ v.validates_confirmation_of :password
30
+ v.validates_length_of :password, allow_blank: true,
31
+ within: Devise::password_length
32
+ end
33
+
34
+ before_validation :set_lock_information
35
+ before_destroy :check_role_before_destroy
36
+ before_save :check_expiration
37
+ after_create :set_confirmation
38
+
39
+ extend FriendlyId
40
+ friendly_id :username
41
+ strip_attributes only: :username
42
+ strip_attributes only: :email, allow_empty: true
43
+
44
+ attr_accessor :password_not_verified,
45
+ :update_own_account, :auto_generated_password,
46
+ :locked, :current_password #, :agent_id
47
+
48
+ paginates_per 10
49
+
50
+ def send_devise_notification(notification, *args)
51
+ devise_mailer.send(notification, self, *args).deliver_later
52
+ end
53
+
54
+ # 有効期限切れのユーザを一括で使用不可にします。
55
+ def self.lock_expired_users
56
+ User.find_each do |user|
57
+ user.lock_access! if user.expired? and user.active_for_authentication?
58
+ end
59
+ end
60
+
61
+ # ユーザの情報をエクスポートします。
62
+ # @param [Hash] options
63
+ def self.export(options = {format: :txt})
64
+ header = %w(
65
+ username
66
+ full_name
67
+ full_name_transcription
68
+ email
69
+ user_number
70
+ role
71
+ user_group
72
+ library
73
+ locale
74
+ locked
75
+ required_role
76
+ created_at
77
+ updated_at
78
+ expired_at
79
+ keyword_list
80
+ note
81
+ )
82
+ header += %w(
83
+ checkout_icalendar_token
84
+ save_checkout_history
85
+ ) if defined? EnjuCirculation
86
+ header << "save_search_history" if defined? EnjuSearchLog
87
+ header << "share_bookmarks" if defined? EnjuBookmark
88
+ lines = []
89
+ User.find_each.map{|u|
90
+ line = []
91
+ line << u.username
92
+ line << u.try(:profile).try(:full_name)
93
+ line << u.try(:profile).try(:full_name_transcription)
94
+ line << u.email
95
+ line << u.try(:profile).try(:user_number)
96
+ line << u.role.try(:name)
97
+ line << u.try(:profile).try(:user_group).try(:name)
98
+ line << u.try(:profile).try(:library).try(:name)
99
+ line << u.try(:profile).try(:locale)
100
+ line << u.access_locked?
101
+ line << u.try(:profile).try(:required_role).try(:name)
102
+ line << u.created_at
103
+ line << u.updated_at
104
+ line << u.try(:profile).try(:expired_at)
105
+ line << u.try(:profile).try(:keyword_list).try(:split).try(:join, "//")
106
+ line << u.try(:profile).try(:note)
107
+ if defined? EnjuCirculation
108
+ line << u.try(:profile).try(:checkout_icalendar_token)
109
+ line << u.try(:profile).try(:save_checkout_history)
110
+ end
111
+ if defined? EnjuSearchLog
112
+ line << u.try(:profile).try(:save_search_history)
113
+ end
114
+ if defined? EnjuBookmark
115
+ line << u.try(:profile).try(:share_bookmarks)
116
+ end
117
+ lines << line
118
+ }
119
+ if options[:format] == :txt
120
+ lines.map{|line| line.to_csv(col_sep: "\t")}.unshift(header.to_csv(col_sep: "\t")).join
121
+ else
122
+ lines
123
+ end
124
+ end
125
+ end
126
+
127
+ # ユーザにパスワードが必要かどうかをチェックします。
128
+ # @return [Boolean]
129
+ def password_required?
130
+ if Devise.mappings[:user].modules.include?(:database_authenticatable)
131
+ !persisted? || !password.nil? || !password_confirmation.nil?
132
+ end
133
+ end
134
+
135
+ # ユーザが特定の権限を持っているかどうかをチェックします。
136
+ # @param [String] role_in_question 権限名
137
+ # @return [Boolean]
138
+ def has_role?(role_in_question)
139
+ return false unless role
140
+ return true if role.name == role_in_question
141
+ case role.name
142
+ when 'Administrator'
143
+ return true
144
+ when 'Librarian'
145
+ return true if role_in_question == 'User'
146
+ else
147
+ false
148
+ end
149
+ end
150
+
151
+ # ユーザに使用不可の設定を反映させます。
152
+ def set_lock_information
153
+ if locked == '1' and self.active_for_authentication?
154
+ lock_access!
155
+ elsif locked == '0' and !self.active_for_authentication?
156
+ unlock_access!
157
+ end
158
+ end
159
+
160
+ def set_confirmation
161
+ if respond_to?(:confirm!)
162
+ reload
163
+ confirm!
164
+ end
165
+ end
166
+
167
+ # ユーザが有効期限切れかどうかをチェックし、期限切れであれば使用不可に設定します。
168
+ # @return [Object]
169
+ def check_expiration
170
+ return if has_role?('Administrator')
171
+ if expired_at
172
+ if expired_at.beginning_of_day < Time.zone.now.beginning_of_day
173
+ lock_access! if active_for_authentication?
174
+ end
175
+ end
176
+ end
177
+
178
+ # ユーザの削除前に、管理者ユーザが不在にならないかどうかをチェックします。
179
+ # @return [Object]
180
+ def check_role_before_destroy
181
+ if has_role?('Administrator')
182
+ if Role.where(name: 'Administrator').first.users.count == 1
183
+ raise username + 'This is the last administrator in this system.'
184
+ end
185
+ end
186
+ end
187
+
188
+ # ユーザに自動生成されたパスワードを設定します。
189
+ # @return [String]
190
+ def set_auto_generated_password
191
+ password = Devise.friendly_token[0..7]
192
+ self.password = password
193
+ self.password_confirmation = password
194
+ end
195
+
196
+ # ユーザが有効期限切れかどうかをチェックします。
197
+ # @return [Boolean]
198
+ def expired?
199
+ if expired_at
200
+ true if expired_at.beginning_of_day < Time.zone.now.beginning_of_day
201
+ end
202
+ end
203
+
204
+ # ユーザが管理者かどうかをチェックします。
205
+ # @return [Boolean]
206
+ def is_admin?
207
+ return true if has_role?('Administrator')
208
+ false
209
+ end
210
+
211
+ # ユーザがシステム上の最後のLibrarian権限ユーザかどうかをチェックします。
212
+ # @return [Boolean]
213
+ def last_librarian?
214
+ if has_role?('Librarian')
215
+ role = Role.where(name: 'Librarian').first
216
+ return true if role.users.count == 1
217
+ false
218
+ end
219
+ end
220
+
221
+ def send_confirmation_instructions
222
+ Devise::Mailer.confirmation_instructions(self).deliver if email.present?
223
+ end
224
+
225
+ # ユーザが削除可能かどうかをチェックします。
226
+ # @param [User] current_user ユーザ
227
+ # @return [Object]
228
+ def deletable_by?(current_user)
229
+ return nil unless current_user
230
+ if defined?(EnjuCirculation)
231
+ # 未返却の資料のあるユーザを削除しようとした
232
+ if checkouts.count > 0
233
+ errors[:base] << I18n.t('user.this_user_has_checked_out_item')
234
+ end
235
+ end
236
+
237
+ if has_role?('Librarian')
238
+ # 管理者以外のユーザが図書館員を削除しようとした。図書館員の削除は管理者しかできない
239
+ unless current_user.has_role?('Administrator')
240
+ errors[:base] << I18n.t('user.only_administrator_can_destroy')
241
+ end
242
+ # 最後の図書館員を削除しようとした
243
+ if last_librarian?
244
+ errors[:base] << I18n.t('user.last_librarian')
245
+ end
246
+ end
247
+
248
+ # 最後の管理者を削除しようとした
249
+ if has_role?('Administrator')
250
+ if Role.where(name: 'Administrator').first.users.count == 1
251
+ errors[:base] << I18n.t('user.last_administrator')
252
+ end
253
+ end
254
+
255
+ if errors[:base] == []
256
+ true
257
+ else
258
+ false
259
+ end
260
+ end
261
+ end
262
+ end
263
+
264
+
265
+ # == Schema Information
266
+ #
267
+ # Table name: users
268
+ #
269
+ # id :integer not null, primary key
270
+ # email :string(255) default(""), not null
271
+ # encrypted_password :string(255) default(""), not null
272
+ # reset_password_token :string(255)
273
+ # reset_password_sent_at :datetime
274
+ # remember_created_at :datetime
275
+ # sign_in_count :integer default(0)
276
+ # current_sign_in_at :datetime
277
+ # last_sign_in_at :datetime
278
+ # current_sign_in_ip :string(255)
279
+ # last_sign_in_ip :string(255)
280
+ # password_salt :string(255)
281
+ # confirmation_token :string(255)
282
+ # confirmed_at :datetime
283
+ # confirmation_sent_at :datetime
284
+ # unconfirmed_email :string(255)
285
+ # failed_attempts :integer default(0)
286
+ # unlock_token :string(255)
287
+ # locked_at :datetime
288
+ # authentication_token :string(255)
289
+ # created_at :datetime not null
290
+ # updated_at :datetime not null
291
+ # deleted_at :datetime
292
+ # username :string(255) not null
293
+ # library_id :integer default(1), not null
294
+ # user_group_id :integer default(1), not null
295
+ # expired_at :datetime
296
+ # required_role_id :integer default(1), not null
297
+ # note :text
298
+ # keyword_list :text
299
+ # user_number :string(255)
300
+ # state :string(255)
301
+ # locale :string(255)
302
+ # enju_access_key :string(255)
303
+ # save_checkout_history :boolean
304
+ # checkout_icalendar_token :string(255)
305
+ # share_bookmarks :boolean
306
+ # save_search_history :boolean
307
+ # answer_feed_token :string(255)
308
+ #
309
+
data/lib/enju_seed.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "enju_seed/engine"
2
2
  require "enju_seed/version"
3
+ require "enju_seed/localized_name"
3
4
 
4
5
  module EnjuSeed
5
6
  end
@@ -11,6 +11,8 @@ require 'kramdown'
11
11
  require 'rails_autolink'
12
12
  require 'sitemap_generator'
13
13
  require 'browser'
14
+ require 'simple_form'
15
+ require 'validates_timeliness'
14
16
 
15
17
  module EnjuSeed
16
18
  class Engine < ::Rails::Engine
@@ -0,0 +1,15 @@
1
+ module LocalizedName
2
+ def localize(locale = I18n.locale)
3
+ string = YAML.load(self)
4
+ if string.is_a?(Hash) and string[locale.to_s]
5
+ return string[locale.to_s]
6
+ end
7
+ self
8
+ rescue NoMethodError
9
+ self
10
+ end
11
+ end
12
+
13
+ class String
14
+ include LocalizedName
15
+ end
@@ -1,3 +1,3 @@
1
1
  module EnjuSeed
2
- VERSION = "0.2.0.beta.3"
2
+ VERSION = "0.2.0.beta.4"
3
3
  end
@@ -2,3 +2,10 @@
2
2
  # task :enju_seed do
3
3
  # # Task goes here
4
4
  # end
5
+ namespace :enju_seed do
6
+ desc "upgrade enju_seed"
7
+ task :upgrade => :environment do
8
+ Rake::Task['statesman:backfill_most_recent'].invoke('UserExportFile')
9
+ Rake::Task['statesman:backfill_most_recent'].invoke('UserImportFile')
10
+ end
11
+ end
@@ -196,17 +196,13 @@ describe ProfilesController do
196
196
  response.should_not be_forbidden
197
197
  assigns(:profile).should eq librarian
198
198
  end
199
+
199
200
  it "should get edit page for other librarian user" do
200
201
  admin = FactoryGirl.create(:admin_profile, required_role_id: Role.where(name: 'Librarian').first.id)
201
202
  get :edit, id: admin.id
202
203
  response.should be_forbidden
203
204
  assigns(:profile).should eq admin
204
205
  end
205
-
206
- it "should show icalendar feed" do
207
- get :edit, id: profiles(:user1).id, mode: 'feed_token'
208
- response.should render_template("profiles/_feed_token")
209
- end
210
206
  end
211
207
 
212
208
  describe "When logged in as User" do
@@ -1,3 +1,2 @@
1
1
  module ApplicationHelper
2
- include EnjuLeaf::EnjuLeafHelper
3
2
  end
@@ -3,7 +3,5 @@ class User < ActiveRecord::Base
3
3
  :recoverable, :rememberable, :trackable, #, :validatable
4
4
  :lockable, :lock_strategy => :none, :unlock_strategy => :none
5
5
 
6
- include EnjuLeaf::EnjuUser
7
- include EnjuCirculation::EnjuUser
8
- include EnjuMessage::EnjuUser
6
+ include EnjuSeed::EnjuUser
9
7
  end
@@ -4,7 +4,7 @@ require 'rails/all'
4
4
 
5
5
  Bundler.require(*Rails.groups)
6
6
  require "enju_seed"
7
- require "enju_circulation"
7
+ require "enju_leaf"
8
8
 
9
9
  module Dummy
10
10
  class Application < Rails::Application
@@ -0,0 +1,175 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require 'rails_helper'
3
+
4
+ describe User do
5
+ #pending "add some examples to (or delete) #{__FILE__}"
6
+ fixtures :all
7
+
8
+ it 'should create an user' do
9
+ FactoryGirl.create(:user)
10
+ end
11
+
12
+ it 'should destroy an user' do
13
+ user = FactoryGirl.create(:user)
14
+ user.destroy.should be_truthy
15
+ end
16
+
17
+ it 'should respond to has_role(Administrator)' do
18
+ admin = FactoryGirl.create(:admin)
19
+ admin.has_role?('Administrator').should be_truthy
20
+ end
21
+
22
+ it 'should respond to has_role(Librarian)' do
23
+ librarian = FactoryGirl.create(:librarian)
24
+ librarian.has_role?('Administrator').should be_falsy
25
+ librarian.has_role?('Librarian').should be_truthy
26
+ librarian.has_role?('User').should be_truthy
27
+ end
28
+
29
+ it 'should respond to has_role(User)' do
30
+ user = FactoryGirl.create(:user)
31
+ user.has_role?('Administrator').should be_falsy
32
+ user.has_role?('Librarian').should be_falsy
33
+ user.has_role?('User').should be_truthy
34
+ end
35
+
36
+ it 'should lock an user' do
37
+ user = FactoryGirl.create(:user)
38
+ user.locked = '1'
39
+ user.save
40
+ user.active_for_authentication?.should be_falsy
41
+ end
42
+
43
+ it 'should unlock an user' do
44
+ user = FactoryGirl.create(:user)
45
+ user.lock_access!
46
+ user.locked = '0'
47
+ user.save
48
+ user.active_for_authentication?.should be_truthy
49
+ end
50
+
51
+ it "should create user" do
52
+ user = FactoryGirl.create(:user)
53
+ assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
54
+ end
55
+
56
+ it "should require username" do
57
+ old_count = User.count
58
+ user = FactoryGirl.build(:user, :username => nil)
59
+ user.save
60
+ user.errors[:username].should be_truthy
61
+ User.count.should eq old_count
62
+ end
63
+
64
+ it "should require password" do
65
+ user = FactoryGirl.build(:user, :password => nil)
66
+ user.save
67
+ user.errors[:password].should be_truthy
68
+ end
69
+
70
+ it "should not require password_confirmation on create" do
71
+ user = FactoryGirl.build(:user, :password => 'new_password', :password_confirmation => nil)
72
+ user.save
73
+ user.errors[:email].should be_empty
74
+ end
75
+
76
+ it "should reset password" do
77
+ users(:user1).password = 'new password'
78
+ users(:user1).password_confirmation = 'new password'
79
+ users(:user1).save
80
+ users(:user1).valid_password?('new password').should be_truthy
81
+ end
82
+
83
+ it "should set temporary_password" do
84
+ user = users(:user1)
85
+ old_password = user.encrypted_password
86
+ user.set_auto_generated_password
87
+ user.save
88
+ old_password.should_not eq user.encrypted_password
89
+ user.valid_password?('user1password').should be_falsy
90
+ end
91
+
92
+ it "should get highest_role" do
93
+ users(:admin).role.name.should eq 'Administrator'
94
+ end
95
+
96
+ it "should lock all expired users" do
97
+ User.lock_expired_users
98
+ users(:user4).active_for_authentication?.should be_falsy
99
+ end
100
+
101
+ it "should lock_expired users" do
102
+ user = users(:user1)
103
+ users(:user1).active_for_authentication?.should be_truthy
104
+ user.expired_at = 1.day.ago
105
+ user.save
106
+ users(:user1).active_for_authentication?.should be_falsy
107
+ end
108
+
109
+ if defined?(EnjuQuestion)
110
+ it "should reset answer_feed_token" do
111
+ users(:user1).reset_answer_feed_token
112
+ users(:user1).answer_feed_token.should be_truthy
113
+ end
114
+
115
+ it "should delete answer_feed_token" do
116
+ users(:user1).delete_answer_feed_token
117
+ users(:user1).answer_feed_token.should be_nil
118
+ end
119
+ end
120
+
121
+ describe ".export" do
122
+ it "should export all user's information" do
123
+ lines = User.export
124
+ CSV.parse(lines, col_sep: "\t")
125
+ expect(lines).not_to be_empty
126
+ expect(lines.split(/\n/).size).to eq User.count + 1
127
+ end
128
+ end
129
+ end
130
+
131
+ # == Schema Information
132
+ #
133
+ # Table name: users
134
+ #
135
+ # id :integer not null, primary key
136
+ # email :string(255) default(""), not null
137
+ # encrypted_password :string(255) default(""), not null
138
+ # reset_password_token :string(255)
139
+ # reset_password_sent_at :datetime
140
+ # remember_created_at :datetime
141
+ # sign_in_count :integer default(0)
142
+ # current_sign_in_at :datetime
143
+ # last_sign_in_at :datetime
144
+ # current_sign_in_ip :string(255)
145
+ # last_sign_in_ip :string(255)
146
+ # password_salt :string(255)
147
+ # confirmation_token :string(255)
148
+ # confirmed_at :datetime
149
+ # confirmation_sent_at :datetime
150
+ # unconfirmed_email :string(255)
151
+ # failed_attempts :integer default(0)
152
+ # unlock_token :string(255)
153
+ # locked_at :datetime
154
+ # authentication_token :string(255)
155
+ # created_at :datetime not null
156
+ # updated_at :datetime not null
157
+ # deleted_at :datetime
158
+ # username :string(255) not null
159
+ # library_id :integer default(1), not null
160
+ # user_group_id :integer default(1), not null
161
+ # expired_at :datetime
162
+ # required_role_id :integer default(1), not null
163
+ # note :text
164
+ # keyword_list :text
165
+ # user_number :string(255)
166
+ # state :string(255)
167
+ # locale :string(255)
168
+ # enju_access_key :string(255)
169
+ # save_checkout_history :boolean default(FALSE), not null
170
+ # checkout_icalendar_token :string(255)
171
+ # share_bookmarks :boolean
172
+ # save_search_history :boolean default(FALSE), not null
173
+ # answer_feed_token :string(255)
174
+ #
175
+
@@ -18,7 +18,6 @@ describe "my_accounts/show" do
18
18
  allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
19
19
  render
20
20
  # Run the generator again with the --webrat flag if you want to use webrat matchers
21
- rendered.should match(/Checkout/)
22
21
  end
23
22
 
24
23
  it "cannot be deletable by other librarian" do
@@ -37,7 +36,6 @@ describe "my_accounts/show" do
37
36
  it "renders attributes in <p>" do
38
37
  allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
39
38
  render
40
- rendered.should match(/Checkout/)
41
39
  end
42
40
  end
43
41
  end
@@ -8,13 +8,6 @@ describe "profiles/show" do
8
8
  view.stub(:current_user).and_return(User.friendly.find('enjuadmin'))
9
9
  end
10
10
 
11
- it "renders attributes in <p>" do
12
- allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
13
- render
14
- # Run the generator again with the --webrat flag if you want to use webrat matchers
15
- rendered.should match(/Checkout/)
16
- end
17
-
18
11
  describe "when logged in as Librarian" do
19
12
  before(:each) do
20
13
  @profile = assign(:profile, profiles(:librarian2))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_seed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta.3
4
+ version: 0.2.0.beta.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-12 00:00:00.000000000 Z
11
+ date: 2016-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -235,75 +235,47 @@ dependencies:
235
235
  - !ruby/object:Gem::Version
236
236
  version: 1.8.3
237
237
  - !ruby/object:Gem::Dependency
238
- name: enju_leaf
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: 1.2.0.beta.1
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: 1.2.0.beta.1
251
- - !ruby/object:Gem::Dependency
252
- name: enju_library
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: 0.2.0.beta.2
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: 0.2.0.beta.2
265
- - !ruby/object:Gem::Dependency
266
- name: enju_biblio
238
+ name: simple_form
267
239
  requirement: !ruby/object:Gem::Requirement
268
240
  requirements:
269
- - - "~>"
241
+ - - ">="
270
242
  - !ruby/object:Gem::Version
271
- version: 0.2.0.beta.1
272
- type: :development
243
+ version: '0'
244
+ type: :runtime
273
245
  prerelease: false
274
246
  version_requirements: !ruby/object:Gem::Requirement
275
247
  requirements:
276
- - - "~>"
248
+ - - ">="
277
249
  - !ruby/object:Gem::Version
278
- version: 0.2.0.beta.1
250
+ version: '0'
279
251
  - !ruby/object:Gem::Dependency
280
- name: enju_manifestation_viewer
252
+ name: validates_timeliness
281
253
  requirement: !ruby/object:Gem::Requirement
282
254
  requirements:
283
255
  - - "~>"
284
256
  - !ruby/object:Gem::Version
285
- version: 0.2.0.beta.1
286
- type: :development
257
+ version: '4.0'
258
+ type: :runtime
287
259
  prerelease: false
288
260
  version_requirements: !ruby/object:Gem::Requirement
289
261
  requirements:
290
262
  - - "~>"
291
263
  - !ruby/object:Gem::Version
292
- version: 0.2.0.beta.1
264
+ version: '4.0'
293
265
  - !ruby/object:Gem::Dependency
294
- name: enju_circulation
266
+ name: enju_leaf
295
267
  requirement: !ruby/object:Gem::Requirement
296
268
  requirements:
297
269
  - - "~>"
298
270
  - !ruby/object:Gem::Version
299
- version: 0.2.0.beta.1
271
+ version: 1.2.0.beta.2
300
272
  type: :development
301
273
  prerelease: false
302
274
  version_requirements: !ruby/object:Gem::Requirement
303
275
  requirements:
304
276
  - - "~>"
305
277
  - !ruby/object:Gem::Version
306
- version: 0.2.0.beta.1
278
+ version: 1.2.0.beta.2
307
279
  - !ruby/object:Gem::Dependency
308
280
  name: sqlite3
309
281
  requirement: !ruby/object:Gem::Requirement
@@ -415,6 +387,7 @@ files:
415
387
  - app/controllers/my_accounts_controller.rb
416
388
  - app/controllers/profiles_controller.rb
417
389
  - app/controllers/roles_controller.rb
390
+ - app/models/concerns/enju_seed/enju_user.rb
418
391
  - app/models/concerns/master_model.rb
419
392
  - app/models/identity.rb
420
393
  - app/models/profile.rb
@@ -456,6 +429,7 @@ files:
456
429
  - db/migrate/20151126005552_add_provider_to_identity.rb
457
430
  - lib/enju_seed.rb
458
431
  - lib/enju_seed/engine.rb
432
+ - lib/enju_seed/localized_name.rb
459
433
  - lib/enju_seed/version.rb
460
434
  - lib/tasks/enju_seed_tasks.rake
461
435
  - spec/controllers/my_accounts_controller_spec.rb
@@ -485,7 +459,6 @@ files:
485
459
  - spec/dummy/config/initializers/backtrace_silencers.rb
486
460
  - spec/dummy/config/initializers/cookies_serializer.rb
487
461
  - spec/dummy/config/initializers/devise.rb
488
- - spec/dummy/config/initializers/enju_leaf.rb
489
462
  - spec/dummy/config/initializers/filter_parameter_logging.rb
490
463
  - spec/dummy/config/initializers/friendly_id.rb
491
464
  - spec/dummy/config/initializers/inflections.rb
@@ -701,6 +674,7 @@ files:
701
674
  - spec/models/profile_spec.rb
702
675
  - spec/models/role_spec.rb
703
676
  - spec/models/user_has_role_spec.rb
677
+ - spec/models/user_spec.rb
704
678
  - spec/rails_helper.rb
705
679
  - spec/requests/profiles_spec.rb
706
680
  - spec/routing/profiles_routing_spec.rb
@@ -762,7 +736,6 @@ test_files:
762
736
  - spec/dummy/config/initializers/backtrace_silencers.rb
763
737
  - spec/dummy/config/initializers/cookies_serializer.rb
764
738
  - spec/dummy/config/initializers/devise.rb
765
- - spec/dummy/config/initializers/enju_leaf.rb
766
739
  - spec/dummy/config/initializers/filter_parameter_logging.rb
767
740
  - spec/dummy/config/initializers/friendly_id.rb
768
741
  - spec/dummy/config/initializers/inflections.rb
@@ -981,6 +954,7 @@ test_files:
981
954
  - spec/models/profile_spec.rb
982
955
  - spec/models/role_spec.rb
983
956
  - spec/models/user_has_role_spec.rb
957
+ - spec/models/user_spec.rb
984
958
  - spec/rails_helper.rb
985
959
  - spec/requests/profiles_spec.rb
986
960
  - spec/routing/profiles_routing_spec.rb
@@ -1,2 +0,0 @@
1
- Profile.include(EnjuCirculation::EnjuProfile)
2
- UserGroup.include(EnjuCirculation::EnjuUserGroup)