sheldon 0.2.7 → 0.3.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 +4 -4
- data/README.md +1 -1
- data/bin/sheldon +15 -4
- data/lib/sheldon/brain.rb +7 -0
- data/lib/sheldon/sheldon.rb +6 -2
- metadata +25 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b89027c2b9ed6b6279afac46478daeb80519575
|
4
|
+
data.tar.gz: c28cc8c9b82878fe51dce0f307d30c2e0c9c879d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a405d489433c81ca4fb4a99c0319cd1c6fa19a31d05106183ea2c13535258d828b64c15b76ac1335d990e7186c6778f629d87fa766b158cb49787540d9fcb151
|
7
|
+
data.tar.gz: 4195d7653dedbaaaf78a365954372009a06834b2217abeb33fcd784f519f769bbaeea62f8f53de55f85029bd4030c717116132d7ede5e62180b422ee232af362
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Sheldon
|
2
2
|
[](https://travis-ci.org/dvjones89/sheldon)
|
3
|
+
[](https://coveralls.io/github/dvjones89/sheldon?branch=master)
|
3
4
|
[](https://badge.fury.io/rb/sheldon)
|
4
5
|
|
5
|
-
|
6
6
|
Designed with the obsessive developer in mind, Sheldon makes it easy for you to manage your .dotfiles and configs across all your OS X / linux devices.
|
7
7
|
|
8
8
|
### Installation:
|
data/bin/sheldon
CHANGED
@@ -21,6 +21,7 @@ module CLI
|
|
21
21
|
abs_learn_path = File.expand_path(rel_path_to_target)
|
22
22
|
recall_cue = prompt_user("Recall Cue For File/Folder")
|
23
23
|
sheldon.learn(recall_cue, abs_learn_path)
|
24
|
+
sheldon.recall(recall_cue)
|
24
25
|
end
|
25
26
|
|
26
27
|
desc "recall recall_cue", "Symlink a previously learnt file/directory to it's original location on the filesystem.\nUse `sheldon list` for available cues."
|
@@ -42,7 +43,9 @@ module CLI
|
|
42
43
|
|
43
44
|
desc "list", "List all recall cues known by Sheldon"
|
44
45
|
def list
|
45
|
-
|
46
|
+
sheldon.list_cues.each do |recall_cue|
|
47
|
+
sheldon.recalled?(recall_cue) ? green(recall_cue) : red(recall_cue)
|
48
|
+
end
|
46
49
|
end
|
47
50
|
|
48
51
|
desc "version", "Prints the current version of Sheldon"
|
@@ -52,14 +55,22 @@ module CLI
|
|
52
55
|
|
53
56
|
private
|
54
57
|
|
58
|
+
def announce(message)
|
59
|
+
logo = "💥".encode("utf-8")
|
60
|
+
puts logo + " Sheldon" + logo + " #{message}"
|
61
|
+
end
|
62
|
+
|
63
|
+
def green(message)
|
64
|
+
puts "\e[32m#{message}\e[0m"
|
65
|
+
end
|
66
|
+
|
55
67
|
def prompt_user(prompt)
|
56
68
|
print(prompt + ": ")
|
57
69
|
STDIN.gets.chomp
|
58
70
|
end
|
59
71
|
|
60
|
-
def
|
61
|
-
|
62
|
-
puts logo + " Sheldon" + logo + " #{message}"
|
72
|
+
def red(message)
|
73
|
+
puts "\e[31m#{message}\e[0m"
|
63
74
|
end
|
64
75
|
|
65
76
|
def sheldon
|
data/lib/sheldon/brain.rb
CHANGED
@@ -25,6 +25,13 @@ class Brain
|
|
25
25
|
FileUtils.ln_s(read_cell(source_cell), destination_path, force: true)
|
26
26
|
end
|
27
27
|
|
28
|
+
def recalled?(recall_cue)
|
29
|
+
entry = memory.recall(recall_cue)
|
30
|
+
destination_path = add_home(entry[:filepath])
|
31
|
+
destination_dir = File.dirname(destination_path)
|
32
|
+
File.symlink?(destination_path)
|
33
|
+
end
|
34
|
+
|
28
35
|
def has_cue?(recall_cue)
|
29
36
|
memory.has_cue?(recall_cue)
|
30
37
|
end
|
data/lib/sheldon/sheldon.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "fileutils"
|
2
2
|
|
3
3
|
class Sheldon
|
4
|
-
VERSION = "0.
|
4
|
+
VERSION = "0.3.0".freeze
|
5
5
|
attr_reader :brain, :builder
|
6
6
|
|
7
7
|
def initialize(sheldon_data_dir, opts = {})
|
@@ -19,7 +19,6 @@ class Sheldon
|
|
19
19
|
raise "This cue has already been used."
|
20
20
|
else
|
21
21
|
brain.learn(recall_cue, abs_learn_path)
|
22
|
-
brain.recall(recall_cue)
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
@@ -27,6 +26,11 @@ class Sheldon
|
|
27
26
|
brain.list_cues
|
28
27
|
end
|
29
28
|
|
29
|
+
def recalled?(recall_cue)
|
30
|
+
raise "Cue '#{recall_cue}' could not be found." unless brain.has_cue?(recall_cue)
|
31
|
+
brain.recalled?(recall_cue)
|
32
|
+
end
|
33
|
+
|
30
34
|
def recall(recall_cue)
|
31
35
|
raise "Cue '#{recall_cue}' could not be found." unless brain.has_cue?(recall_cue)
|
32
36
|
brain.recall(recall_cue)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sheldon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Jones
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -53,19 +53,39 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: coveralls
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.8.13
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.8.13
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: byebug
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '9.0'
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 9.0.0
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - "~>"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '9.0'
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 9.0.0
|
69
89
|
description: Another config and dotfile manager for unix environments
|
70
90
|
email: david@dvj.me.uk
|
71
91
|
executables:
|