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



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/semanticui/install/install_generator.rb', line 25

def add_semanticui_gem
  gem "less-rails"
  gem "less-rails-semantic_ui"
  gem "autoprefixer-rails"

  Bundler.with_clean_env do
    run 'bundle install'
  end

  generate "semantic_ui:install"
end

#application_nameObject

Template Helpers



56
57
58
# File 'lib/generators/semanticui/install/install_generator.rb', line 56

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

#copy_libObject



9
10
11
# File 'lib/generators/semanticui/install/install_generator.rb', line 9

def copy_lib
  directory "lib"
end

#create_javascriptsObject



21
22
23
# File 'lib/generators/semanticui/install/install_generator.rb', line 21

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

#create_layoutObject



13
14
15
# File 'lib/generators/semanticui/install/install_generator.rb', line 13

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

#create_stylesheetsObject



17
18
19
# File 'lib/generators/semanticui/install/install_generator.rb', line 17

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

#inject_semanticui_requiresObject



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

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/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/semantic_ui\n"
    end
  end
end