Class: QBWC::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Extended by:
Rails::Generators::Migration
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/qbwc/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



35
36
37
# File 'lib/generators/qbwc/install/install_generator.rb', line 35

def self.next_migration_number(dirname)
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#active_recordObject



27
28
29
30
31
32
33
# File 'lib/generators/qbwc/install/install_generator.rb', line 27

def active_record
  migration_template 'db/migrate/create_qbwc_jobs.rb',     'db/migrate/create_qbwc_jobs.rb'
  migration_template 'db/migrate/create_qbwc_sessions.rb', 'db/migrate/create_qbwc_sessions.rb'
  migration_template 'db/migrate/index_qbwc_jobs.rb',      'db/migrate/index_qbwc_jobs.rb'
  migration_template 'db/migrate/change_request_index.rb', 'db/migrate/change_request_index.rb'
  migration_template 'db/migrate/session_pending_jobs_text.rb', 'db/migrate/session_pending_jobs_text.rb'
end

#copy_configObject



19
20
21
# File 'lib/generators/qbwc/install/install_generator.rb', line 19

def copy_config
   template('config/qbwc.rb', "config/initializers/qbwc.rb")
end

#copy_controllerObject



23
24
25
# File 'lib/generators/qbwc/install/install_generator.rb', line 23

def copy_controller 
   template('controllers/qbwc_controller.rb', "app/controllers/#{controller_name}_controller.rb")
end

#route1Object



39
40
41
# File 'lib/generators/qbwc/install/install_generator.rb', line 39

def route1
   "wash_out :#{controller_name}"
end

#route2Object



43
44
45
# File 'lib/generators/qbwc/install/install_generator.rb', line 43

def route2
   "get '#{controller_name}/qwc' => '#{controller_name}#qwc'"
end

#route3Object



47
48
49
# File 'lib/generators/qbwc/install/install_generator.rb', line 47

def route3
   "get '#{controller_name}/action' => '#{controller_name}#_generate_wsdl'"
end

#routes_rbObject



15
16
17
# File 'lib/generators/qbwc/install/install_generator.rb', line 15

def routes_rb
   "config/routes.rb"
end

#setup_routesObject

Idempotent routes inspired by github.com/thoughtbot/administrate/issues/232 Idempotent routes fixed permanently by github.com/rails/rails/issues/22082



53
54
55
56
57
# File 'lib/generators/qbwc/install/install_generator.rb', line 53

def setup_routes
  route(route1) unless File.new(routes_rb).read.include?(route1)
  route(route2) unless File.new(routes_rb).read.include?(route2)
  route(route3) unless File.new(routes_rb).read.include?(route3)
end