Sha256: aa13f3f04b2d4904c2e15941cc08c8cc3a5502a01bd724f0f3222cfe6318d321

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

module ExpressTranslate
  # Construction
  #   code: no_one
  #   text: Number one....
  
  class LanguageDetail < RLangModel
    @name = "lang_package_id"
    @primary = "code"
    @attr = "text"
    
    @lang = {}
    
    def self.info(lang)
      @lang = lang
      self.name = "lang_#{lang['packages']}_#{lang['id']}"
      return self
    end
    
    def self.add(params)
      return self.sync_i18n(params, super(params))
    end
    
    def self.update(params)
      return self.sync_i18n(params, super(params))
    end
    
    def self.delete(code)
      delete = super(code)
      Database.redis.del("#{@lang['packages']}#{@lang['id']}.#{code}") if delete["success"]
      return delete
    end
    
    def self.destroy
      super
      keys = Database.redis.keys([@name, ".*"].join)
      keys.each do |key|
        Database.redis.del(key)
      end
    end
    
    private
    
    def self.sync_i18n(params, check)
      Database.redis.set("#{@lang['packages']}#{@lang['id']}.#{params[:code]}", params[:text].to_json) if check["success"]
      return check
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
express_translate-1.0 lib/express_translate/language_detail_management.rb
express_translate-1.0.0.0 lib/express_translate/language_detail_management.rb