dotify 0.3.0 → 0.4.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.
- data/README.md +1 -9
- data/lib/dotify/cli.rb +25 -0
- data/lib/dotify/config.rb +4 -0
- data/lib/dotify/version.rb +1 -1
- data/spec/dotify/config_spec.rb +14 -0
- metadata +2 -2
data/README.md
CHANGED
@@ -16,15 +16,7 @@ As this is a gem for use on your local system, I understand there are still many
|
|
16
16
|
|
17
17
|
## Installation
|
18
18
|
|
19
|
-
Add this line to your application's Gemfile:
|
20
|
-
|
21
|
-
gem 'dotify'
|
22
|
-
|
23
|
-
And then execute:
|
24
|
-
|
25
|
-
$ bundle
|
26
|
-
|
27
|
-
Or install it yourself as:
|
19
|
+
It is highly recommended that you just install this gem manually since it is only managing files on your local system:Add this line to your application's Gemfile:
|
28
20
|
|
29
21
|
$ gem install dotify
|
30
22
|
|
data/lib/dotify/cli.rb
CHANGED
@@ -27,6 +27,31 @@ module Dotify
|
|
27
27
|
File.expand_path("../../../templates", __FILE__)
|
28
28
|
end
|
29
29
|
|
30
|
+
desc :save, "Commit Dotify files and push to Github"
|
31
|
+
method_option :message, :aliases => '-m', :type => :string, :required => false, :desc => "Git commit message to send to Github"
|
32
|
+
def save
|
33
|
+
Dir.chdir(Config.path) do
|
34
|
+
system 'git fetch'
|
35
|
+
uncommitted = `git status`.chomp.to_i != 2
|
36
|
+
if uncommitted
|
37
|
+
message = !options[:message].nil? ? options[:message] : ask("Commit message:", :blue)
|
38
|
+
system 'git add .'
|
39
|
+
system "git commit -m '#{message.gsub(/[']/, '\\\\\'')}'"
|
40
|
+
end
|
41
|
+
if `git log origin/master.. --oneline | wc -l`.chomp.to_i != 0
|
42
|
+
say 'Pushing up to Github...', :blue
|
43
|
+
system 'git push origin master'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
desc :edit, "Edit a dotify file"
|
49
|
+
method_option :save, :aliases => '-s', :default => false, :type => :boolean, :require => true, :desc => "Save Dotify files and push to Github"
|
50
|
+
def edit(filename)
|
51
|
+
system "#{Config.editor} #{Files.dotify(filename)}"
|
52
|
+
save if options[:save] == true
|
53
|
+
end
|
54
|
+
|
30
55
|
desc :version, "Check your Dotify version"
|
31
56
|
def version
|
32
57
|
if VersionChecker.out_of_date?
|
data/lib/dotify/config.rb
CHANGED
data/lib/dotify/version.rb
CHANGED
data/spec/dotify/config_spec.rb
CHANGED
@@ -14,12 +14,26 @@ describe Dotify::Config do
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
describe "options" do
|
17
|
+
before do
|
18
|
+
Dotify::Config.stub(:config) do
|
19
|
+
{ :ignore => { :dotfiles => %w[.gemrc], :dotify => %w[.gitmodule] } }
|
20
|
+
end
|
21
|
+
end
|
17
22
|
it "should be able to show the home path" do
|
18
23
|
Dotify::Config.home.should == Thor::Util.user_home
|
19
24
|
end
|
20
25
|
it "should be able to show the dotify path" do
|
21
26
|
Dotify::Config.path.should == File.join(Dotify::Config.home, '.dotify')
|
22
27
|
end
|
28
|
+
it "should set a default editor" do
|
29
|
+
Dotify::Config.editor.should == 'vi'
|
30
|
+
end
|
31
|
+
it "should allow a custom editor" do
|
32
|
+
Dotify::Config.stub(:config) do
|
33
|
+
{ :editor => 'subl' }
|
34
|
+
end
|
35
|
+
Dotify::Config.editor.should == 'subl'
|
36
|
+
end
|
23
37
|
end
|
24
38
|
describe "ignore files" do
|
25
39
|
before do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|