vam 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c039a01f093e65d29cdaefdb4b49959a7130a91
4
- data.tar.gz: 58da85981459c562168d752cc8541207268225f0
3
+ metadata.gz: 880869fa3bb79af11f89e83701b11f47143bee33
4
+ data.tar.gz: b3a64d4dfa37e72352198ef439fcc02cc58767b4
5
5
  SHA512:
6
- metadata.gz: 0d94df2d42e0ad08e710f40b98d5d3c9b1d49a55cad4e9583ca027d5083a1b4fe4022e246b17c22d65663319c1ad4bceacebdd393c10e409435fac4389851d6d
7
- data.tar.gz: a3f238a649404497c7aa20d86ddfc511a4a82ce3db104042b81c3d6e053624214d97c1be4af333291ba600c565dc306f0fc6daddc05d8a9b4f62a41b05e82a4c
6
+ metadata.gz: 2f153acebe4885565404aba62bd57fe0a44da215125cb1717842d5d31319a1f75bb65a65c958d4d9eb0e39b703a671ac502747a9fc64b7c6d3e5f1a85adf1704
7
+ data.tar.gz: 13a2adda247467bc08f5ffded6cf91a1f8c93f582a34a8809fa0c9c4019028777d954801ead8e1ffb0a10d225e13687ec26c44b9584b388dfef70cec8a09e896
@@ -33,8 +33,13 @@ module Vam
33
33
  options[:version] = args.first
34
34
  end
35
35
 
36
- vam = Vam.new name, self, options
37
- @vams << vam
36
+ begin
37
+ vam = Vam.new name, self, options
38
+ @vams << vam
39
+ rescue MissingComponentError => e
40
+ puts e.message.colorize(:red)
41
+ end
42
+
38
43
  end
39
44
 
40
45
 
@@ -0,0 +1,4 @@
1
+ module Vam
2
+ class MissingComponentError < StandardError
3
+ end
4
+ end
@@ -1,5 +1,7 @@
1
1
  require 'open-uri'
2
2
 
3
+ require 'vam/errors'
4
+
3
5
  module Vam
4
6
 
5
7
  class Repo
@@ -13,11 +15,16 @@ module Vam
13
15
 
14
16
 
15
17
  def latest_version(name)
18
+ raise MissingComponentError, "Missing component with name [ #{name} ]" unless @vendors.has_key? name
16
19
  @vendors[name].keys.sort[0]
17
20
  end
18
21
 
19
22
 
20
23
  def files(name, version)
24
+ unless @vendors.has_key? name and @vendors[name].has_key? version
25
+ raise MissingComponentError, "Missing component with name [ #{name} ] and version [ #{version} ]"
26
+ end
27
+
21
28
  @vendors[name][version].collect do |e|
22
29
  {
23
30
  dir: File.dirname(e),
@@ -52,7 +59,11 @@ module Vam
52
59
 
53
60
  Dir.glob(File.join s, '*').each do |v|
54
61
  version = File.basename(v)
55
- files = Dir.glob(File.join v, '/**/*').collect { |e| e.slice!("#{v}/"); e }
62
+ files = Dir.glob(File.join v, '/**/*').collect do |e|
63
+ next if File.directory? e
64
+ e.slice!("#{v}/")
65
+ e
66
+ end
56
67
  repo.add name, version, files
57
68
  end
58
69
  end
@@ -1,9 +1,11 @@
1
1
  require 'fileutils'
2
2
  require 'colorize'
3
- require 'vam/constants'
4
3
  require 'open-uri'
5
4
  require 'pp'
6
5
 
6
+ require 'vam/constants'
7
+ require 'vam/errors'
8
+
7
9
  module Vam
8
10
 
9
11
  class Vam
@@ -33,12 +35,13 @@ module Vam
33
35
 
34
36
  def install(dest)
35
37
  puts "===Install #{@name}===".colorize(:blue)
36
- unless cached?
37
- download
38
- else
38
+ if cached?
39
39
  puts 'Using cache...'
40
+ else
41
+ download
40
42
  end
41
43
  copy File.join(dest, @name)
44
+
42
45
  end
43
46
 
44
47
 
@@ -52,7 +55,7 @@ module Vam
52
55
 
53
56
  @files.each do |file|
54
57
  dir = File.join @vroot_tmp, file[:dir]
55
- FileUtils.mkdir_p dir
58
+ FileUtils.mkdir_p dir unless Dir.exist? dir
56
59
  df = File.join dir, file[:filename]
57
60
 
58
61
  open File.join(df), 'wb' do |s|
@@ -1,3 +1,3 @@
1
1
  module Vam
2
- VERSION = '1.0.1'
2
+ VERSION = '1.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xingjian Xu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-27 00:00:00.000000000 Z
11
+ date: 2015-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -70,6 +70,7 @@ files:
70
70
  - lib/vam/cli.rb
71
71
  - lib/vam/constants.rb
72
72
  - lib/vam/dsl.rb
73
+ - lib/vam/errors.rb
73
74
  - lib/vam/repo.rb
74
75
  - lib/vam/server.rb
75
76
  - lib/vam/vam.rb