batch-require 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.
- checksums.yaml +7 -0
- data/lib/batch-require-helper.rb +41 -0
- data/lib/batch-require.rb +33 -0
- metadata +47 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 53ee3ca8ee010477ee3ee907fe9253d8ceeed941
|
4
|
+
data.tar.gz: 7ee46aae94af7600c2ac6349a5e0f61cb5bcf59f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b218352e6e2e01494097989e0342b1ea04bbae5be1377c80ee3e85a6e67ee0b5f1f6ae46ff2be523e3e356b04ba874a76309cc18003b8530e2c0c53a497d0be7
|
7
|
+
data.tar.gz: 85e842a0c282b6d89e803e21c76b80a09db76dab53b387f34db32695bc76b17b89e013e20a73e0f154a3210688da237aaa64a47fdf73f9532f17115980fd6e21
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
3
|
+
def internet_connection?
|
4
|
+
begin
|
5
|
+
true if open("http://www.google.com/")
|
6
|
+
rescue
|
7
|
+
false
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def require_list_modify list
|
12
|
+
|
13
|
+
for i in (0..list.count-1)
|
14
|
+
list[i] = list[i].split("(")[0].gsub(" ","")
|
15
|
+
end
|
16
|
+
|
17
|
+
return list
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def require_inbuilt_modify list
|
22
|
+
|
23
|
+
for i in (0..list.count-1)
|
24
|
+
list[i] = list[i].gsub(".rb","")
|
25
|
+
end
|
26
|
+
|
27
|
+
return list
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
def inbuilt_path
|
32
|
+
|
33
|
+
version = Dir.entries("/usr/lib/ruby")
|
34
|
+
version.delete(".")
|
35
|
+
version.delete("..")
|
36
|
+
version.delete("vendor_ruby")
|
37
|
+
version_used = version[0]
|
38
|
+
|
39
|
+
return "/usr/lib/ruby/#{version_used}"
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative "batch-require-helper"
|
2
|
+
|
3
|
+
class BatchRequire
|
4
|
+
|
5
|
+
def initialize *gems
|
6
|
+
|
7
|
+
gem_list_local , gem_list_server = `gem list -l`.split("\n") , internet_connection? ? `gem list -r`.split("\n") : []
|
8
|
+
gem_list_local , gem_list_server = require_list_modify(gem_list_local) , require_list_modify(gem_list_server)
|
9
|
+
gem_list_inbuilt = require_inbuilt_modify(Dir.entries(inbuilt_path()).keep_if { |inbuilt| (inbuilt.end_with? ".rb")})
|
10
|
+
all_gems = (gem_list_local + gem_list_server + gem_list_inbuilt).uniq
|
11
|
+
|
12
|
+
gems.each do |each_gem|
|
13
|
+
if all_gems.include? each_gem
|
14
|
+
if gem_list_local.include? each_gem
|
15
|
+
require "#{each_gem}"
|
16
|
+
elsif gem_list_inbuilt.include? each_gem
|
17
|
+
require "#{each_gem}"
|
18
|
+
elsif gem_list_server.include? each_gem
|
19
|
+
if internet_connection?
|
20
|
+
`gem install #{each_gem}`
|
21
|
+
require "#{each_gem}"
|
22
|
+
else
|
23
|
+
puts "#{each_gem} gem couldn't be downloaded due to no internet connection"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
else
|
27
|
+
puts "Invalid gem : #{each_gem}."
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: batch-require
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.0'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Athitya Kumar
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-07-14 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A gem that can act as a Gemlock file for ruby with non-rails structure.
|
14
|
+
Online feature allows installation of non-instaled gems while offline feature allows
|
15
|
+
requiring of gems.
|
16
|
+
email: athityakumar@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- lib/batch-require-helper.rb
|
22
|
+
- lib/batch-require.rb
|
23
|
+
homepage: http://rubygems.org/gems/batch-require
|
24
|
+
licenses:
|
25
|
+
- MIT
|
26
|
+
metadata: {}
|
27
|
+
post_install_message:
|
28
|
+
rdoc_options: []
|
29
|
+
require_paths:
|
30
|
+
- lib
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
requirements: []
|
42
|
+
rubyforge_project:
|
43
|
+
rubygems_version: 2.6.4
|
44
|
+
signing_key:
|
45
|
+
specification_version: 4
|
46
|
+
summary: Requires list of gems
|
47
|
+
test_files: []
|