Class: Connector::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/connector/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#cleanupObject



75
76
77
78
# File 'lib/generators/connector/install_generator.rb', line 75

def cleanup
  # The connector framework already provide a working implementation of this controller
  remove_file 'app/controllers/maestrano/account/groups_controller.rb'
end

#copy_controllers_and_viewsObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/generators/connector/install_generator.rb', line 43

def copy_controllers_and_views
  copy_file 'home_controller.rb', 'app/controllers/home_controller.rb'
  copy_file 'home_controller_spec.rb', 'spec/controllers/home_controller_spec.rb'
  copy_file 'home_index.haml', 'app/views/home/index.html.haml'
  copy_file 'home.js', 'app/assets/javascripts/home.js'

  copy_file 'synchronizations_controller.rb', 'app/controllers/synchronizations_controller.rb'
  copy_file 'synchronizations_controller_spec.rb', 'spec/controllers/synchronizations_controller_spec.rb'
  copy_file 'synchronizations_index.haml', 'app/views/synchronizations/index.html.haml'

  copy_file 'shared_entities_controller.rb', 'app/controllers/shared_entities_controller.rb'
  copy_file 'shared_entities_controller_spec.rb', 'spec/controllers/shared_entities_controller_spec.rb'
  copy_file 'shared_entities_index.haml', 'app/views/shared_entities/index.html.haml'

  copy_file 'layouts.haml', 'app/views/layouts/application.html.haml'

  FileUtils.mkdir_p 'app/controllers/maestrano/api'
  copy_file 'account_controller.rb', 'app/controllers/maestrano/api/account_controller.rb'
end

#copy_entityObject



25
26
27
# File 'lib/generators/connector/install_generator.rb', line 25

def copy_entity
  copy_file 'entity.rb', 'app/models/maestrano/connector/rails/entity.rb'
end

#copy_example_entityObject



33
34
35
36
# File 'lib/generators/connector/install_generator.rb', line 33

def copy_example_entity
  copy_file 'example_entity.rb', 'app/models/entities/example_entitiy.rb'
  copy_file 'example_entity_spec.rb', 'spec/models/entities/example_entitiy.rb'
end

#copy_externalObject



29
30
31
# File 'lib/generators/connector/install_generator.rb', line 29

def copy_external
  copy_file 'external.rb', 'app/models/maestrano/connector/rails/external.rb'
end

#copy_icons_and_logosObject



38
39
40
41
# File 'lib/generators/connector/install_generator.rb', line 38

def copy_icons_and_logos
  copy_file 'logos/to_connec.png', 'app/assets/images/logos/to_connec.png'
  copy_file 'logos/to_external.png', 'app/assets/images/logos/to_external.png'
end

#copy_oauth_controllerObject



71
72
73
# File 'lib/generators/connector/install_generator.rb', line 71

def copy_oauth_controller
  copy_file 'oauth_controller.rb', 'app/controllers/oauth_controller.rb'
end

#copy_stylesheetsObject



63
64
65
66
67
68
69
# File 'lib/generators/connector/install_generator.rb', line 63

def copy_stylesheets
  copy_file 'stylesheets/application.sass', 'app/assets/stylesheets/application.sass'
  copy_file 'stylesheets/home.sass', 'app/assets/stylesheets/home.sass'
  copy_file 'stylesheets/layout.sass', 'app/assets/stylesheets/layout.sass'
  copy_file 'stylesheets/spacers.sass', 'app/assets/stylesheets/spacers.sass'
  copy_file 'stylesheets/variables.sass', 'app/assets/stylesheets/variables.sass'
end

#include_helpersObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/connector/install_generator.rb', line 12

def include_helpers
  sentinel = 'class ApplicationController < ActionController::Base'
  code_lines = [
    'include Maestrano::Connector::Rails::SessionHelper'
  ]

  in_root do
    gsub_file 'app/controllers/application_controller.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
      "#{match}\n  #{code_lines.join("\n  ")}\n"
    end
  end
end

#maestrano_generatorObject



8
9
10
# File 'lib/generators/connector/install_generator.rb', line 8

def maestrano_generator
  generate 'maestrano:install'
end