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 +60 -60
- data/VERSION.yml +1 -1
- data/handles_sortable_columns.gemspec +8 -8
- data/lib/handles/sortable_columns.rb +12 -2
- metadata +19 -29
data/Rakefile
CHANGED
@@ -1,60 +1,60 @@
|
|
1
|
-
require "
|
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
|
data/VERSION.yml
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.1.
|
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 =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
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 =
|
31
|
+
s.homepage = "http://github.com/dadooda/handles_sortable_columns"
|
32
32
|
s.require_paths = ["lib"]
|
33
|
-
s.rubygems_version =
|
34
|
-
s.summary =
|
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 => " ↓ ", :desc => " ↑ "}
|
@@ -72,6 +77,7 @@ module Handles #:nodoc:
|
|
72
77
|
:indicator_text => {:asc => " ↓ ", :desc => " ↑ "},
|
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
|
-
|
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
|
-
|
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:
|
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:
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
58
50
|
requirements: []
|
59
|
-
|
60
51
|
rubyforge_project:
|
61
|
-
rubygems_version: 1.
|
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
|
-
|