Class: LibFinder::LibWorker
- Inherits:
-
Object
- Object
- LibFinder::LibWorker
- Includes:
- HTTParty
- Defined in:
- lib/libFinder.rb
Class Method Summary collapse
- .get_dependencies(gems) ⇒ Object
- .get_os ⇒ Object
- .is_rails ⇒ Object
- .parse_gem_file ⇒ Object
- .sniff ⇒ Object
Class Method Details
.get_dependencies(gems) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/libFinder.rb', line 62 def self.get_dependencies(gems) HTTParty.post("http://localhost:3000/find_dependencies", :body => {gems:gems, os_id:self.get_os }.to_json, :headers => { 'Content-Type' => 'application/json' } ) end |
.get_os ⇒ Object
72 73 74 75 76 77 78 79 80 |
# File 'lib/libFinder.rb', line 72 def self.get_os if (/linux/ =~ RbConfig::CONFIG["host_os"]) != nil return 1 #this is the id of the os that sits in the database end if (/darwin/ =~ RbConfig::CONFIG["host_os"]) != nil return 2 #this is the id of the os that sits in the database end end |
.is_rails ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/libFinder.rb', line 15 def self.is_rails base_path = Dir.pwd controllers = File.exist?(base_path+"/app/controllers") #check if the file has a controllers folder or not models = File.exist?(base_path+"/app/models") #check if the file has a models folder or not if controllers && models #if both are true then it is a rails app return true else puts "this is not a rails application file please change directory to a rails application file" return false end end |
.parse_gem_file ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/libFinder.rb', line 30 def self.parse_gem_file gems = [] File.readlines(Dir.pwd+"/Gemfile").each do |line| line_data = line.split regex = /\d\.\d\.\d/x if line_data[0] == "gem" line_data.each do |data| if data.match regex puts data end end if line_data.length >3 gem_info = {name: line_data[1].gsub(/[', ]/, '') ,version: line_data[3].gsub(/[']/,'') } gems.push(gem_info) elsif line_data.length ==3 gem_info = {name: line_data[1].gsub(/[', ]/, '') ,version: line_data[2].gsub(/[']/,'') } gems.push(gem_info) else gem_info = {name: line_data[1].gsub(/[' ]/, '')} gems.push(gem_info) end end end self.get_dependencies(gems) end |
.sniff ⇒ Object
8 9 10 11 12 13 |
# File 'lib/libFinder.rb', line 8 def self.sniff # a function to start the gem working used sniff cause i saw my dog doing so when searching for something :D if(self.is_rails) self.parse_gem_file end end |