Sha256: 60075e6dc35c133e8264efe53f2ac52a2b960c96426308a4bdf0b73f849c82e7

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# coding: utf-8
require 'logger'

# FIXME: 定数値を別のファイルにまとめたい

module GetGithubPubKeys
  module Files
    DEFAULT_SSH_DIRECTORY = "/#{ENV["HOME"]}/.ssh".freeze
    DEFAULT_IDENTIFY = '.pub'.freeze
    attr_accessor :path
    
    # This method confirm exists .ssh directory. 
    def ssh_exists?
      File.exists(DEFAULT_SSH_DIRECTORY)
    end
    #
    # create /HOME_DIRECOTY/.ssh directory
    def ssh_create
      Dir.mkdir("#{ENV["HOME"]}/#{DEFAULT_SSH_DIRECTORY}")
    end

    # public_keys file create to .ssh directory.
    def self.create(file_name, body)
      file_name = file_name.to_s
      file_name = File.basename(file_name)
      file_name = file_name + "_" + Time.now.strftime("%Y%0m%0d%0H%0M%0S") + DEFAULT_IDENTIFY
      body = body.gsub("\r\n","").gsub("\n","") # TODO: Windows動作未確認
      File.open(DEFAULT_SSH_DIRECTORY + "/" + file_name, "w") do |file|
        file.puts body
      end
      puts "Create public_key file: #{file_name}."
    rescue => e
      # FIXME: 例外処理
      puts e.message
      nil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
get_github_pub_keys-0.0.3 lib/get_github_pub_keys/files.rb