class GettextI18nRailsJs::Config

Attributes

domain[RW]
handlebars_function[RW]
javascript_function[RW]
jed_options[RW]
output_path[RW]
rails_engine[RW]

Public Class Methods

new(&block) click to toggle source
# File lib/gettext_i18n_rails_js/config.rb, line 36
def initialize(&block)
  @output_path = defaults[:output_path]
  @handlebars_function = defaults[:handlebars_function]
  @javascript_function = defaults[:javascript_function]
  @jed_options = defaults[:jed_options].symbolize_keys
  @rails_engine = defaults[:rails_engine]
  @domain = defaults[:domain]

  instance_eval(&block) if block_given?
end

Protected Instance Methods

defaults() click to toggle source
# File lib/gettext_i18n_rails_js/config.rb, line 49
def defaults
  file = ::Rails.root.join(
    "config",
    "gettext_i18n_rails_js.yml"
  )

  values = {
    output_path: File.join(
      "app",
      "assets",
      "javascripts",
      "locale"
    ),
    handlebars_function: "__",
    javascript_function: "__",
    jed_options: {
      pretty: false
    },
    rails_engine: ::Rails,
    domain: "app"
  }

  if file.exist?
    yaml = YAML.load_file(file) || {}

    values.deep_merge(
      yaml
    ).with_indifferent_access
  else
    values.with_indifferent_access
  end
end