vam 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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