Module: Fuckery

Defined in:
lib/fuckery.rb,
lib/fuckery/commands/new.rb,
lib/fuckery/commands/list.rb,
lib/fuckery/commands/delete.rb,
lib/fuckery/commands/archive.rb

Defined Under Namespace

Modules: Commands

Constant Summary collapse

UnsupportedCommandError =
Class.new StandardError
AlreadyExistsError =
Class.new StandardError
DoesNotExistError =
Class.new StandardError

Class Method Summary collapse

Class Method Details

.command_for(argv) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/fuckery.rb', line 12

def self.command_for(argv)
  command_name = argv.shift
  klass = Commands.const_get command_name.capitalize
  klass.new(*argv)
rescue NameError => e
  raise UnsupportedCommandError.new("#{command_name.inspect} is not a known command")
end

.default_directoryObject



28
29
30
# File 'lib/fuckery.rb', line 28

def self.default_directory
  "#{ENV['HOME']}/.fuckery"
end

.fuckeries_directoryObject



20
21
22
# File 'lib/fuckery.rb', line 20

def self.fuckeries_directory
  ENV['FUCKERY_HOME'] || default_directory
end

.fuckery_directory(name) ⇒ Object



24
25
26
# File 'lib/fuckery.rb', line 24

def self.fuckery_directory(name)
  "#{fuckeries_directory}/#{name}"
end