Module: HolaMilindPatel

Defined in:
lib/hola_milind_patel.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.getShowData(data) ⇒ Object

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



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# 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).locanilles.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) ⇒ Object



4
5
6
# File 'lib/hola_milind_patel.rb', line 4

def self.included(klass)
  klass.after_find :translate_data
end

.language=(language) ⇒ Object



97
98
99
100
# 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) ⇒ Object



88
89
90
# File 'lib/hola_milind_patel.rb', line 88

def locale=(locale)
  Mobility.locale = locale || I18n.default_locale
end

.strict=(strict) ⇒ Object



93
94
95
# File 'lib/hola_milind_patel.rb', line 93

def self.strict=(strict)
  RequestStore.store[:strict] = strict.present? ? strict : false
end

.translate(data) ⇒ Object



18
19
20
21
22
# 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

Instance Method Details

#translate_dataObject



9
10
11
12
13
14
15
16
# 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"
      data.send(key+'=', responce[key])
    end
  end
end