devhints 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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/bin/devhints +54 -0
  3. metadata +73 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 98946d449ce09cc45ee75502dd9eda73d25781e72e62271899aa3ac226c56c58
4
+ data.tar.gz: 1d4a51d940de0f4ac31d2c02c70cc451c348f566abfddd273604c2c6ccb0e695
5
+ SHA512:
6
+ metadata.gz: 4388ab48b436349db12e4291e1780505bbfb001c5ab5700e4fb25e0c9ccdf2abd60930cb2a4ec17695869b9f5effdb07ac01e5704be792e70cc3553551b0ca25
7
+ data.tar.gz: 2c3c1aefa55d1cd74e1b45e213bd68055be3108f630b454739ebd72863565a43434ad7332faebc4af180b603898700fe414af94e0df16a245c8a1b5cb11e6962
data/bin/devhints ADDED
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'thor'
4
+ require 'launchy'
5
+ require 'net/http'
6
+
7
+ class MyCLI < Thor
8
+
9
+ def self.exit_on_failure?
10
+ true
11
+ end
12
+
13
+ desc "open [THING]", "Search for a certain cheat sheet (you can also just run `devhints [THING]` and it's the same)"
14
+ def open(thing=nil)
15
+ if thing == nil
16
+ Launchy.open "https://devhints.io/"
17
+ else
18
+ response = Net::HTTP.get_response(URI.parse("https://devhints.io/#{thing}"))
19
+ if response.code_type == Net::HTTPNotFound
20
+ puts "! Page not found (https://devhints.io/#{thing})"
21
+ exit 1
22
+ else
23
+ Launchy.open "https://devhints.io/#{thing}"
24
+ end
25
+ end
26
+ end
27
+
28
+ desc "version", "Print version"
29
+ def version
30
+ begin
31
+ puts "Devhints CLI v#{Gem.loaded_specs["devhints"].version}"
32
+ exit 0
33
+ rescue
34
+ puts "! Devhints CLI: error loading version"
35
+ exit 1
36
+ end
37
+ end
38
+
39
+ map %w[--version -v] => :version
40
+ default_task :search
41
+
42
+ end
43
+
44
+ # The following is from https://stackoverflow.com/a/49044225/
45
+ help_commands = Thor::HELP_MAPPINGS + ["help"]
46
+ if help_commands.any? { |cmd| ARGV.include? cmd }
47
+ help_commands.each do |cmd|
48
+ if match = ARGV.delete(cmd)
49
+ ARGV.unshift match
50
+ end
51
+ end
52
+ end
53
+
54
+ MyCLI.start(ARGV)
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: devhints
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jack MapelLentz
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-05-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: launchy
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
41
+ description: This is a simple gem that checkes whether a cheat sheet for something
42
+ exists at devhints.io, then opens it in a web browser if it does.
43
+ email:
44
+ executables:
45
+ - devhints
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - bin/devhints
50
+ homepage: https://github.com/jltml/devhints-cli
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.0.3
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: A CLI for devhints.io
73
+ test_files: []