git-feats 0.0.5 → 0.0.6

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/HISTORY.md CHANGED
@@ -1,3 +1,12 @@
1
+ # Alpha Releases
2
+
3
+ ## 0.0.6 (2012-12-12)
4
+
5
+ * adds 'feats help' command
6
+ * changes 'update-feats' to 'feats update'
7
+ * fixes serialization bug
8
+ * adds much better 'feats update' dialogue
9
+
1
10
  ## 0.0.4 (2012-12-11)
2
11
 
3
12
  * adds `version` command
data/README.md CHANGED
@@ -12,7 +12,7 @@ See [alias](#alias) for instructions.
12
12
 
13
13
  ## Usage
14
14
 
15
- #### With Alias
15
+ #### With alias
16
16
 
17
17
  If you alias `git-feats`, just keep using `git` like you always have. Occasionally, you will complete feats and it will look like this:
18
18
 
@@ -36,7 +36,7 @@ no changes added to commit (use "git add" and/or "git commit -a")
36
36
 
37
37
  ```
38
38
 
39
- #### Without Alias
39
+ #### Without alias
40
40
 
41
41
  If you don't alias `git` to `git-feats` you can still use `git-feats` in place of `git`:
42
42
 
@@ -44,6 +44,21 @@ If you don't alias `git` to `git-feats` you can still use `git-feats` in place o
44
44
  $ git-feats status
45
45
  ```
46
46
 
47
+ #### git-feats commands
48
+
49
+ git-feats also has commands that git-feats specific and don't mess with git.
50
+
51
+
52
+ ```
53
+ $ git feats
54
+
55
+ usage: git feats <command>
56
+
57
+ commands:
58
+ update Update your feats and command history on gitfeats.com
59
+ help Display git-feats specific help
60
+ ```
61
+
47
62
  ## Alias
48
63
 
49
64
  Add the following to your `.bash_profile` or other startup script:
@@ -58,6 +73,10 @@ alias git=git-feats
58
73
 
59
74
  Linking your account is as easy as:
60
75
 
76
+ ```
77
+ git config --global github.user <your github username>
78
+ ```
79
+
61
80
  ```
62
81
  git config --global feats.key <your api key>
63
82
  ```
@@ -11,12 +11,16 @@ module GitFeats
11
11
  def upload_feats
12
12
  # Post json to git-feats
13
13
  begin
14
+ puts "Updating feats on gitfeats.com..."
15
+ # Attempt to update feats
14
16
  conn.post do |req|
15
17
  req.url '/api/post_feats'
16
18
  req.headers['Content-Type'] = 'application/json'
17
19
  req.body = upload_feats_body.to_json
18
20
  end
21
+ puts
19
22
  rescue
23
+ puts "Connection failed!\n\n"
20
24
  end
21
25
  end
22
26
 
@@ -18,7 +18,7 @@ module GitFeats
18
18
 
19
19
  # Check if config exists and is configured properly
20
20
  def exists?
21
- name && key
21
+ !name.empty? && !key.empty?
22
22
  end
23
23
  end
24
24
  end
@@ -15,15 +15,21 @@ module GitFeats
15
15
  new(*args).run
16
16
  end
17
17
 
18
- # Execute git command
18
+ # Run the args as one of the following:
19
+ # - Pure git-feats command
20
+ # - Overridden git command
21
+ # - Pure git command
19
22
  def run
20
-
21
- # Check for git-feats commands
23
+ # Pure git-feats command
22
24
  case @args[0]
23
- when "update-feats"
24
- update_feats
25
+ when "feats"
26
+ run_feats_cmd
27
+
28
+ # Overriden git command
25
29
  when "version" || "--version"
26
30
  version
31
+
32
+ # Pure git command
27
33
  else
28
34
  exec_args
29
35
  end
@@ -31,17 +37,44 @@ module GitFeats
31
37
 
32
38
  private
33
39
 
34
- def update_feats
40
+ # Run git-feats specific update command
41
+ def feats_update
35
42
  if Config.exists?
36
43
  API.upload_feats
37
44
  end
38
45
  end
39
46
 
47
+ # Run git-feats specific help command
48
+ def feats_help
49
+ puts <<help
50
+ usage: git feats <command>
51
+
52
+ commands:
53
+ update Update your feats and command history on gitfeats.com
54
+ help Display git-feats specific help
55
+ help
56
+ end
57
+
58
+ # Override `git version` to output the git-feats version
40
59
  def version
41
60
  puts "git-feats version #{GitFeats::VERSION}"
42
61
  exec_args
43
62
  end
44
63
 
64
+ # Run a git-feats specific command
65
+ #
66
+ # Precondition: The first argument is 'feats'
67
+ # ex: 'git feats update'
68
+ def run_feats_cmd
69
+ case @args[1]
70
+ when "update"
71
+ feats_update
72
+ else
73
+ feats_help
74
+ end
75
+ end
76
+
77
+ # Exec the args as a git command
45
78
  def exec_args
46
79
  exec(*@args.to_exec)
47
80
  end
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'fileutils'
2
3
 
3
4
  module GitFeats
4
5
  module Serializer
@@ -13,8 +14,7 @@ module GitFeats
13
14
  # Returns nothing
14
15
  def serialize(path, data)
15
16
  # Make a path to the data file if one doesn't already exist
16
- dir = File.dirname path
17
- FileUtils.mkdir(dir) unless File.directory?(dir)
17
+ mkpath_to path
18
18
 
19
19
  File.open(path, "w") do |f|
20
20
  f.puts data.to_json
@@ -35,5 +35,13 @@ module GitFeats
35
35
  end
36
36
  end
37
37
  end
38
+
39
+ private
40
+
41
+ def mkpath_to(path)
42
+ unless File.exists? path
43
+ FileUtils.mkpath File.dirname(path)
44
+ end
45
+ end
38
46
  end
39
47
  end
@@ -1,3 +1,3 @@
1
1
  module GitFeats
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-feats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: