Class: Kinney::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Kinney::Generators::InstallGenerator
- Defined in:
- lib/generators/kinney/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_gems ⇒ Object
- #copy_initializer ⇒ Object
-
#create_active_admin_css ⇒ Object
ActiveAdmin setup.
- #create_active_admin_js ⇒ Object
- #create_application_name ⇒ Object
- #create_css ⇒ Object
- #create_devise_initializer ⇒ Object
-
#create_model_overrides ⇒ Object
# create KinneyHelper def create_kinney_helpers template ‘kinney_helper.rb’, ‘app/helpers/kinney_helper.rb’ end.
-
#inject_google_id ⇒ Object
Google Analytics setup.
-
#inject_js ⇒ Object
Kinney setup.
- #inject_routes ⇒ Object
- #insert_seeds ⇒ Object
- #mailer_setup ⇒ Object
- #remove_coffeescript ⇒ Object
- #remove_public_index ⇒ Object
- #remove_turbolinks ⇒ Object
Class Method Details
.source_root ⇒ Object
9 10 11 |
# File 'lib/generators/kinney/install/install_generator.rb', line 9 def self.source_root @source_root ||= File.(File.join(File.dirname(__FILE__), 'templates')) end |
Instance Method Details
#add_gems ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/generators/kinney/install/install_generator.rb', line 108 def add_gems gems = <<EOF # added by Kinney # once these are published as gems we can use them from there, until then we need to have them in our Gemfile gem 'mediaelement_rails', :git => 'https://github.com/tobsch/mediaelement_rails.git' gem 'webvtt', :git => 'https://github.com/jronallo/webvtt.git' gem 'bootstrap-sass', git: 'https://github.com/thomas-mcdonald/bootstrap-sass.git', branch: 'master' EOF inject_into_file 'Gemfile', :after => "source 'https://rubygems.org'" do gems end end |
#copy_initializer ⇒ Object
97 98 99 |
# File 'lib/generators/kinney/install/install_generator.rb', line 97 def copy_initializer template 'active_admin.rb', 'config/initializers/active_admin.rb' end |
#create_active_admin_css ⇒ Object
ActiveAdmin setup
89 90 91 |
# File 'lib/generators/kinney/install/install_generator.rb', line 89 def create_active_admin_css template 'active_admin.css.scss', 'app/assets/stylesheets/active_admin.css.scss' end |
#create_active_admin_js ⇒ Object
93 94 95 |
# File 'lib/generators/kinney/install/install_generator.rb', line 93 def create_active_admin_js template 'active_admin.js', 'app/assets/javascripts/active_admin.js' end |
#create_application_name ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/generators/kinney/install/install_generator.rb', line 73 def create_application_name insert_into_file "app/helpers/application_helper.rb", after: "module ApplicationHelper\n" do application_name = ask "What is the name of your application?" text = <<EOF def application_name "#{application_name}" end def navbar_application_name application_name end EOF end end |
#create_css ⇒ Object
25 26 27 28 29 |
# File 'lib/generators/kinney/install/install_generator.rb', line 25 def create_css remove_file("app/assets/stylesheets/application.css") create_file "app/assets/stylesheets/application.css.scss", %Q|@import "kinney";\n@import "font-awesome";| end |
#create_devise_initializer ⇒ Object
69 70 71 |
# File 'lib/generators/kinney/install/install_generator.rb', line 69 def create_devise_initializer template 'devise.rb', 'config/initializers/devise.rb' end |
#create_model_overrides ⇒ Object
# create KinneyHelper def create_kinney_helpers
template 'kinney_helper.rb', 'app/helpers/kinney_helper.rb'
end
49 50 51 52 53 |
# File 'lib/generators/kinney/install/install_generator.rb', line 49 def create_model_overrides empty_directory 'app/models/kinney' template 'image.rb', 'app/models/kinney/image.rb' template 'clip.rb', 'app/models/kinney/clip.rb' end |
#inject_google_id ⇒ Object
Google Analytics setup
102 103 104 105 106 |
# File 'lib/generators/kinney/install/install_generator.rb', line 102 def inject_google_id inject_into_file 'config/application.rb', :after => "Rails::Application" do "\nconfig.kinney = ActiveSupport::OrderedOptions.new\nconfig.kinney.google_analytics_id = 'UA-XXXXXXXX-X'" end end |
#inject_js ⇒ Object
Kinney setup
18 19 20 21 22 23 |
# File 'lib/generators/kinney/install/install_generator.rb', line 18 def inject_js inject_into_file "app/assets/javascripts/application.js", :after => "//= require_tree ." do "\n//= require kinney\n" end gsub_file 'app/assets/javascripts/application.js', "//= require_tree .", '' end |
#inject_routes ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/generators/kinney/install/install_generator.rb', line 55 def inject_routes routes = <<EOF ActiveAdmin.routes(self) devise_for :admin_users, :class_name => 'Kinney::AdminUser' #ActiveAdmin::Devise.config.merge(:class_name => Kinney::AdminUser) mount Kinney::Engine => "/kinney", :as => 'kinney' root :to => 'kinney/pages#home' EOF inject_into_file 'config/routes.rb', :after => 'routes.draw do' do routes end end |
#insert_seeds ⇒ Object
36 37 38 |
# File 'lib/generators/kinney/install/install_generator.rb', line 36 def insert_seeds append_to_file "db/seeds.rb", "\nKinney::Engine.load_seed\n" end |
#mailer_setup ⇒ Object
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/generators/kinney/install/install_generator.rb', line 124 def mailer_setup mailer_config = <<EOF config.action_mailer.default_url_options = { :host => 'localhost:3000' } config.action_mailer.delivery_method = :test #:sendmail config.action_mailer.sendmail_settings = { :location => '/usr/sbin/sendmail', :arguments => '-i -t' } EOF inject_into_file 'config/environments/development.rb', :after => 'Application.configure do' do mailer_config end end |
#remove_coffeescript ⇒ Object
40 41 42 |
# File 'lib/generators/kinney/install/install_generator.rb', line 40 def remove_coffeescript gsub_file('Gemfile', /^gem 'coffee-rails.*$'/, '') end |
#remove_public_index ⇒ Object
13 14 15 |
# File 'lib/generators/kinney/install/install_generator.rb', line 13 def remove_public_index remove_file 'public/index.html' end |
#remove_turbolinks ⇒ Object
31 32 33 34 |
# File 'lib/generators/kinney/install/install_generator.rb', line 31 def remove_turbolinks gsub_file('Gemfile', %Q|gem 'turbolinks'|, '') gsub_file('app/assets/javascripts/application.js', '//= require turbolinks', '') end |