summaryrefslogtreecommitdiff
path: root/web/lib/language.rb
blob: ec7e8190652281c0878a8332ebde6fac45fa0f3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# web/lib/language.rb
class Language

    @@languages = Hash.new

    attr_reader :code, :english_name, :native_name

    def initialize(options)
        @code         = options['code']
        @english_name = options['english_name']
        @native_name  = options['native_name']
        @@languages[@code] = self
    end

    def self.[](code)
        @@languages[code] || self.new('code' => code, 'english_name' => '(unknown)', 'native_name' => '(unknown)')
    end

    def self.each
        @@languages.keys.sort.each do |lang|
            yield @@languages[lang]
        end
    end

end