class Utilities
Attributes
model_directory[W]
tmp_directory[W]
Public Instance Methods
edit_models()
click to toggle source
# File lib/pry_utilities.rb, line 21 def edit_models raise "Directory does not exist" unless File.exist?(model_directory) raise "ENV['EDITOR'] not set" unless ENV['EDITOR'] `#{ENV['EDITOR']} #{model_directory}` puts "The models are open in your editor, but you will need to load them again after completing your work." true end
get_note(type="md")
click to toggle source
Great for writing descriptions without messing around with quotes and escapes and things TODO: Make this work for several sessions. (Thread it?)
# File lib/pry_utilities.rb, line 72 def get_note(type="md") contents = nil begin filename = File.join(tmp_directory, "#{self.object_id}.#{type}") i = 0 while File.exist?(filename) filename = File.join(tmp_directory, "#{self.object_id}#{i}.#{type}") i += 1 end raise "ENV['EDITOR'] not set" unless ENV['EDITOR'] `#{ENV['EDITOR']} #{filename}` contents = File.read(filename) ensure puts "Cleaning up temp file and exiting ..." FileUtils.rm_f(filename) end end
list_models()
click to toggle source
# File lib/pry_utilities.rb, line 59 def list_models Dir.glob("#{model_directory}/*.rb").map { |file| File.basename(file).split('.')[0..-2].join('.').to_sym} true end
load_model(name)
click to toggle source
# File lib/pry_utilities.rb, line 29 def load_model(name) raise "Directory does not exist" unless File.exist?(model_directory) filename = File.join(model_directory, "#{name}.rb") load filename end
load_models()
click to toggle source
# File lib/pry_utilities.rb, line 35 def load_models Dir.glob("#{model_directory}/*.rb").map { |filename| load filename} end
model_directory()
click to toggle source
# File lib/pry_utilities.rb, line 47 def model_directory return @model_directory if @model_directory if File.exists?(user_directory) FileUtils.mkdir(user_model_directory) unless File.exists?(user_model_directory) @model_directory = user_model_directory elsif File.exists?("/tmp") @model_directory = File.expand_path("/tmp") if File.exists?("/tmp") end @model_directory end
tmp_directory()
click to toggle source
# File lib/pry_utilities.rb, line 64 def tmp_directory @tmp_directory ||= "/tmp" end
user_directory()
click to toggle source
# File lib/pry_utilities.rb, line 39 def user_directory File.expand_path("~/.gearbox") end
user_model_directory()
click to toggle source
# File lib/pry_utilities.rb, line 43 def user_model_directory @user_model_directory ||= File.join(user_directory, "models") end
write_model(name)
click to toggle source
Great for writing ad hoc models. TODO: Make this work for several sessions. (Thread it?)
# File lib/pry_utilities.rb, line 11 def write_model(name) raise "Directory does not exist" unless File.exist?(model_directory) filename = File.join(model_directory, "#{name}.rb") raise "ENV['EDITOR'] not set" unless ENV['EDITOR'] `#{ENV['EDITOR']} #{filename}` load filename end
Also aliased as: update_model, build_model