Class: EnjuCirculation::SetupGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/enju_circulation/setup/setup_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_setup_filesObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/enju_circulation/setup/setup_generator.rb', line 5

def copy_setup_files
  directory("db/fixtures", "db/fixtures/enju_circulation")
  return if file == 'fixture'
  rake("enju_message_engine:install:migrations")
  rake("enju_event_engine:install:migrations")
  rake("enju_circulation_engine:install:migrations")
  generate("enju_message:setup")
  generate("enju_event:setup")
  inject_into_class "app/controllers/application_controller.rb", ApplicationController do
    "  include EnjuCirculation::Controller\n"
  end
  inject_into_class 'app/models/user.rb', User do
    "  include EnjuCirculation::EnjuUser\n"
  end
  append_to_file "app/models/user.rb", <<EOS
Accept.include(EnjuCirculation::EnjuAccept)
Basket.include(EnjuCirculation::EnjuBasket)
CarrierType.include(EnjuCirculation::EnjuCarrierType)
Manifestation.include(EnjuCirculation::EnjuManifestation)
Item.include(EnjuCirculation::EnjuItem)
Profile.include(EnjuCirculation::EnjuProfile)
UserGroup.include(EnjuCirculation::EnjuUserGroup)
Withdraw.include(EnjuCirculation::EnjuWithdraw)
EOS
  append_to_file("config/schedule.rb", File.open(File.expand_path('../templates', __FILE__) + '/config/schedule.rb').read)
  append_to_file 'config/initializers/inflections.rb',  <<EOS
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'reserve', 'reserves'
end
EOS

  UserGroup.order(created_at: :desc).first.update!(
    number_of_day_to_notify_overdue: 7,
    number_of_day_to_notify_due_date: 3
  )
end