Sha256: 658e6d16559f794ba4b23c1e4c6cdb670ba062897ce2accf6d5be988c6c4a034
Contents?: true
Size: 1.75 KB
Versions: 2
Compression:
Stored size: 1.75 KB
Contents
require 'sequel' require 'fileutils' module SSH module Manager class Database FileUtils.mkdir_p("#{File.join(ENV['HOME'])}/.config/sshm/") unless Dir.exists?("#{ENV['HOME']}/.config/sshm") FileUtils.cp ("#{File.dirname(__FILE__)}/../../../config/sshm.db"), ("#{File.join(Dir.home)}" + '/.config/sshm/') unless File.exists?(("#{File.join(Dir.home)}" + '/.config/sshm/sshm.db')) @path = "#{File.join(ENV['HOME'])}/.config/sshm" DATABASE = Sequel.connect("sqlite://#{@path}/sshm.db") attr_accessor :connections def initialize @connections= DATABASE.from(:connection) end def get_connection_data @connections.map([:ip, :user, :note, :group]) end def add_new_connection(ip, user='root', hostname='', port=22, note='', created_at, option, count, group, last_time) @connections.insert(:ip => ip, :user => user, :hostname => hostname, :port => port, :note => note, :created_at => created_at, :options => option, :group => group, :count => count, :last_time => last_time) end def delete_connection(ip) # add && :user => user to ensure deletion @connections.where(:ip => ip).delete end def update_connection(ip, user, hostname, port, note) @connections.where(:ip => ip).update(:user => user, :hostname => hostname, :port => port, :note => note) end def search_for(term) # check online: search for 'contains' not for complete matching return @connections.where(:ip => term), @connections.where(:user => term), @connections.where(:hostname => term), @connections.where(:port => term), @connections.where(:note => term), @connections.where(:group => term), @connections.where(:options => term) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ssh-manager-1.0.0 | lib/ssh/manager/db.rb |
ssh-manager-0.0.9 | lib/ssh/manager/db.rb |