has_localization_table 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTA1YWMxMTY1ODUxODQ4ZDVkZjU3Yjk2OTkyZmEwNmM1NzU2NWY4OQ==
4
+ Yzc3NzlkNWU5NWExNjhhZWM1YmVmOWM5YTI2YmQxYjk4ZDk2M2JlYQ==
5
5
  data.tar.gz: !binary |-
6
- OGYwY2ZkNDFkY2E0YTg1OWMyN2FlNGNmMmRjOTM2YTRkMTI3NjViOA==
6
+ MjY5YzZlZGRlYWQ1ZGYyYmUwYTI1MDJlYzI5ZGQwZDM1NDVkODkxYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWUzMTFjZDg0ZDZlMjUwMTMyYTFiOWQ4ZDczMTZlMTQ1NTRmMzk0NGY4NzBh
10
- NGM2NTcxYzk4ODc1ZjlmNDBjNjdlYzE2Y2M5MTRhOTliMTY1NGJiY2U2N2Rj
11
- N2Q2ODNhZGU3ZmMwNDgyOGI5NjA2ODlmMjljOGFmMjQzZjk0MTU=
9
+ ZmRlZDE3OGI2MDA3ZDllZjk0MDcwNzhjYjkwYjk3NGE4NDdlMTkzYjBjYzE2
10
+ ZGQyZDZhZmZmOGMxMDRkZjNjN2Q5YTUxODAxOTAxN2Q4ODQ4NTQ3ODIyOTgy
11
+ ZDM1MmViN2U2NzkzNjgyYWQ1YzViN2MxYzJkMTRmOGIwMzk0Nzk=
12
12
  data.tar.gz: !binary |-
13
- MGZlNWM1MmMzOGQ4OTJhYzQ2OWU2ZDVkNzc1MjBmYTQ5YmY0YTRlZDg5MTVh
14
- Y2JkYzU5ZGRiMjc5MjY1MGFkYWNjNzhlODM0ZjJkYjkwYjAzZDE0ZDU1OWQy
15
- YzU0MDJlMTAyNmQ0YjU4MDY4YmJiNjFiYWEzYWI0MGEyZjc1NTI=
13
+ Mzk3ZjRkNTIzMWU5MTA1OTg5ZjYyMjM4MTBlNzI0MmZmZWRhNGEzMzA0N2I0
14
+ NWEwODYzOTAwNmVlYjE0YWFhZmE1NTg4MmQyMzBmYjBhNzc1YmNiZDlhM2U3
15
+ OTY4MmY5OGM2ZGM2YjYwZmZkYzMwMmMyMTZlMWZlNWViMDdjMmY=
@@ -21,7 +21,20 @@ module HasLocalizationTable
21
21
  private
22
22
  # Order records by localization value
23
23
  def ordered_by_localized_attribute(attribute, asc = true, locale = HasLocalizationTable.current_locale)
24
- with_localizations.order("#{localization_class.table_name}.#{attribute} #{asc ? "ASC" : "DESC"}")
24
+ if locale != HasLocalizationTable.primary_locale
25
+ with_localizations.order(<<-EOQ)
26
+ COALESCE(
27
+ #{localization_class.table_name}.#{attribute}, (
28
+ SELECT #{attribute}
29
+ FROM #{localization_class.table_name}
30
+ WHERE #{reflect_on_association(localization_association_name).foreign_key} = #{self.table_name}.id
31
+ AND #{HasLocalizationTable.locale_foreign_key} = #{HasLocalizationTable.primary_locale.id}
32
+ )
33
+ ) #{asc ? "ASC" : "DESC"}
34
+ EOQ
35
+ else
36
+ with_localizations.order("#{localization_class.table_name}.#{attribute} #{asc ? "ASC" : "DESC"}")
37
+ end
25
38
  end
26
39
  end
27
40
  end
@@ -1,3 +1,3 @@
1
1
  module HasLocalizationTable
2
- VERSION = "0.3.6"
2
+ VERSION = "0.3.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_localization_table
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Vandersluis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-06 00:00:00.000000000 Z
11
+ date: 2014-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  type: :runtime