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

#enabled?, #file_changed?, #generate, #initialize, #log, #log_running, #repetitive?, #store_file_hash, #tasks

Constructor Details

This class inherits a constructor from EasyHtmlGenerator::Generator::Base

Instance Method Details

#bower_commandObject



31
32
33
34
35
36
37
# File 'lib/easy_html_generator/generator/service/bower.rb', line 31

def bower_command
  command = "cd #{@config.source} && bower install --force-latest"

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

#bower_fileObject



27
28
29
# File 'lib/easy_html_generator/generator/service/bower.rb', line 27

def bower_file
  File.join(@config.source, 'bower.json')
end

#bower_storageObject



23
24
25
# File 'lib/easy_html_generator/generator/service/bower.rb', line 23

def bower_storage
  File.join(@config.source, 'bower_components')
end

#generate!(_config) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/easy_html_generator/generator/service/bower.rb', line 9

def generate!(_config)
  return unless File.exist? bower_file
  return unless file_changed? bower_file

  log `  #{bower_command}  `

  FileUtils.mkdir_p @config.target

  EasyHtmlGenerator::Generator::Copy.copy_r(
    bower_storage, @config.target, '**/*')

  store_file_hash(bower_file)
end