handles_sortable_columns 0.1.3 → 0.1.4

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/Rakefile CHANGED
@@ -1,60 +1,60 @@
1
- require "rake/rdoctask"
2
- require "yaml"
3
-
4
- GEM_NAME = "handles_sortable_columns"
5
-
6
- begin
7
- require "jeweler"
8
- Jeweler::Tasks.new do |gem|
9
- gem.name = GEM_NAME
10
- gem.summary = "Sortable Table Columns"
11
- gem.description = gem.summary
12
- gem.email = "alex.r@askit.org"
13
- gem.homepage = "http://github.com/dadooda/handles_sortable_columns"
14
- gem.authors = ["Alex Fortuna"]
15
- gem.files = FileList[
16
- "[A-Z]*",
17
- "*.gemspec",
18
- "init.rb",
19
- "lib/**/*.rb",
20
- ]
21
- end
22
- rescue LoadError
23
- STDERR.puts "This gem requires Jeweler to be built"
24
- end
25
-
26
- desc "Rebuild gemspec and package"
27
- task :rebuild => [:gemspec, :build]
28
-
29
- desc "Push (publish) gem to RubyGems (aka Gemcutter)"
30
- task :push => :rebuild do
31
- # NOTE: Yet found no way to ask Jeweler forge a complete version string for us.
32
- h = YAML.load_file("VERSION.yml")
33
- version = [h[:major], h[:minor], h[:patch], h[:build]].compact.join(".")
34
- pkgfile = File.join("pkg", "#{GEM_NAME}-#{version}.gem")
35
- Kernel.system("gem", "push", pkgfile)
36
- end
37
-
38
- desc "Generate RDoc documentation"
39
- Rake::RDocTask.new(:rdoc) do |rdoc|
40
- rdoc.rdoc_dir = "doc"
41
- rdoc.title = "Handles::SortableColumns"
42
- #rdoc.options << "--line-numbers"
43
- #rdoc.options << "--inline-source"
44
- rdoc.rdoc_files.include("lib/**/*.rb")
45
- end
46
-
47
- desc "Compile README preview"
48
- task :readme do
49
- require "kramdown"
50
-
51
- doc = Kramdown::Document.new(File.read "README.md")
52
-
53
- fn = "README.html"
54
- puts "Writing '#{fn}'..."
55
- File.open(fn, "w") do |f|
56
- f.write(File.read "dev/head.html")
57
- f.write(doc.to_html)
58
- end
59
- puts ": ok"
60
- end
1
+ require "rdoc/task"
2
+ require "yaml"
3
+
4
+ GEM_NAME = "handles_sortable_columns"
5
+
6
+ begin
7
+ require "jeweler"
8
+ Jeweler::Tasks.new do |gem|
9
+ gem.name = GEM_NAME
10
+ gem.summary = "Sortable Table Columns"
11
+ gem.description = gem.summary
12
+ gem.email = "alex.r@askit.org"
13
+ gem.homepage = "http://github.com/dadooda/handles_sortable_columns"
14
+ gem.authors = ["Alex Fortuna"]
15
+ gem.files = FileList[
16
+ "[A-Z]*",
17
+ "*.gemspec",
18
+ "init.rb",
19
+ "lib/**/*.rb",
20
+ ]
21
+ end
22
+ rescue LoadError
23
+ STDERR.puts "This gem requires Jeweler to be built"
24
+ end
25
+
26
+ desc "Rebuild gemspec and package"
27
+ task :rebuild => [:gemspec, :build]
28
+
29
+ desc "Push (publish) gem to RubyGems (aka Gemcutter)"
30
+ task :push => :rebuild do
31
+ # NOTE: Yet found no way to ask Jeweler forge a complete version string for us.
32
+ h = YAML.load_file("VERSION.yml")
33
+ version = [h[:major], h[:minor], h[:patch], h[:build]].compact.join(".")
34
+ pkgfile = File.join("pkg", "#{GEM_NAME}-#{version}.gem")
35
+ Kernel.system("gem", "push", pkgfile)
36
+ end
37
+
38
+ desc "Generate RDoc documentation"
39
+ Rake::RDocTask.new(:rdoc) do |rdoc|
40
+ rdoc.rdoc_dir = "doc"
41
+ rdoc.title = "Handles::SortableColumns"
42
+ #rdoc.options << "--line-numbers"
43
+ #rdoc.options << "--inline-source"
44
+ rdoc.rdoc_files.include("lib/**/*.rb")
45
+ end
46
+
47
+ desc "Compile README preview"
48
+ task :readme do
49
+ require "kramdown"
50
+
51
+ doc = Kramdown::Document.new(File.read "README.md")
52
+
53
+ fn = "README.html"
54
+ puts "Writing '#{fn}'..."
55
+ File.open(fn, "w") do |f|
56
+ f.write(File.read "dev/head.html")
57
+ f.write(doc.to_html)
58
+ end
59
+ puts ": ok"
60
+ end
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 3
4
+ :patch: 4
5
5
  #:build: pre1
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{handles_sortable_columns}
8
- s.version = "0.1.3"
7
+ s.name = "handles_sortable_columns"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alex Fortuna"]
12
- s.date = %q{2011-07-29}
13
- s.description = %q{Sortable Table Columns}
14
- s.email = %q{alex.r@askit.org}
12
+ s.date = "2013-02-24"
13
+ s.description = "Sortable Table Columns"
14
+ s.email = "alex.r@askit.org"
15
15
  s.extra_rdoc_files = [
16
16
  "README.html",
17
17
  "README.md"
@@ -28,10 +28,10 @@ Gem::Specification.new do |s|
28
28
  "lib/handles/sortable_columns.rb",
29
29
  "lib/handles_sortable_columns.rb"
30
30
  ]
31
- s.homepage = %q{http://github.com/dadooda/handles_sortable_columns}
31
+ s.homepage = "http://github.com/dadooda/handles_sortable_columns"
32
32
  s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.6.2}
34
- s.summary = %q{Sortable Table Columns}
33
+ s.rubygems_version = "1.8.24"
34
+ s.summary = "Sortable Table Columns"
35
35
 
36
36
  if s.respond_to? :specification_version then
37
37
  s.specification_version = 3
@@ -55,6 +55,11 @@ module Handles #:nodoc:
55
55
  # sort
56
56
  attr_accessor :sort_param
57
57
 
58
+ # Default sort direction, if params[sort_param] is not given.
59
+ #
60
+ # default_sort_value
61
+ attr_accessor :default_sort_value
62
+
58
63
  # Sort indicator text. If any of values are empty, indicator is not displayed. Default:
59
64
  #
60
65
  # {:asc => "&nbsp;&darr;&nbsp;", :desc => "&nbsp;&uarr;&nbsp;"}
@@ -72,6 +77,7 @@ module Handles #:nodoc:
72
77
  :indicator_text => {:asc => "&nbsp;&darr;&nbsp;", :desc => "&nbsp;&uarr;&nbsp;"},
73
78
  :page_param => "page",
74
79
  :sort_param => "sort",
80
+ :default_sort_value => nil
75
81
  }
76
82
 
77
83
  defaults.merge(attrs).each {|k, v| send("#{k}=", v)}
@@ -169,6 +175,7 @@ module Handles #:nodoc:
169
175
  o = {}
170
176
  conf = {}
171
177
  conf[k = :sort_param] = sortable_columns_config[k]
178
+ conf[k = :default_sort_value] = sortable_columns_config[k]
172
179
  conf[k = :page_param] = sortable_columns_config[k]
173
180
  conf[k = :indicator_text] = sortable_columns_config[k]
174
181
  conf[k = :indicator_class] = sortable_columns_config[k]
@@ -183,7 +190,8 @@ module Handles #:nodoc:
183
190
  raise "Unknown option(s): #{options.inspect}" if not options.empty?
184
191
 
185
192
  # Parse sort param.
186
- pp = parse_sortable_column_sort_param(params[conf[:sort_param]])
193
+ sort = params[conf[:sort_param]] || conf[:default_sort_value]
194
+ pp = parse_sortable_column_sort_param(sort)
187
195
 
188
196
  css_class = []
189
197
  if (s = o[:link_class]).present?
@@ -251,9 +259,11 @@ module Handles #:nodoc:
251
259
  def sortable_column_order(&block)
252
260
  conf = {}
253
261
  conf[k = :sort_param] = sortable_columns_config[k]
262
+ conf[k = :default_sort_value] = sortable_columns_config[k]
254
263
 
255
264
  # Parse sort param.
256
- pp = parse_sortable_column_sort_param(params[conf[:sort_param]])
265
+ sort = params[conf[:sort_param]] || conf[:default_sort_value]
266
+ pp = parse_sortable_column_sort_param(sort)
257
267
 
258
268
  order = if block
259
269
  column, direction = pp[:column], pp[:direction]
metadata CHANGED
@@ -1,29 +1,24 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: handles_sortable_columns
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
4
5
  prerelease:
5
- version: 0.1.3
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Alex Fortuna
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-29 00:00:00 +04:00
14
- default_executable:
12
+ date: 2013-02-24 00:00:00.000000000 Z
15
13
  dependencies: []
16
-
17
14
  description: Sortable Table Columns
18
15
  email: alex.r@askit.org
19
16
  executables: []
20
-
21
17
  extensions: []
22
-
23
- extra_rdoc_files:
18
+ extra_rdoc_files:
24
19
  - README.html
25
20
  - README.md
26
- files:
21
+ files:
27
22
  - MIT-LICENSE
28
23
  - README.html
29
24
  - README.md
@@ -34,33 +29,28 @@ files:
34
29
  - lib/action_controller/base/handles_sortable_columns.rb
35
30
  - lib/handles/sortable_columns.rb
36
31
  - lib/handles_sortable_columns.rb
37
- has_rdoc: true
38
32
  homepage: http://github.com/dadooda/handles_sortable_columns
39
33
  licenses: []
40
-
41
34
  post_install_message:
42
35
  rdoc_options: []
43
-
44
- require_paths:
36
+ require_paths:
45
37
  - lib
46
- required_ruby_version: !ruby/object:Gem::Requirement
38
+ required_ruby_version: !ruby/object:Gem::Requirement
47
39
  none: false
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- version: "0"
52
- required_rubygems_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
45
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
58
50
  requirements: []
59
-
60
51
  rubyforge_project:
61
- rubygems_version: 1.6.2
52
+ rubygems_version: 1.8.24
62
53
  signing_key:
63
54
  specification_version: 3
64
55
  summary: Sortable Table Columns
65
56
  test_files: []
66
-