bower-vendor 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -46,10 +46,11 @@ The following generators are available:
46
46
  `rails generate bower_vendor:install [options]`
47
47
 
48
48
  Options:
49
- [--update] # Update bower assets (ie - `bower update`)
50
- [--skip-git-ignore] # Add vendored bower asset package directories to .gitignore
51
- [--force-clean] # Clean vendored bower assets without prompting
52
- [--skip-clean] # Skip cleaning vendored bower assets
49
+ [--update] # Update bower assets (ie - `bower update`)
50
+ [--skip-git-ignore] # Add vendored bower asset package directories to .gitignore
51
+ [--force-clean] # Clean vendored bower assets without prompting
52
+ [--skip-clean] # Skip cleaning vendored bower assets
53
+ [--include-dev-dependencies] # Include bower devDependencies
53
54
 
54
55
  Runtime options:
55
56
  -f, [--force] # Overwrite files that already exist
@@ -59,11 +60,11 @@ The following generators are available:
59
60
 
60
61
  Vendor bower assets based on bower.json
61
62
 
62
-
63
63
  `rails generate bower_vendor:clean [options]`
64
64
 
65
65
  Options:
66
- [--force] # Delete vendored bower assets without prompting
66
+ [--force] # Delete vendored bower assets without prompting
67
+ [--cached] # Delete only the bower cache from tmp/bower_components
67
68
 
68
69
  Runtime options:
69
70
  -p, [--pretend] # Run but do not make any changes
@@ -1,3 +1,3 @@
1
1
  module BowerVendor
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -2,18 +2,24 @@ class BowerVendor::CleanGenerator < Rails::Generators::Base
2
2
  attr_accessor :utils
3
3
 
4
4
  class_option :force, type: :boolean, desc: 'Delete vendored bower assets without prompting'
5
+ class_option :cached, type: :boolean, desc: "Delete only the bower cache from #{BowerVendor::BOWER_ROOT}"
5
6
  desc 'Cleans bower assets (CAUTION: Vendored asset directories for all bower packages will be deleted!)'
6
7
  def clean_packages
7
- @utils = BowerVendor::Utils.new
8
- utils.merged_paths.keys.each do |package|
9
- %w[javascripts stylesheets images].each do |prefix|
10
- path = File.join('vendor', 'assets', prefix, package)
11
- if Dir.exist? path
12
- if options.force? or yes?("Remove #{path}?", :cyan)
13
- remove_dir(path)
8
+ return false unless Dir.exist? BowerVendor::BOWER_ROOT
9
+ if !options.cached?
10
+ @utils = BowerVendor::Utils.new
11
+ utils.merged_paths.keys.each do |package|
12
+ %w[javascripts stylesheets images].each do |prefix|
13
+ path = File.join('vendor', 'assets', prefix, package)
14
+ if Dir.exist? path
15
+ if options.force? or yes?("Remove #{path}?", :cyan)
16
+ remove_dir(path)
17
+ end
14
18
  end
15
19
  end
16
20
  end
21
+ else
22
+ remove_dir(BowerVendor::BOWER_ROOT)
17
23
  end
18
24
  end
19
25
  end
@@ -10,19 +10,21 @@ class BowerVendor::InstallGenerator < Rails::Generators::Base
10
10
  class_option :include_dev_dependencies, type: :boolean, default: false, desc: 'Include bower devDependencies'
11
11
  desc 'Vendor bower assets based on bower.json'
12
12
  def bower_install
13
- if !options.skip_clean? and Dir.exist? BowerVendor::BOWER_ROOT
14
- generate options.force_clean? ? 'bower_vendor:clean --force' : 'bower_vendor:clean'
15
- end
13
+ generate 'bower_vendor:clean --cached' if !options.skip_clean?
16
14
 
17
15
  action = options.update? ? 'update' : 'install'
18
- action << ' --production' unless options.include_dev_dependencies?
16
+ action << ' --production' if !options.include_dev_dependencies?
19
17
  say_status :run, "bower #{action}"
20
18
  `bower #{action}`
21
19
 
20
+ if !options.skip_clean?
21
+ generate options.force_clean? ? 'bower_vendor:clean --force' : 'bower_vendor:clean'
22
+ end
23
+
22
24
  @utils = BowerVendor::Utils.new
23
25
 
24
26
  utils.merged_paths.each do |package, paths|
25
- append_file '.gitignore', "\n# Vendored bower package '#{package}'\n" unless options.skip_git_ignore?
27
+ append_file '.gitignore', "\n# Vendored bower package '#{package}'\n" if !options.skip_git_ignore?
26
28
  case paths
27
29
  when Hash
28
30
  paths.each do |source, dest|
@@ -38,6 +40,7 @@ class BowerVendor::InstallGenerator < Rails::Generators::Base
38
40
  raise Thor::Error, set_color("Paths must be either Hash, Array or String, received: #{paths.class}", :red, :bold)
39
41
  end
40
42
  end
43
+ generate 'bower_vendor:clean --cached' if !options.skip_clean?
41
44
  end
42
45
 
43
46
  private
@@ -74,7 +77,7 @@ class BowerVendor::InstallGenerator < Rails::Generators::Base
74
77
  else
75
78
  dest = utils.prefixed_dest(package, prefix, File.basename(source))
76
79
  end
77
- append_file '.gitignore', "/#{File.join('vendor', 'assets', prefix, package)}\n" unless options.skip_git_ignore?
80
+ append_file '.gitignore', "/#{File.join('vendor', 'assets', prefix, package)}\n" if !options.skip_git_ignore?
78
81
  copy_file(source, dest)
79
82
  end
80
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bower-vendor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  version: '0'
86
86
  segments:
87
87
  - 0
88
- hash: -1387996077343162464
88
+ hash: -388328633555544563
89
89
  requirements: []
90
90
  rubyforge_project:
91
91
  rubygems_version: 1.8.25