Class: Applyrics::LanguageFile

Inherits:
Object
  • Object
show all
Defined in:
lib/applyrics/languagefile.rb

Instance Method Summary collapse

Constructor Details

#initialize(path, data = nil) ⇒ LanguageFile

Returns a new instance of LanguageFile.



7
8
9
10
11
12
13
# File 'lib/applyrics/languagefile.rb', line 7

def initialize(path, data=nil)
  @path = path
  @hash = data
  if data.nil?
    read
  end
end

Instance Method Details

#[](key) ⇒ Object



15
16
17
# File 'lib/applyrics/languagefile.rb', line 15

def [](key)
  @hash[key]
end

#[]=(key, value) ⇒ Object



19
20
21
# File 'lib/applyrics/languagefile.rb', line 19

def []=(key, value)
  @hash[key] = value
end

#language?(key) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/applyrics/languagefile.rb', line 23

def language?(key)
  @hash.key?(key)
end

#languagesObject



27
28
29
# File 'lib/applyrics/languagefile.rb', line 27

def languages
  @hash.keys
end

#readObject



31
32
33
34
35
# File 'lib/applyrics/languagefile.rb', line 31

def read
  @hash = {}
  data = File.read(@path)
  @hash = MultiJson.load(data)
end

#to_hashObject



37
38
39
# File 'lib/applyrics/languagefile.rb', line 37

def to_hash
  @hash
end

#writeObject



41
42
43
# File 'lib/applyrics/languagefile.rb', line 41

def write()
  File.open(@path, 'w') { |file| file.write(MultiJson.dump(@hash, :pretty => true)) }
end