Class: TRMNL::I18n::Synchronization::Repo

Inherits:
Object
  • Object
show all
Defined in:
lib/trmnl/i18n/synchronization/repo.rb

Overview

Represents a directory containing YAML files named “locale.yml”

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directory) ⇒ Repo

Returns a new instance of Repo.



19
20
21
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 19

def initialize directory
  @directory = Pathname directory
end

Class Method Details

.allObject



13
14
15
16
17
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 13

def self.all
  Pathname(__dir__).join("../locales")
                   .directories
                   .map { |directory| new directory }
end

Instance Method Details

#load(locale) ⇒ Object



25
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 25

def load(locale) = YAML.load_file locale_path(locale)

#localesObject



33
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 33

def locales = directory.files("*.yml").map { |path| path.name.to_s }

#nameObject



23
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 23

def name = directory.name.to_s

#save(locale, data) ⇒ Object



27
28
29
30
31
# File 'lib/trmnl/i18n/synchronization/repo.rb', line 27

def save locale, data
  locale_path(locale).open "w" do |file|
    Psych.dump data, file, indentation: 2, line_width: -1
  end
end