Class: Semanticui::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_semanticui_gemObject



31
32
33
34
35
36
37
# File 'lib/generators/semanticui/install/install_generator.rb', line 31

def add_semanticui_gem
  add_source "https://rails-assets.org"
  gem "rails-assets-semantic-ui"
  Bundler.with_clean_env do
    run 'bundle install'
  end
end

#application_nameObject

Template Helpers



58
59
60
# File 'lib/generators/semanticui/install/install_generator.rb', line 58

def application_name
  Rails.application.class.name.split('::').first.titleize
end

#copy_form_builderObject



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

def copy_form_builder
  copy_file "form_builders/form_builder/_form.html.erb", "lib/templates/erb/scaffold/_form.html.erb"
end

#copy_libObject



11
12
13
# File 'lib/generators/semanticui/install/install_generator.rb', line 11

def copy_lib
  directory "lib/templates/erb"
end

#create_javascriptsObject



27
28
29
# File 'lib/generators/semanticui/install/install_generator.rb', line 27

def create_javascripts
  copy_file "assets/javascripts/semanticui-scaffold.js.coffee", "app/assets/javascripts/semanticui-scaffold.js.coffee"
end

#create_layoutObject



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

def create_layout
  template "layouts/application.html.erb", "app/views/layouts/application.html.erb"
end

#create_stylesheetsObject



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

def create_stylesheets
  copy_file "assets/stylesheets/semanticui-scaffold.scss", "app/assets/stylesheets/semanticui-scaffold.scss"
end

#inject_semanticui_requiresObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/semanticui/install/install_generator.rb', line 39

def inject_semanticui_requires
  application_js_path = "app/assets/javascripts/application.js"
  if ::File.exists?(::File.join(destination_root, application_js_path))
    inject_into_file application_js_path, before: "//= require_tree" do
      "//= require semantic-ui\n" +
      "//= require semanticui-scaffold\n"
    end
  end

  application_css_path = "app/assets/stylesheets/application.css"
  if ::File.exists?(::File.join(destination_root, application_css_path))
    inject_into_file application_css_path, before: '*= require_tree .' do
      "*= require semantic-ui\n"
    end
  end
end