Sha256: 0664bc6e220a4eb62d0b0a33c33a0ae327c509b8e6c30f1b1e27d2360a03ad17

Contents?: true

Size: 711 Bytes

Versions: 2

Compression:

Stored size: 711 Bytes

Contents

class AwesomeTranslations::Handler
  def self.all
    AwesomeTranslations::Handlers.list
  end

  def self.find(id)
    AwesomeTranslations::Handlers.list.each do |handler|
      return handler if handler.id == id.to_s
    end

    raise ActiveRecord::RecordNotFound, "Handlers not found: '#{id}'."
  end

  def initialize(data)
    @data = data
  end

  def id
    @data.fetch(:id)
  end

  def to_param
    id
  end

  def param_key
    id
  end

  def name
    @data.fetch(:name)
  end

  def const
    AwesomeTranslations::Handlers.const_get(@data.fetch(:const_name))
  end

  def instance
    const.new
  end

  def translations
    instance.translations
  end

  def groups
    const.new.groups
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
awesome_translations-0.0.25 app/models/awesome_translations/handler.rb
awesome_translations-0.0.24 app/models/awesome_translations/handler.rb