Class: Traduki::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/traduki/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path = Dir.pwd) ⇒ Config

attr_reader :flat



12
13
14
15
16
# File 'lib/traduki/config.rb', line 12

def initialize(path = Dir.pwd)
  @workdir = path.path
  Dir.chdir @workdir
  load_config
end

Instance Attribute Details

#langdirObject (readonly)

Returns the value of attribute langdir.



8
9
10
# File 'lib/traduki/config.rb', line 8

def langdir
  @langdir
end

#languagesObject (readonly)

Returns the value of attribute languages.



9
10
11
# File 'lib/traduki/config.rb', line 9

def languages
  @languages
end

#workdirObject

Returns the value of attribute workdir.



7
8
9
# File 'lib/traduki/config.rb', line 7

def workdir
  @workdir
end

Instance Method Details

#create_configObject



36
37
38
39
40
# File 'lib/traduki/config.rb', line 36

def create_config
  File.open(@workdir + '/traduki.yml', 'w') do |f|
    f.write YAML.dump generate_config
  end
end

#create_internal_configObject



42
43
44
45
# File 'lib/traduki/config.rb', line 42

def create_internal_config
  # File.open(@langdir + '/traduki.json', 'w') { |f| f.write "// Please DON'T edit this file.\n" }
  File.open(@langdir + '/traduki.json', 'w') { |f| f.write JSON.dump generate_config }
end

#generate_configObject



47
48
49
50
51
52
53
# File 'lib/traduki/config.rb', line 47

def generate_config
  {
    # 'flat'       => @flat,
    'languages'  => @languages,
    'path'       => @relative_path
  }
end

#load_configObject



26
27
28
29
30
31
32
33
34
# File 'lib/traduki/config.rb', line 26

def load_config
  load_config_file

  # @flat          = @config['flat']
  # @flat          = false if @config['flat'].nil?
  @languages     = @config['languages'] || %w[en_US zh_CN]
  @relative_path = @config['path'] || 'Languages'
  @langdir       = (@workdir + "/#{@relative_path}/").path
end

#load_config_fileObject



18
19
20
21
22
23
24
# File 'lib/traduki/config.rb', line 18

def load_config_file
  begin
    @config = YAML.load_file(@workdir + '/traduki.yml') || {}
  rescue Errno::ENOENT
    @config = {}
  end
end