codeunion 0.0.3 → 0.1.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 +99 -6
- data/bin/codeunion +45 -1
- data/lib/codeunion/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6501d0e9cfb4ee5627e21baa3a9afc82308b3bd5
|
4
|
+
data.tar.gz: 0a2a9c950509570e6a5c0888580bb2a1efae34e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 952ecd7fd62f6f64fb7fe4c9a622077ca2d9af7a3d37161e6e41694f2cbcae9261853ed3a073ee7172514a0faaf02905a8c5e7f3234f18e603017320b719594f
|
7
|
+
data.tar.gz: 086239d08ac7c5465ce95b527c190960bf2812ea792ee2fb930eaeecc274f4a29eb870e8e78306bfdc8c5f98ec654a617e71b328205448ed5c7b276a0d10c1ff
|
data/README.md
CHANGED
@@ -21,18 +21,98 @@ $ rbenv rehash
|
|
21
21
|
after you install the gem. This is required for rbenv to pick up any new
|
22
22
|
executables installed by a gem, including ours.
|
23
23
|
|
24
|
+
## Getting Started
|
25
|
+
|
26
|
+
Once you've installed the gem, you will be able to run the `codeunion` command:
|
27
|
+
|
28
|
+
```shell-session
|
29
|
+
$ codeunion
|
30
|
+
```
|
31
|
+
|
32
|
+
To run a particular subcommand, add it to the `codeunion` base command. For example, to use the search command you would run:
|
33
|
+
|
34
|
+
```shell-session
|
35
|
+
$ codeunion search [your search query]
|
36
|
+
```
|
37
|
+
|
38
|
+
You can see a help window for any subcommand by appending a `-h` or `--help` flag:
|
39
|
+
|
40
|
+
```shell-session
|
41
|
+
$ codeunion search -h
|
42
|
+
Usage: codeunion search [options] <terms>
|
43
|
+
|
44
|
+
Options:
|
45
|
+
-c, --category CATEGORY Display config variable NAME
|
46
|
+
-h, --help Print this help message
|
47
|
+
```
|
48
|
+
|
24
49
|
## Subcommands
|
25
50
|
|
26
|
-
|
27
|
-
|
51
|
+
#### Config
|
52
|
+
|
53
|
+
Read and write configuration for the CodeUnion command-line tool.
|
54
|
+
|
55
|
+
Example usage:
|
28
56
|
|
29
57
|
```shell-session
|
30
|
-
|
58
|
+
# Set the feedback.repository value
|
59
|
+
$ codeunion config feedback.repository codeunion/feedback-requests-web-fundamentals
|
60
|
+
|
61
|
+
# Get the feedback.repository value
|
62
|
+
$ codeunion config feedback.repository
|
63
|
+
codeunion/feedback-requests-web-fundamentals
|
31
64
|
```
|
32
65
|
|
33
|
-
|
34
|
-
|
35
|
-
|
66
|
+
#### Feedback
|
67
|
+
|
68
|
+
Request feedback on your code.
|
69
|
+
|
70
|
+
Feedback requests require a URL for a _specific commit_ or a _pull request_.
|
71
|
+
|
72
|
+
Example usage:
|
73
|
+
|
74
|
+
```shell-session
|
75
|
+
$ codeunion feedback request https://github.com/codeunion/overheard-server/commit/0edb7866809620013d4a3c2d3b5bea57b12bf255
|
76
|
+
```
|
77
|
+
|
78
|
+
Run `codeunion feedback -h` for more information.
|
79
|
+
|
80
|
+
#### Search
|
81
|
+
|
82
|
+
Search the repositories in the CodeUnion curriculum.
|
83
|
+
|
84
|
+
Example usage:
|
85
|
+
|
86
|
+
```shell-session
|
87
|
+
$ codeunion search html
|
88
|
+
Project: social-wall
|
89
|
+
Your First Web Application
|
90
|
+
https://github.com/codeunion/social-wall
|
91
|
+
tags:
|
92
|
+
Excerpt: HTML templating and ERB - Deploying an application to Heroku
|
93
|
+
The following video tutorials are all based...
|
94
|
+
|
95
|
+
[...]
|
96
|
+
```
|
97
|
+
|
98
|
+
You can narrow your searches by category with the `--category` flag.
|
99
|
+
|
100
|
+
|
101
|
+
```shell-session
|
102
|
+
$ codeunion search html --category example
|
103
|
+
```
|
104
|
+
|
105
|
+
Or you can use the alias commands to narrow your search to either `projects` or `examples`.
|
106
|
+
|
107
|
+
```shell-session
|
108
|
+
$ codeunion examples html
|
109
|
+
```
|
110
|
+
|
111
|
+
...and...
|
112
|
+
|
113
|
+
```shell-session
|
114
|
+
$ codeunion projects html
|
115
|
+
```
|
36
116
|
|
37
117
|
## Development
|
38
118
|
|
@@ -46,3 +126,16 @@ make unit-test # Runs the unit tests against all ruby versions. Thread-safe.
|
|
46
126
|
make feature-test # Runs the feature tests against all ruby versions. Not-thread-safe.
|
47
127
|
make test # Runs unit and feature tests against all ruby versions
|
48
128
|
```
|
129
|
+
|
130
|
+
### How Subcommands Work
|
131
|
+
|
132
|
+
The command-line tool is organized into subcommands, a la git. If we were to
|
133
|
+
run this command, for example
|
134
|
+
|
135
|
+
```shell-session
|
136
|
+
$ codeunion waffles
|
137
|
+
```
|
138
|
+
|
139
|
+
the CodeUnion tool would look for an executable named `codeunion-waffles`. If
|
140
|
+
the executable exists, the tool will run it. If it doesn't exist, we would see
|
141
|
+
a `CommandNotFound` error.
|
data/bin/codeunion
CHANGED
@@ -9,9 +9,53 @@ bin_file = Pathname.new(__FILE__).realpath
|
|
9
9
|
$LOAD_PATH.unshift File.expand_path("../../lib", bin_file)
|
10
10
|
|
11
11
|
# Add our gem-specific "libexec" directory to the PATH
|
12
|
-
|
12
|
+
subcmd_dir = File.expand_path("../../libexec", bin_file)
|
13
|
+
ENV["PATH"] += ":" + subcmd_dir
|
14
|
+
|
15
|
+
# Find all available subcommands
|
16
|
+
subcmd_prefix = "codeunion-"
|
17
|
+
subcmd_files = Pathname.glob(File.join(subcmd_dir, subcmd_prefix + "*"))
|
18
|
+
|
19
|
+
SUBCOMMANDS = subcmd_files.map do |path|
|
20
|
+
path.basename.to_s[/#{subcmd_prefix}(.+)/, 1]
|
21
|
+
end
|
13
22
|
|
14
23
|
require "codeunion/command/main"
|
24
|
+
require "optparse"
|
25
|
+
|
26
|
+
description = <<HELP
|
27
|
+
The CodeUnion command-line tool is meant to be used in conjunction with CodeUnion's curriculum.
|
28
|
+
|
29
|
+
Think of it as your "learning sherpa."
|
30
|
+
HELP
|
31
|
+
|
32
|
+
parser = OptionParser.new do |opts|
|
33
|
+
opts.instance_exec do
|
34
|
+
self.banner = "Usage: codeunion <command>"
|
35
|
+
|
36
|
+
separator ""
|
37
|
+
separator description
|
38
|
+
|
39
|
+
separator ""
|
40
|
+
separator "Commands:"
|
41
|
+
separator SUBCOMMANDS.map { |subcmd| summary_indent + subcmd }
|
42
|
+
|
43
|
+
separator ""
|
44
|
+
separator "Options:"
|
45
|
+
|
46
|
+
on_tail("-h", "--help", "Print this help message") do
|
47
|
+
puts self
|
48
|
+
exit
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
parser.order!
|
54
|
+
|
55
|
+
if ARGV.empty?
|
56
|
+
puts parser
|
57
|
+
exit
|
58
|
+
end
|
15
59
|
|
16
60
|
options = {
|
17
61
|
:command_name => ARGV.first,
|
data/lib/codeunion/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeunion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesse Farmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -229,4 +229,3 @@ test_files:
|
|
229
229
|
- test/unit/feedback_request_test.rb
|
230
230
|
- test/unit/fixtures/sample_config
|
231
231
|
- test/unit/search_test.rb
|
232
|
-
has_rdoc:
|