search_cli 0.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b5aa893ba0c71abb3c9ff569b8b1adbe3186862f1db50dc3746d5156fe261463
4
+ data.tar.gz: d600ee69265a6ca6c770b8c0d4aae20aa850420701ba449a41d5528b1180f7c8
5
+ SHA512:
6
+ metadata.gz: 7600a075aaa9b98bcc4ae10a1e95175b125545c88b389564ee1b15a79470b922982a7f31659c4b3e2cbe8aae312e6d1a04f8c388f8f75bee35d1db9a332f3995
7
+ data.tar.gz: 15d15063dd9cef4a542a9f69c19afe610e4faccbbed965b58ef8c193c3a558e7040d4ed726bb83b2aae9259dd0e62ca9c991db74a8968799560d4c44363d78da
data/bin/search_cli ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+ #!/usr/bin/env ruby
3
+ require 'search'
4
+
5
+
6
+ SearchProviders.new(ARGV)
7
+
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ # diplay module for displaying messages in cli
3
+ module Display
4
+ def self.before_result
5
+ puts "Your results are.."
6
+ end
7
+ def self.after_result
8
+ puts "Thank you for using search_cli"
9
+ end
10
+ def self.help!
11
+ puts "help"
12
+ puts "search format: search-provider keyword/query"
13
+ puts "search-provider"
14
+ puts "bing -> bing search"
15
+ puts "gems -> rubygems search"
16
+ puts "so -> stackoverflow search"
17
+ end
18
+ def self.tags(tag)
19
+ puts '-----------------------------------------'
20
+ puts
21
+ puts tag.text.to_s
22
+ puts (tag[:href]).to_s
23
+ puts
24
+ end
25
+ end
data/lib/search.rb ADDED
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require 'nokogiri'
5
+ require_relative './display_module'
6
+
7
+ class SearchProviders
8
+ def initialize(arg)
9
+ search = SearchProviders.method arg.first
10
+ keyword = arg[1..-1].join(' ')
11
+ search.call keyword
12
+ end
13
+
14
+ def self.bing keyword
15
+ res = RestClient.get 'https://bing.com/search/', params: { q: keyword }
16
+ tags = Nokogiri::HTML.parse(res).xpath('//li[@class="b_algo"] //h2 //a')
17
+ tags.each do |tag|
18
+ Display.tags tag
19
+ end
20
+ end
21
+
22
+ def self.gems keyword
23
+ res = RestClient.get "https://rubygems.org/search?utf8=%E2%9C%93&query=#{keyword}"
24
+ tags = Nokogiri::HTML.parse(res).xpath('//a[@class="gems__gem"]')
25
+ tags.each do |tag|
26
+ Display.tags tag
27
+ end
28
+ end
29
+
30
+ def self.so keyword
31
+ Display.before_result
32
+ res = RestClient.get "https://stackoverflow.com/search?q=#{keyword}"
33
+ tags = Nokogiri::HTML.parse(res).xpath('//a[@class="question-hyperlink"]')
34
+ tags.each do |tag|
35
+ Display.tags tag
36
+ end
37
+ Display.after_result
38
+ end
39
+ def self.help(noarg=nil)
40
+ Display.help!
41
+ end
42
+ end
metadata ADDED
@@ -0,0 +1,50 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: search_cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - imhta
8
+ - adbusaid10
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2019-07-28 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: ruby gem for search google, bing, rubygem , etc,. from cli
15
+ email:
16
+ - imhtapm@gmail.com
17
+ - abdusaid.ab@gmail.com
18
+ executables:
19
+ - search_cli
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - bin/search_cli
24
+ - lib/display_module.rb
25
+ - lib/search.rb
26
+ homepage: https://rubygems.org/gems/search_cli
27
+ licenses:
28
+ - MIT
29
+ metadata:
30
+ source_code_uri: https://github.com/imhta/search_cli
31
+ post_install_message:
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ required_rubygems_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ requirements: []
46
+ rubygems_version: 3.0.3
47
+ signing_key:
48
+ specification_version: 4
49
+ summary: ruby gem for search google, bing, rubygem , etc,. from cli
50
+ test_files: []