it-logica-application-backbone 1.0.24 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.24
1
+ 1.0.25
@@ -1,4 +1,6 @@
1
1
  class TableSorting
2
+ @max_together = 2
3
+
2
4
  @change_sorting: (form_id, order_by_value, dir, obj) ->
3
5
  order_by_value = order_by_value.toLowerCase()
4
6
  dir = dir.toLowerCase()
@@ -37,6 +39,7 @@ class TableSorting
37
39
 
38
40
  else # i am not ordering by element value, I will append it to end
39
41
  #console.log("pridavam")
42
+ order_by_array.pop() if order_by_array.length >= TableSorting.max_together
40
43
  order_by_array.push(order_by_value + " " + dir)
41
44
 
42
45
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "it-logica-application-backbone"
8
- s.version = "1.0.24"
8
+ s.version = "1.0.25"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ladas"]
@@ -399,19 +399,37 @@ module ModelMixins
399
399
  end
400
400
  end
401
401
 
402
+
402
403
  if per_page && per_page > 0
403
404
  # only when i need pagination
404
405
  if total_count.blank?
405
406
  # if I call this more times, I can pass the total count and not count it multiple times
406
-
407
407
  # fuck will paginate, if there are agregated queries that I use for condition, will_paginage will delete it
408
408
  # i am counting rows on my own (as sugested in will paginete gem, when the query got more complex)
409
- if object.respond_to?(:klass)
410
- mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
409
+ if (settings[:total_count_cache].blank?)
410
+ # I am not caching total count. Be advised in table cca. 200 000 rows total count take about 1 second to compute, it very much.
411
+ if object.respond_to?(:klass)
412
+ mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
413
+ else
414
+ mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
415
+ end
416
+
417
+ ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => mysql_count.first[:count_all])
411
418
  else
412
- mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
419
+ # I am caching total count
420
+ # todo find out how to cache this when everything can change, maybe I can cache only not filtered version
421
+ # !!!!!!1 dont turn this on till then
422
+
423
+ total_count = Rails.cache.fetch(settings[:form_id] + "__cached_total_count", :expires_in => settings[:total_count_cache]) do
424
+ if object.respond_to?(:klass)
425
+ mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
426
+ else
427
+ mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
428
+ end
429
+ mysql_count.first[:count_all]
430
+ end
431
+ ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => total_count)
413
432
  end
414
- ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => mysql_count.first[:count_all])
415
433
  else
416
434
  ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => total_count)
417
435
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: it-logica-application-backbone
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.24
4
+ version: 1.0.25
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-09-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: htmlentities
16
- requirement: &77771630 !ruby/object:Gem::Requirement
16
+ requirement: &72605220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *77771630
24
+ version_requirements: *72605220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &77771290 !ruby/object:Gem::Requirement
27
+ requirement: &72604880 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *77771290
35
+ version_requirements: *72604880
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &77771030 !ruby/object:Gem::Requirement
38
+ requirement: &72604600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.12'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *77771030
46
+ version_requirements: *72604600
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &77770710 !ruby/object:Gem::Requirement
49
+ requirement: &72604290 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.1.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *77770710
57
+ version_requirements: *72604290
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &77770230 !ruby/object:Gem::Requirement
60
+ requirement: &72603880 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.8.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *77770230
68
+ version_requirements: *72603880
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
- requirement: &77769710 !ruby/object:Gem::Requirement
71
+ requirement: &72603330 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *77769710
79
+ version_requirements: *72603330
80
80
  description: longer description of your gem
81
81
  email: ladislav.smola@it-logica.cz
82
82
  executables: []
@@ -576,7 +576,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
576
576
  version: '0'
577
577
  segments:
578
578
  - 0
579
- hash: 349871475
579
+ hash: 779687315
580
580
  required_rubygems_version: !ruby/object:Gem::Requirement
581
581
  none: false
582
582
  requirements: