Sha256: da76cf321e24d7f3d61563b7e42f155ab86afe6f36542585c59091766d860b24
Contents?: true
Size: 1.88 KB
Versions: 5
Compression:
Stored size: 1.88 KB
Contents
module Gritano module CLI def CLI._execute(cmd, console) begin output = console.execute(cmd) if output[0] output[1].to_s else "error: #{output[1]}" end rescue console.execute(["help"])[1] end end def CLI.execute(cmd, stdin = STDIN, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir) Gritano::Console.remote_console(false) _execute(cmd, Gritano::Console::Gritano.new(stdin, home_dir, repo_dir)) end def CLI.check(cmd, login, stdin = STDIN, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir) Gritano::Console.remote_console(true) _execute(cmd + [login], Gritano::Console::Remote.new(stdin, home_dir, repo_dir)) end def CLI.check_pub_key(key, home_dir = Etc.getpwuid.dir) ActiveRecord::Base.establish_connection(YAML::load(File.open(File.join(home_dir, '.gritano', 'database.yml')))) k = Key.find_by_key(key) if k return "command=\"gritano-remote #{k.user.login}\" #{k.key}" else return "invalid" end end def CLI.check_password(login, password, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir) ActiveRecord::Base.establish_connection(YAML::load(File.open(File.join(home_dir, '.gritano', 'database.yml')))) user = User.find_by_login(login) if user return user.password == password end return false end def CLI.check_access(login, repo, access, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir) ActiveRecord::Base.establish_connection(YAML::load(File.open(File.join(home_dir, '.gritano', 'database.yml')))) user = User.find_by_login(login) if user repo = Gritano::Repository.find_by_name(repo) if repo return user.check_access(repo, access) end end return false end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
gritano-0.11.0 | lib/gritano/cli.rb |
gritano-0.10.3 | lib/gritano/cli.rb |
gritano-0.10.2 | lib/gritano/cli.rb |
gritano-0.10.1 | lib/gritano/cli.rb |
gritano-0.10.0 | lib/gritano/cli.rb |