Sha256: 110b1ffb86dcca22bc6bee5f4d5a1b181edb22eb2a519666949eadc867a2d1a8
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
require 'rprogram/extensions/meta' require 'rprogram/compat' module RProgram module Nameable def self.included(base) base.metaclass_eval do def program_name @program_name end def program_name=(name) @program_name = name.to_s end def program_aliases @program_aliases ||= [] end def program_aliases=(aliases) @program_aliases = aliases.to_a.map { |name| name.to_s } end def find_program names = self.program_aliases names.unshift(self.program_name) if self.program_name return Compat.find_program_by_names(*names) end end end # # Returns the program name of a class. # def program_name self.class.program_name end # # Returns the program aliases. # def program_aliases self.class.program_aliases end protected # # Sets the program name for a class to the specified _name_. # # name_program 'ls' # def Object.name_program(name) self.program_name = name end # # Sets the program aliases for a class to the specified _aliases_. # # name_program 'vim', 'vi' # def Object.alias_program(*aliases) self.program_aliases = aliases end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rprogram-0.0.9 | lib/rprogram/nameable.rb |