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



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

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



60
61
62
# File 'lib/generators/semanticui/install/install_generator.rb', line 60

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

#copy_form_builderObject



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

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

#copy_libObject



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

def copy_lib
  directory "lib/templates/erb"
end

#create_javascriptsObject



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

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

#create_layoutObject



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

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

#create_stylesheetsObject



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

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

#inject_semanticui_requiresObject



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

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