lace 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjlhNmZlYTA1ZDNhM2FjNGRiM2E2YWU1YTBkNGJjNmM5ZDcwMjkzMw==
5
- data.tar.gz: !binary |-
6
- ZjkzNjE1ZTY5NTA1ZjEzODkxYjQ3YmMxNzQyMDkzYTU5NTYyN2E1MA==
2
+ SHA256:
3
+ metadata.gz: 80eaddd6780262b38522e7d8d6f65871b9ab81197b5704133d71e2b4662882c3
4
+ data.tar.gz: 3ad1dc409bb5423a65ddd2f5a5ba01e8da64d6dbd571ea4ff66b8de9b5d87336
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- N2NkYTRiZTkzOTQyYTI4ZjBiZTE4ZjkyZDA3ZDg0YTVjMjVhYmViNjFhMTRm
10
- M2U0MjJmOTM1NzhmNTc5ZDUyYzgxNWMxNzM0YjZjYmFhMjE2MzFjYzc4YTdk
11
- NDU4ZTczMmQ4NWM3MDM5ZjY0Y2RjMzBmMTY0NDg0ZjBkOWU3MmI=
12
- data.tar.gz: !binary |-
13
- M2JlY2ZmNDZjZjY0OWQ1NDNlOWMzNWQwYjQzMjliYjg1YTE5ZTNmNTNlYzM5
14
- ZjkwZDQzZDdhODc2OTRiNzI3ZmUwNjllMGM3OTE3OTEwYzM3MjI4YmE0ZTAw
15
- NWVjZDYwMGQ5MmU2NDM5ODdjZmUxMTUwOWUxZDljZTQ5MDgxMDY=
6
+ metadata.gz: 9197f2403e97ab8f15273faddbbb05d734b0888329dee180078f11d330a1b72c5afe5cbf2cdc1616919319d14651a25b6470d74fc83197c575a9c492d38ec143
7
+ data.tar.gz: 1d4edb089fe50cb82f8796fd297d055cf4c58539ad640c1ec06aeeea3de1d330c2d591203dbf62784b6c099e5b46a238269fc7026d0d0580a842aff6468d0a5f
data/bin/lace CHANGED
@@ -36,10 +36,6 @@ require "extend/pathname"
36
36
 
37
37
  ARGV.extend(LaceArgvExtension)
38
38
 
39
- if ARGV.debug?
40
- require 'pry'
41
- end
42
-
43
39
  def require? path
44
40
  require path.to_s.chomp
45
41
  rescue LoadError => e
@@ -55,12 +51,6 @@ case ARGV.first when '-h', '--help', '--usage', '-?', 'help', nil
55
51
  when '--version'
56
52
  puts Lace::VERSION
57
53
  exit 0
58
- when '-v'
59
- puts "lace #{Lace::VERSION}"
60
- # Shift the -v to the end of the parameter list
61
- ARGV << ARGV.shift
62
- # If no other arguments, just quit here.
63
- exit 0 if ARGV.length == 1
64
54
  end
65
55
 
66
56
 
@@ -99,7 +89,6 @@ rescue Interrupt => e
99
89
  rescue RuntimeError, SystemCallError => e
100
90
  raise if e.message.empty?
101
91
  onoe e
102
- puts e.backtrace if false
103
92
  exit 1
104
93
  rescue Exception => e
105
94
  onoe e
@@ -1,12 +1,11 @@
1
-
2
1
  require 'lace/package'
3
2
  require 'lace/exceptions'
4
3
 
5
4
  module Lace extend self
6
- def activate
7
- package_name = ARGV.shift
8
- raise ResourceNotSpecified unless package_name
9
- PackageUtils.activate package_name
10
- end
5
+ def activate
6
+ package_name = ARGV.shift
7
+ raise ResourceNotSpecified unless package_name
8
+ PackageUtils.activate package_name
9
+ end
11
10
  end
12
11
 
@@ -2,10 +2,10 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def deactivate
6
- package_name = ARGV.shift
7
- raise ResourceNotSpecified unless package_name
8
- PackageUtils.deactivate package_name
9
- end
5
+ def deactivate
6
+ package_name = ARGV.shift
7
+ raise ResourceNotSpecified unless package_name
8
+ PackageUtils.deactivate package_name
9
+ end
10
10
  end
11
11
 
@@ -2,18 +2,18 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def fetch
6
- resource = ARGV.shift
5
+ def fetch
6
+ resource = ARGV.shift
7
7
  desired_package_name = ARGV.value "name"
8
- raise ResourceNotSpecified unless resource
9
- package_name, target_folder = PackageUtils.fetch(resource, desired_package_name)
8
+ raise ResourceNotSpecified unless resource
9
+ package_name, target_folder = PackageUtils.fetch(resource, desired_package_name)
10
10
  begin
11
- Package.new(package_name, false)
11
+ Package.new(package_name, false)
12
12
  rescue PackageFactsNotFound => e
13
- onoe e.message
14
- onoe "Removing fetched files"
15
- FileUtils.rm_rf(target_folder)
16
- Lace.failed = true
13
+ onoe e.message
14
+ onoe "Removing fetched files"
15
+ FileUtils.rm_rf(target_folder)
16
+ Lace.failed = true
17
17
  end
18
- end
18
+ end
19
19
  end
@@ -3,11 +3,18 @@ require 'lace/package'
3
3
  module Lace extend self
4
4
 
5
5
  def linked_files
6
- home_dir = ENV["HOME"]
7
- Dir.foreach(home_dir).map do |filename|
8
- next if filename == '.' or filename == '..'
9
- File.readlink File.join(home_dir, filename) if File.symlink? File.join(home_dir, filename)
10
- end.compact.uniq
6
+ home_dir = Pathname.new ENV["HOME"]
7
+ find_links home_dir
8
+ end
9
+
10
+ def find_links dir
11
+ dir.children.map do |path|
12
+ if path.directory? && !path.symlink?
13
+ find_links path
14
+ else
15
+ File.readlink path if path.symlink?
16
+ end
17
+ end.flatten.compact.uniq
11
18
  end
12
19
 
13
20
  def active_packages
@@ -2,10 +2,10 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def remove
6
- package_name = ARGV.shift
7
- raise ResourceNotSpecified unless package_name
8
- PackageUtils.remove package_name
9
- end
5
+ def remove
6
+ package_name = ARGV.shift
7
+ raise ResourceNotSpecified unless package_name
8
+ PackageUtils.remove package_name
9
+ end
10
10
  end
11
11
 
@@ -2,8 +2,8 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def setup
6
- package_name = ARGV.shift
7
- PackageUtils.setup package_name
8
- end
5
+ def setup
6
+ package_name = ARGV.shift
7
+ PackageUtils.setup package_name
8
+ end
9
9
  end
@@ -2,9 +2,9 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def update
6
- resource = ARGV.shift
7
- raise ResourceNotSpecified unless resource
8
- PackageUtils.update resource
9
- end
5
+ def update
6
+ resource = ARGV.shift
7
+ raise ResourceNotSpecified unless resource
8
+ PackageUtils.update resource
9
+ end
10
10
  end
@@ -2,7 +2,7 @@ require 'lace/package'
2
2
  require 'lace/exceptions'
3
3
 
4
4
  module Lace extend self
5
- def upgrade
5
+ def upgrade
6
6
  require 'cmd/list'
7
7
  if Lace.active_packages.empty?
8
8
  upgrade_lace_folder
@@ -10,7 +10,7 @@ module Lace extend self
10
10
  onoe "Please deactivate all packages before continuing"
11
11
  Lace.failed = true
12
12
  end
13
- end
13
+ end
14
14
  def upgrade_lace_folder
15
15
  old_dir = Pathname.new(ENV["HOME"])/".cassias"
16
16
  if old_dir.exist?
@@ -17,14 +17,14 @@ Lace-Manifest Validation Report:
17
17
  EOS
18
18
 
19
19
  module Lace extend self
20
- def validate
21
- resource = ARGV.shift
20
+ def validate
21
+ resource = ARGV.shift
22
22
  flavor = ARGV.shift
23
- raise ResourceNotSpecified unless resource
23
+ raise ResourceNotSpecified unless resource
24
24
  validation = PackageValidator.new(PackageFacts.new(resource), flavor)
25
25
  puts ERB.new(VALIDATE, nil, '-').result(binding)
26
26
  Lace.failed = true if validation.has_errors?
27
- end
27
+ end
28
28
  end
29
29
 
30
30
  class PackageValidator
@@ -58,7 +58,7 @@ class PackageValidator
58
58
  def check_hooks hook_cmd
59
59
  hook_cmd.map do |cmd|
60
60
  if !File.exist? cmd
61
- "#{cmd} cannot be found"
61
+ "#{cmd} cannot be found"
62
62
  elsif !File.executable? cmd
63
63
  "#{cmd} is not executable"
64
64
  end
@@ -0,0 +1,16 @@
1
+ require 'lace/package'
2
+ require 'lace/exceptions'
3
+
4
+ module Lace extend self
5
+ def where
6
+ package_name = ARGV.shift
7
+ raise ResourceNotSpecified unless package_name
8
+ begin
9
+ package = Package.new(package_name, false)
10
+ puts "#{package.path}"
11
+ rescue PackageFactsNotFound => e
12
+ onoe "asd"
13
+ Lace.failed = true
14
+ end
15
+ end
16
+ end
@@ -155,9 +155,9 @@ class GitDownloadStrategy < AbstractDownloadStrategy
155
155
  if super
156
156
  super
157
157
  elsif @uri.include? "github.com"
158
- @uri.split("/")[-2]
158
+ @uri.split("/")[-2]
159
159
  elsif File.directory? @uri
160
- File.basename(@uri)
160
+ File.basename(@uri)
161
161
  else
162
162
  raise "Cannot determine a proper name with #@uri"
163
163
  end
@@ -177,15 +177,8 @@ end
177
177
 
178
178
 
179
179
  class DownloadStrategyDetector
180
- def self.detect(uri, strategy=nil)
181
- if strategy.nil?
180
+ def self.detect(uri)
182
181
  detect_from_uri(uri)
183
- elsif Symbol === strategy
184
- detect_from_symbol(strategy)
185
- else
186
- raise TypeError,
187
- "Unknown download strategy specification #{strategy.inspect}"
188
- end
189
182
  end
190
183
 
191
184
  def self.detect_from_uri(uri)
@@ -200,20 +193,11 @@ class DownloadStrategyDetector
200
193
  end
201
194
 
202
195
  case uri
203
- when %r[^git://] then GitDownloadStrategy
204
- when %r[^https?://.+\.git$] then GitDownloadStrategy
196
+ when %r[^git://] then GitDownloadStrategy
197
+ when %r[^https?://.+\.git$] then GitDownloadStrategy
205
198
  # else CurlDownloadStrategy
206
199
  else
207
200
  raise "Cannot determine download startegy from #{uri}"
208
201
  end
209
202
  end
210
-
211
- def self.detect_from_symbol(symbol)
212
- case symbol
213
- when :git then GitDownloadStrategy
214
- when :local_file then LocalFileStrategy
215
- else
216
- raise "Unknown download strategy #{strategy} was requested."
217
- end
218
- end
219
203
  end
@@ -21,8 +21,8 @@ class NonActiveFlavorError < RuntimeError
21
21
  end
22
22
 
23
23
  class PackageAlreadyInstalled < RuntimeError
24
- def initialize
25
- super "Package already installed"
24
+ def initialize location
25
+ super "Package already installed at #{location}"
26
26
  end
27
27
  end
28
28
 
@@ -1,5 +1,3 @@
1
1
  require 'lace/package/utils'
2
2
  require 'lace/package/facts'
3
3
  require 'lace/package/package'
4
-
5
-
@@ -5,7 +5,7 @@ class PackageUtils
5
5
  def self.fetch uri, desired_package_name=nil
6
6
  downloader_cls = DownloadStrategyDetector.detect(uri)
7
7
  downloader = downloader_cls.new(uri, desired_package_name)
8
- raise PackageAlreadyInstalled.new if downloader.target_folder.exist?
8
+ raise PackageAlreadyInstalled.new(downloader.target_folder) if downloader.target_folder.exist?
9
9
  downloader.fetch
10
10
  return downloader.name, downloader.target_folder
11
11
  end
@@ -90,9 +90,9 @@ end
90
90
 
91
91
  def determine_os
92
92
  case RUBY_PLATFORM
93
- when /darwin/ then :mac
94
- when /linux/ then :linux
95
- else raise InvalidOSError
93
+ when /darwin/ then :mac
94
+ when /linux/ then :linux
95
+ else raise InvalidOSError
96
96
  end
97
97
  end
98
98
 
@@ -1,3 +1,3 @@
1
1
  module Lace
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Richard Koenig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-22 00:00:00.000000000 Z
11
+ date: 2020-03-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Lace lets you manage your dotfiles when using them on multiple machines
14
14
  email: kai@kairichardkoenig.de
@@ -17,6 +17,7 @@ executables:
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - bin/lace
20
21
  - lib/cmd/activate.rb
21
22
  - lib/cmd/deactivate.rb
22
23
  - lib/cmd/fetch.rb
@@ -28,18 +29,18 @@ files:
28
29
  - lib/cmd/update.rb
29
30
  - lib/cmd/upgrade.rb
30
31
  - lib/cmd/validate.rb
32
+ - lib/cmd/where.rb
31
33
  - lib/extend/ARGV.rb
32
34
  - lib/extend/pathname.rb
35
+ - lib/lace.rb
33
36
  - lib/lace/download_strategy.rb
34
37
  - lib/lace/exceptions.rb
38
+ - lib/lace/package.rb
35
39
  - lib/lace/package/facts.rb
36
40
  - lib/lace/package/package.rb
37
41
  - lib/lace/package/utils.rb
38
- - lib/lace/package.rb
39
42
  - lib/lace/utils.rb
40
43
  - lib/lace/version.rb
41
- - lib/lace.rb
42
- - bin/lace
43
44
  homepage: https://github.com/kairichard/lace
44
45
  licenses:
45
46
  - MIT
@@ -50,17 +51,16 @@ require_paths:
50
51
  - lib
51
52
  required_ruby_version: !ruby/object:Gem::Requirement
52
53
  requirements:
53
- - - ! '>='
54
+ - - ">="
54
55
  - !ruby/object:Gem::Version
55
56
  version: 1.8.6
56
57
  required_rubygems_version: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - ! '>='
59
+ - - ">="
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
62
  requirements: []
62
- rubyforge_project:
63
- rubygems_version: 2.1.11
63
+ rubygems_version: 3.1.2
64
64
  signing_key:
65
65
  specification_version: 4
66
66
  summary: Manage your .dotfiles