24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/chinese.rb', line 24
def sort_chi!(*fields)
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")
sort_query = '['
fields.each do |field|
puts "#{field} - " + self.maximum("#{field}").length.to_s
(0..(self.maximum("#{field}").length-1)).each { |i| sort_query << " @characters.index(sort_string.#{field}[#{i}]),"}
end
sort_query.chop!
sort_query << ']'
self.all.sort_by! { |sort_string| eval(sort_query) }
end
|