Class: EasyHtmlGenerator::Generator::Service::Bower

Inherits:
Base
  • Object
show all
Defined in:
lib/easy_html_generator/generator/service/bower.rb

Overview

this generator resolves and runs a bower.json

Instance Attribute Summary

Attributes inherited from Base

#config

Instance Method Summary collapse

Methods inherited from Base

#dest_path, #do_input, #generate, #input_to_output_file, #log, #log_running, #resolve_path_prefix, #should_do_file?, #src_path, #walk_files

Constructor Details

#initialize(project, config) ⇒ Bower

Returns a new instance of Bower.



9
10
11
12
13
14
# File 'lib/easy_html_generator/generator/service/bower.rb', line 9

def initialize(project, config)
  super(project, config)

  @config.src  = ''
  @config.dest = ''
end

Instance Method Details

#do_file(bower_file, *_args) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/easy_html_generator/generator/service/bower.rb', line 16

def do_file(bower_file, *_args)
  input_folder  = File.dirname(bower_file)
  output_folder = File.join(@project.dist_path, @config.target)

  cmd = "cd #{input_folder} && bower install"
  cmd = "if which bower >/dev/null; then echo '\e[32mrunning bower\e[0m' \
         && #{cmd}; else echo '\e[31mplease install bower \
         \"npm install -g bower\" http://bower.io/ \e[0m'; fi"

  log ` #{cmd} `

  FileUtils.mkdir_p output_folder

  EasyHtmlGenerator::Generator::Copy.copy_r(
    "#{input_folder}/bower_components", output_folder, '**/*')

  EasyHtmlGenerator::Checksum.store_file(bower_file)
end