Class: I18n::Migrations::Migration
- Inherits:
-
Object
- Object
- I18n::Migrations::Migration
- Defined in:
- lib/i18n/migrations/migration.rb
Defined Under Namespace
Classes: Logger
Instance Method Summary collapse
-
#add(key, term, overrides = {}) ⇒ Object
Overrides can be provided, e.g.
-
#initialize(translations:, locale_code:, dictionary:, direction: :up, logger: Logger.new) ⇒ Migration
constructor
translations = facade over translations locale = en | es | …
- #mv(old_key, new_key) ⇒ Object
-
#rm(key, old_term, overrides = {}) ⇒ Object
Overrides can be provided, e.g.
-
#update(key, new_term, old_term, overrides = {}) ⇒ Object
Overrides can be provided, e.g.
Constructor Details
#initialize(translations:, locale_code:, dictionary:, direction: :up, logger: Logger.new) ⇒ Migration
translations = facade over translations locale = en | es | … dictionary = call dictionary.lookup(term) to get localized version of a term direction = :up | :down (up when migrating, down when rolling back)
18 19 20 21 |
# File 'lib/i18n/migrations/migration.rb', line 18 def initialize(translations:, locale_code:, dictionary:, direction: :up, logger: Logger.new) @translations, @locale_code, @dictionary, @direction, @logger = translations, locale_code, dictionary, direction, logger end |
Instance Method Details
#add(key, term, overrides = {}) ⇒ Object
Overrides can be provided, e.g. { es: ‘El foo de la barro’ }
24 25 26 27 28 29 30 31 32 |
# File 'lib/i18n/migrations/migration.rb', line 24 def add(key, term, overrides = {}) if @direction == :up @logger.info "adding #{key}" _add key, term, overrides else @logger.info "unadding #{key}" _rm key end end |
#mv(old_key, new_key) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/i18n/migrations/migration.rb', line 34 def mv(old_key, new_key) if @direction == :up @logger.info "moving #{old_key} => #{new_key}" _mv old_key, new_key else @logger.info "moving back #{new_key} => #{old_key}" _mv new_key, old_key end end |
#rm(key, old_term, overrides = {}) ⇒ Object
Overrides can be provided, e.g. { es: ‘El foo de la barro’ }
45 46 47 48 49 50 51 52 53 |
# File 'lib/i18n/migrations/migration.rb', line 45 def rm(key, old_term, overrides = {}) if @direction == :up @logger.info "removing #{key}" _rm key else @logger.info "unremoving #{key}" _add key, old_term, overrides end end |
#update(key, new_term, old_term, overrides = {}) ⇒ Object
Overrides can be provided, e.g. { es: ‘El foo de la barro’ }
56 57 58 59 60 61 62 63 64 |
# File 'lib/i18n/migrations/migration.rb', line 56 def update(key, new_term, old_term, overrides = {}) if @direction == :up @logger.info "updating #{key}" _update key, new_term, overrides else @logger.info "unupdating #{key}" _update key, old_term, {} end end |