module HrrRbSsh::SubclassWithPreferenceListable

Public Instance Methods

[](key) click to toggle source
# File lib/hrr_rb_ssh/subclass_with_preference_listable.rb, line 10
def [] key
  __subclass_list__(__method__).find{ |klass| klass::NAME == key }
end
inherited(klass) click to toggle source
# File lib/hrr_rb_ssh/subclass_with_preference_listable.rb, line 6
def inherited klass
  @subclass_list.push klass if @subclass_list
end
list_preferred() click to toggle source
# File lib/hrr_rb_ssh/subclass_with_preference_listable.rb, line 18
def list_preferred
  __subclass_list__(__method__).select{ |klass| klass::PREFERENCE > 0 }.sort_by{ |klass| klass::PREFERENCE }.reverse.map{ |klass| klass::NAME }
end
list_supported() click to toggle source
# File lib/hrr_rb_ssh/subclass_with_preference_listable.rb, line 14
def list_supported
  __subclass_list__(__method__).map{ |klass| klass::NAME }
end

Private Instance Methods

__subclass_list__(method_name) click to toggle source
# File lib/hrr_rb_ssh/subclass_with_preference_listable.rb, line 22
def __subclass_list__ method_name
  send(:method_missing, method_name) unless @subclass_list
  @subclass_list
end