class ArrayChinese

Public Class Methods

new() click to toggle source
# File lib/a-b-chi.rb, line 9
def initialize
  spec = Gem::Specification.find_by_name("a-b-chi")
  gem_root = spec.gem_dir
  @gem_lib = gem_root + "/lib"
  @characters = File.read("#{@gem_lib}/characters.txt").split("\n")
end

Public Instance Methods

sort() click to toggle source
# File lib/a-b-chi.rb, line 16
def sort
  self.array_sort_by { |sort_string| eval(get_sort_query) }
end
sort!() click to toggle source
# File lib/a-b-chi.rb, line 20
def sort!
  self.array_sort_by! { |sort_string| eval(get_sort_query) }
end

Private Instance Methods

get_sort_query() click to toggle source
# File lib/a-b-chi.rb, line 26
def get_sort_query
  sort_query = '['
    (0..self.max_by(&:length).length).each { |i| sort_query  << " @characters.index(sort_string[#{i}])," }
    sort_query.chop!
  sort_query << ']'
  return sort_query
end