bonjourgem_results 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in bonjourgem_results.gemspec
4
+ gemspec
@@ -0,0 +1,5 @@
1
+ ## Usage
2
+
3
+ -g, --gem Single gem name
4
+ -l, --list Path to a file contain list of gems separated by \n
5
+ -h, --help Print this help message
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift('lib')
4
+
5
+ begin
6
+ require 'bonjourgem_results'
7
+ rescue LoadError
8
+ require 'rubygems'
9
+ require 'bonjourgem_results'
10
+ end
11
+
12
+ include BonjourgemResults
13
+
14
+ BonjourgemResults.run
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "bonjourgem_results/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "bonjourgem_results"
7
+ s.version = BonjourgemResults::VERSION
8
+ s.authors = ["David Authier"]
9
+ s.email = ["aweaoftheworld@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Show if a gem exist on Bonjourgem.com}
12
+ s.description = %q{What can I say more ?}
13
+
14
+ s.rubyforge_project = "bonjourgem_results"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ s.add_runtime_dependency "nokogiri"
24
+ s.add_runtime_dependency "slop"
25
+ s.add_runtime_dependency "colorize"
26
+ end
@@ -0,0 +1,52 @@
1
+ require 'bonjourgem_results/version'
2
+ require 'nokogiri'
3
+ require 'open-uri'
4
+ require 'slop'
5
+ require 'colorize'
6
+ require "parser/bonjourgem_parser"
7
+
8
+ module BonjourgemResults
9
+
10
+ def run
11
+ opts = Slop.parse do
12
+ on '-g', :gem= , 'Single gem name'
13
+ on '-l', :list=, 'Path to a file contain list of gems separated by \\n'
14
+ on :h, :help , 'Print this help message', :tail => true do
15
+ puts help
16
+ exit
17
+ end
18
+ end
19
+
20
+ bonjourgem = BonjourgemParser.new opts
21
+ bonjourgem.process
22
+ end
23
+
24
+ end
25
+
26
+ #!/usr/bin/env ruby
27
+ # -*- encoding : utf-8 -*-
28
+ # require 'nokogiri'
29
+ # require 'open-uri'
30
+
31
+ #def already_covered?(gem)
32
+ # doc = Nokogiri::HTML(open("https://www.google.fr/search?q=#{gem}+site%3Abonjourgem.com"))
33
+ # return !doc.css('h3.r a').empty?
34
+ #end
35
+
36
+ #unless ARGV.length == 1
37
+ # puts "Usage : bonjourgem-results.rb <file|name>"
38
+ # puts "file is a list of gems separated by \\n"
39
+ # exit
40
+ #end
41
+ #
42
+ #arg = ARGV[0]
43
+ #if (File.exists?(arg))
44
+ # f = File.open(arg, 'r')
45
+ # f.each_line do |line|
46
+ # line.strip!
47
+ # next if line.empty?
48
+ # puts "#{line} : #{already_covered?(line).inspect}"
49
+ # end
50
+ #else
51
+ # puts already_covered?(arg).inspect
52
+ #end
@@ -0,0 +1,3 @@
1
+ module BonjourgemResults
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,42 @@
1
+ # Based on https://github.com/msadouni/bonjourgem-results
2
+
3
+ class BonjourgemParser
4
+
5
+ def initialize(opts)
6
+ @file = opts[:l] || false
7
+ @gem = opts[:g] || false
8
+ end
9
+
10
+ def process
11
+ if @file
12
+ if (File.exists?(@file))
13
+ f = File.open(@file, 'r')
14
+ f.each_line do |line|
15
+ line.strip!
16
+ next if line.empty?
17
+ already_covered?(line).inspect
18
+ end
19
+ else
20
+ puts "There is no file here".red
21
+ exit
22
+ end
23
+ elsif @gem
24
+ already_covered?(@gem).inspect
25
+ end
26
+ end
27
+
28
+ def output_result(text, bool)
29
+ if bool
30
+ puts "#{text} : already covered !".red
31
+ else
32
+ puts "#{text} : not covered atm".green
33
+ end
34
+ end
35
+
36
+ def already_covered?(gem)
37
+ gem_encode = URI::encode(gem)
38
+ doc = Nokogiri::HTML(open("https://www.google.fr/search?q=#{gem_encode}+site%3Abonjourgem.com"))
39
+ output_result(gem, !doc.css('h3.r a').empty?)
40
+ end
41
+
42
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bonjourgem_results
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - David Authier
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: &70166616580520 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70166616580520
25
+ - !ruby/object:Gem::Dependency
26
+ name: slop
27
+ requirement: &70166616578500 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70166616578500
36
+ - !ruby/object:Gem::Dependency
37
+ name: colorize
38
+ requirement: &70166616577180 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70166616577180
47
+ description: What can I say more ?
48
+ email:
49
+ - aweaoftheworld@gmail.com
50
+ executables:
51
+ - bonjourgem_results
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - .gitignore
56
+ - Gemfile
57
+ - README.md
58
+ - Rakefile
59
+ - bin/bonjourgem_results
60
+ - bonjourgem_results.gemspec
61
+ - lib/bonjourgem_results.rb
62
+ - lib/bonjourgem_results/version.rb
63
+ - lib/parser/bonjourgem_parser.rb
64
+ homepage: ''
65
+ licenses: []
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ requirements: []
83
+ rubyforge_project: bonjourgem_results
84
+ rubygems_version: 1.8.10
85
+ signing_key:
86
+ specification_version: 3
87
+ summary: Show if a gem exist on Bonjourgem.com
88
+ test_files: []