is_available 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 38664d725db13c59129638d5ec63bbb48a272d01
4
+ data.tar.gz: 49cc8ebe4e454e6ccc016e02a32087b3371a7674
5
+ SHA512:
6
+ metadata.gz: 16827c1eca071b9031ef1519f69d3ac9b40674180dbb6565311f98d4b98637b7545f31133ab8c7eb05c41f8c9f8a6366ebeca98a960ad50b16e9a48614b59829
7
+ data.tar.gz: 42b5aeb40e58f36bf14325c0f8a75d8519add3ab9a6359cf5fc08e441db8e187ceb6cc9b05b719554a5cda9a18b9d30fc56fd2bb4979ab225dc58ecdb893d39b
data/bin/is_available ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'is_available'
5
+ require 'command_lion'
6
+
7
+ CommandLion::App.run do
8
+
9
+ name "is_available"
10
+ description "Simply check if a domain has been registered ( or if it is resolvable ) to determine if it's available."
11
+ version IsAvailable::VERSION
12
+
13
+ command :check do
14
+ flag "--check"
15
+ description "Check if a given domain has been found to be registered ( or not )."
16
+ type :string
17
+ action do
18
+ check = IsAvailable.available?(argument)
19
+ if options[:true_or_false].given?
20
+ puts check
21
+ else
22
+ if check
23
+ puts "#{argument} is available!"
24
+ else
25
+ puts "#{argument} is not available!"
26
+ end
27
+ end
28
+ exit 0 if check; exit 1
29
+ end
30
+
31
+ option :true_or_false do
32
+ flag "--true-or-false"
33
+ description "Simply provide a true ( if the domain is avaialble ) or false response."
34
+ end
35
+ end
36
+
37
+ end
@@ -0,0 +1,21 @@
1
+ require "unirest"
2
+ require "resolv"
3
+ require "is_available/version"
4
+
5
+ module IsAvailable
6
+ WHOIS_DOT_COM_LINK = "https://www.whois.com/whois/"
7
+
8
+ def self.registered?(domain)
9
+ Unirest.get(WHOIS_DOT_COM_LINK+domain).body.include?("Registrar")
10
+ end
11
+
12
+ def self.resolvable?(domain)
13
+ return true if Resolv.getaddress domain
14
+ rescue Resolv::ResolvError
15
+ return false
16
+ end
17
+
18
+ def self.available?(domain)
19
+ return false if IsAvailable.registered?(domain); true
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ module IsAvailable
2
+ VERSION = "1.0.0"
3
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: is_available
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Kent 'picat' Gruber
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-10-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: unirest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: command_lion
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.15'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.15'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ description:
84
+ email:
85
+ - kgruber1@emich.edu
86
+ executables:
87
+ - is_available
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - bin/is_available
92
+ - lib/is_available.rb
93
+ - lib/is_available/version.rb
94
+ homepage: https://github.com/picatz/is_available
95
+ licenses:
96
+ - MIT
97
+ metadata: {}
98
+ post_install_message:
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 2.6.12
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: Simply check if a domain is available to be registered.
118
+ test_files: []