module HolaMilindPatel

Public Class Methods

getShowData(data) click to toggle source

def self.getData(data)

if RequestStore.store[:selected_language] == "all"
  centers = data.as_json
  centers.map do |center|
    c1 = data.klass.find(center['id'])
      c1.as_json.each do |key,value|
        if (c1.send("#{key}_backend") rescue "false") != "false"
          concat_attribute = key + "_backend"
          c1.send(concat_attribute.parameterize.underscore.to_sym).locales.each do |locale|
            center["#{key}_#{locale}"] = c1.send("#{key}_backend").read(locale)
          end
        end
      end
    center
  end
else
  centers = data.as_json      
  centers.map do |center|
    center.as_json.each do |key,value|
      record = data.klass.find(center['id'])
      if (record.send("#{key}_backend") rescue "false") != "false"
        if record.send("#{key}_backend").locales.include?(RequestStore.store[:selected_language].parameterize.underscore.to_sym)
          center[key] = record.send("#{key}_backend").read(RequestStore.store[:selected_language].parameterize.underscore.to_sym)
        else
          center[key] = RequestStore.store[:strict] == "true" ? " " : record.send("#{key}_backend").read(record.default_language.parameterize.underscore.to_sym)
        end
      end
    end
    center
  end 
end
return centers

end

# File lib/hola_milind_patel.rb, line 58
def self.getShowData(data)
  if RequestStore.store[:selected_language] == "all"
    center = data
    c = center.as_json
    center.as_json.each do |key,value|        
      if (center.send("#{key}_backend") rescue "false") != "false"
        concat_attribute = key + "_backend"
        center.send(concat_attribute.parameterize.underscore.to_sym).locales.each do |locale|                   
          c["#{key}_#{locale}"] = center.send("#{key}_backend").read(locale)
        end
      end
    end
    return c
  else
    center = data.as_json      
    center.each do |key,value|
      if (data.send("#{key}_backend") rescue "false") != "false"
        obj = JSON.parse(center.to_json,object_class: data.class)
        if obj.send("#{key}_backend").locales.include?(RequestStore.store[:selected_language].parameterize.underscore.to_sym)
          center[key] = obj.send("#{key}_backend").read(RequestStore.store[:selected_language].parameterize.underscore.to_sym)
        else
          center[key] = RequestStore.store[:strict] == "true" ? nil : obj.send("#{key}_backend").read(obj.default_language.parameterize.underscore.to_sym)
        end
      end
    end      
    return center
  end
end
included(klass) click to toggle source
# File lib/hola_milind_patel.rb, line 4
def self.included(klass)
  klass.after_find :translate_data
end
language=(language) click to toggle source
# File lib/hola_milind_patel.rb, line 97
def self.language=(language)    
  RequestStore.store[:selected_language] = language
  HolaMilindPatel.locale = language == "all" ?  I18n.default_locale : language
end
locale=(locale) click to toggle source
# File lib/hola_milind_patel.rb, line 88
def locale=(locale)
  Mobility.locale = locale || I18n.default_locale
end
strict=(strict) click to toggle source
# File lib/hola_milind_patel.rb, line 93
def self.strict=(strict)
  RequestStore.store[:strict] = strict.present? ? strict : true
end
translate(data) click to toggle source
# File lib/hola_milind_patel.rb, line 18
def self.translate(data)
  #responce = getData(data) if !data[0].nil?
  responce = getShowData(data) # if data[0].nil?
  return responce
end

Public Instance Methods

translate_data() click to toggle source
# File lib/hola_milind_patel.rb, line 9
def translate_data
  result = HolaMilindPatel.translate(self)
  self.attributes.each do |key,value|
    if (self.send("#{key}_backend") rescue "false") != "false"
      self.send(key+'=', result[key])
    end
  end
end