check_everything 0.2.9 → 0.3.1
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 +7 -7
- data/README.md +9 -0
- data/lib/check_everything.rb +59 -13
- metadata +34 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
|
4
|
-
|
5
|
-
SHA512:
|
6
|
-
|
7
|
-
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8bfae1799343f128c618b226f00b9f4009112e19
|
4
|
+
data.tar.gz: 27a40cd1d9fd13f11f5a428c00c6bfda5ac9e239
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bae0d73b76dc55968a2efdc877a960ea37205f7f50eae48043bd431db2863a329e5a653b0883c45b2d08405c37e2d5dc900c408db15ac7342ec2d07c0f393c79
|
7
|
+
data.tar.gz: b2f311014e19ecfc8fa12e5c5b783937b30f825cef7a12dcdea328d3ff80ecdfb1336b52fd50e40bd08a5fd62569d8fa915229ade25af263b61a00f74cf69be4
|
data/README.md
CHANGED
@@ -10,6 +10,8 @@ Type `gem install check_everything` into the command line.
|
|
10
10
|
### Run
|
11
11
|
|
12
12
|
Type `check_everything` into the command line to pull up the default URLs.
|
13
|
+
Type `check_everything` followed by one or more categories to open specific
|
14
|
+
groups of sites.
|
13
15
|
|
14
16
|
You can add the following tags (listed in order of precedence; only the first
|
15
17
|
will be evaluated):
|
@@ -24,6 +26,13 @@ will be evaluated):
|
|
24
26
|
| <category> | open a specific site group |
|
25
27
|
| <Ruby class> | open Ruby documentation (if feature is installed) |
|
26
28
|
|
29
|
+
NOTE: in versions 0.3.0 and higher, you can check Ruby documentation in one of
|
30
|
+
two ways:
|
31
|
+
----
|
32
|
+
1. `check_everything array` (for the [class](http://www.ruby-doc.org/core-2.1.0/Array.html))
|
33
|
+
2. `check_everything array#slice` (for the
|
34
|
+
[method](http://www.ruby-doc.org/core-2.1.0/Array.html#method-i-slice))
|
35
|
+
----
|
27
36
|
|
28
37
|
### Configure
|
29
38
|
|
data/lib/check_everything.rb
CHANGED
@@ -12,6 +12,24 @@ class CheckEverything
|
|
12
12
|
LINKPATH = "#{File.expand_path('~')}/.check_everything_links"
|
13
13
|
LINKFILE = "#{LINKPATH}/links.txt"
|
14
14
|
RUBYFILE = "#{LINKPATH}/ruby.txt"
|
15
|
+
SUB_CHARS = {
|
16
|
+
'?' => '-3F-',
|
17
|
+
'!' => '-21-',
|
18
|
+
'|' => '-7C-',
|
19
|
+
']' => '-5D-',
|
20
|
+
'[' => '-5B-',
|
21
|
+
'=' => '-3D-',
|
22
|
+
'+' => '-2B-',
|
23
|
+
'-' => '-2D-',
|
24
|
+
'*' => '-2A-',
|
25
|
+
'/' => '-2F-',
|
26
|
+
'%' => '-25-',
|
27
|
+
'~' => '-7E-',
|
28
|
+
'<' => '-3C-',
|
29
|
+
'>' => '-3E-',
|
30
|
+
'&' => '-26-',
|
31
|
+
'@' => '-40-'
|
32
|
+
}
|
15
33
|
|
16
34
|
def self.run
|
17
35
|
@argv = ARGV.map(&:downcase)
|
@@ -49,7 +67,9 @@ class CheckEverything
|
|
49
67
|
# First check for unknown arguments and print out a helpful message.
|
50
68
|
known_tags = KNOWN_TAGS.values.flatten + @links.keys + @ruby_links
|
51
69
|
unmatched_args = @argv.select do |arg|
|
52
|
-
!known_tags.any?
|
70
|
+
!known_tags.any? do |known_tag|
|
71
|
+
known_tag.downcase == arg.split("#")[0]
|
72
|
+
end
|
53
73
|
end
|
54
74
|
if !unmatched_args.empty?
|
55
75
|
puts "\nUnknown option#{@argv.size > 1 ? "s" : nil}: " +
|
@@ -136,27 +156,53 @@ class CheckEverything
|
|
136
156
|
if @argv.any?{|arg| KNOWN_TAGS[:all].include?(arg)}
|
137
157
|
links = @links.values.flatten.uniq
|
138
158
|
else
|
159
|
+
# Get links for all recognized categories
|
139
160
|
links = @argv.map{|category| @links[category]}.flatten.compact.uniq
|
140
161
|
# If a Ruby class name has been specified, open documentation for that class.
|
162
|
+
links.concat(add_documentation_to_links)
|
163
|
+
end
|
164
|
+
|
165
|
+
urls = links.map { |url|
|
166
|
+
url.start_with?("http") ? url : url = "http://" << url
|
167
|
+
}.join(" ")
|
168
|
+
system("open #{urls}")
|
169
|
+
|
170
|
+
puts "\nIt's been a pleasure serving up your websites!"
|
171
|
+
puts "Did you know you can use categories to open specific site groups? " +
|
172
|
+
"Enter 'check_everything --links' for details.\n" if ARGV.empty?
|
173
|
+
end
|
174
|
+
|
175
|
+
def self.add_documentation_to_links
|
176
|
+
[].tap do |links|
|
141
177
|
if File.exists?(RUBYFILE)
|
142
178
|
classes = read_file(RUBYFILE).split
|
179
|
+
|
180
|
+
# Allow arguments of the form "array" or "array#collect"
|
181
|
+
class_argv = @argv.map {|arg| arg.split('#')}
|
143
182
|
class_matches = classes.map { |class_name|
|
144
|
-
|
145
|
-
|
183
|
+
class_argv.map { |name|
|
184
|
+
# If a match is found, return an array with either 1 element (class)
|
185
|
+
# or 2 elements (class and method)
|
186
|
+
if class_name.downcase == name[0]
|
187
|
+
[class_name, name[1]].compact
|
188
|
+
end
|
189
|
+
}.compact
|
190
|
+
}.reject(&:empty?).flatten(1)
|
191
|
+
|
192
|
+
# If matches were found, serve them up!
|
146
193
|
if class_matches.size > 0
|
147
|
-
class_matches.each
|
194
|
+
class_matches.each do |klass|
|
195
|
+
# Add a method name to the link only if one is specified.
|
196
|
+
method = klass[1] ? "#method-i-#{klass[1]}" : ""
|
197
|
+
method = method.gsub(/[#{SUB_CHARS.keys}\[\]]/,SUB_CHARS)
|
198
|
+
method = method.gsub('--','-')
|
199
|
+
method = method[0..-2] if method[-1] == '-'
|
200
|
+
method = method[1..-1] if method[0] == '-'
|
201
|
+
links << "ruby-doc.org/core-#{RUBY_VERSION}/#{klass[0]}.html#{method}"
|
202
|
+
end
|
148
203
|
end
|
149
204
|
end
|
150
205
|
end
|
151
|
-
|
152
|
-
links.each do |url|
|
153
|
-
url = "http://" << url if !url.start_with?("http")
|
154
|
-
system("open #{url}")
|
155
|
-
end
|
156
|
-
|
157
|
-
puts "\nIt's been a pleasure serving up your websites!"
|
158
|
-
puts "Did you know you can use categories to open specific site groups? " +
|
159
|
-
"Enter 'check_everything --links' for details.\n" if ARGV.empty?
|
160
206
|
end
|
161
207
|
|
162
208
|
def self.read_file(file_name)
|
metadata
CHANGED
@@ -1,64 +1,63 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: check_everything
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Ariel Caplan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-02-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
15
14
|
name: nokogiri
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
19
17
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
18
|
+
- !ruby/object:Gem::Version
|
21
19
|
version: 1.5.0
|
22
20
|
type: :runtime
|
23
|
-
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.5.0
|
24
27
|
description: Open Frequently Used Websites from the Command Line!
|
25
28
|
email: ariel.caplan@flatironschool.com
|
26
|
-
executables:
|
29
|
+
executables:
|
27
30
|
- check_everything
|
28
31
|
extensions: []
|
29
|
-
|
30
|
-
extra_rdoc_files:
|
32
|
+
extra_rdoc_files:
|
31
33
|
- README.md
|
32
|
-
files:
|
33
|
-
- lib/check_everything.rb
|
34
|
-
- lib/check_everything/links.txt
|
34
|
+
files:
|
35
35
|
- README.md
|
36
36
|
- bin/check_everything
|
37
|
+
- lib/check_everything.rb
|
38
|
+
- lib/check_everything/links.txt
|
37
39
|
homepage: http://rubygems.org/gems/check_everything
|
38
|
-
licenses:
|
40
|
+
licenses:
|
39
41
|
- MIT
|
40
42
|
metadata: {}
|
41
|
-
|
42
43
|
post_install_message:
|
43
44
|
rdoc_options: []
|
44
|
-
|
45
|
-
require_paths:
|
45
|
+
require_paths:
|
46
46
|
- lib
|
47
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
-
requirements:
|
49
|
-
-
|
50
|
-
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
56
57
|
requirements: []
|
57
|
-
|
58
58
|
rubyforge_project:
|
59
|
-
rubygems_version: 2.
|
59
|
+
rubygems_version: 2.2.1
|
60
60
|
signing_key:
|
61
61
|
specification_version: 4
|
62
62
|
summary: Check Everything
|
63
63
|
test_files: []
|
64
|
-
|