class PrepareFile

Attributes

file[RW]
fileName[RW]

Public Class Methods

createIfNotInConfig(file) click to toggle source
# File lib/envGen/add_file.rb, line 13
def self.createIfNotInConfig(file) # creates a files object if not exists
  if !inConfig?(file)
    PrepareFile.new(file)
  else
    puts "'#{File.basename(file)}' already added"
  end
end
inConfig?(file) click to toggle source
# File lib/envGen/add_file.rb, line 21
def self.inConfig?(file) # looks through environment for fileName; doesn't create an object/instance method because it may not be necessary
  File.readlines("config/environment.rb").grep(/#{File.basename(file)}/).count > 0
end
new(file) click to toggle source
# File lib/envGen/add_file.rb, line 8
def initialize(file)
  @file = file
  @fileName = File.basename(file)
end

Public Instance Methods

isRuby?() click to toggle source
# File lib/envGen/add_file.rb, line 32
def isRuby?
  File.extname(fileName) == ".rb"
end
notRuby() click to toggle source
# File lib/envGen/add_file.rb, line 36
def notRuby # handles non-Ruby files
  puts "'#{fileName}' is not a Ruby (.rb) file. Continue? (Y/N)"
  answer = gets.chomp.strip
  if answer == "Y"
    write
  else
    puts "'#{fileName}' not added"
  end
end
relativePath() click to toggle source
# File lib/envGen/add_file.rb, line 46
def relativePath # finds file path relative to environment
  dir = Pathname.new (Dir.pwd + "/config")
  filePathname = Pathname.new File.absolute_path(file)
  relative = (filePathname.relative_path_from dir).to_s
end
write() click to toggle source
# File lib/envGen/add_file.rb, line 25
def write # adds relative path of file to environment
  File.open("config/environment.rb", "a") {|env|
    env.puts "require_relative '#{relativePath}'"
  }
  puts "Added '#{fileName}'"
end