simple-search 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/Rakefile +10 -17
- data/VERSION +1 -1
- data/lib/simple_search/view_helper.rb +8 -8
- data/simple-search.gemspec +2 -2
- data/spec/simple_search_view_helper_spec.rb +5 -1
- metadata +3 -3
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -28,23 +28,6 @@ Jeweler::Tasks.new do |gem|
|
|
28
28
|
end
|
29
29
|
Jeweler::RubygemsDotOrgTasks.new
|
30
30
|
|
31
|
-
require 'rake/testtask'
|
32
|
-
Rake::TestTask.new(:test) do |test|
|
33
|
-
test.libs << 'lib' << 'test'
|
34
|
-
test.pattern = 'test/**/test_*.rb'
|
35
|
-
test.verbose = true
|
36
|
-
end
|
37
|
-
|
38
|
-
require 'rcov/rcovtask'
|
39
|
-
Rcov::RcovTask.new do |test|
|
40
|
-
test.libs << 'test'
|
41
|
-
test.pattern = 'test/**/test_*.rb'
|
42
|
-
test.verbose = true
|
43
|
-
test.rcov_opts << '--exclude "gems/*"'
|
44
|
-
end
|
45
|
-
|
46
|
-
task :default => :test
|
47
|
-
|
48
31
|
require 'rdoc/task'
|
49
32
|
Rake::RDocTask.new do |rdoc|
|
50
33
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
@@ -54,3 +37,13 @@ Rake::RDocTask.new do |rdoc|
|
|
54
37
|
rdoc.rdoc_files.include('README*')
|
55
38
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
56
39
|
end
|
40
|
+
|
41
|
+
require 'rspec/core/rake_task'
|
42
|
+
desc 'Default: run specs.'
|
43
|
+
task :default => :spec
|
44
|
+
|
45
|
+
desc "Run specs"
|
46
|
+
RSpec::Core::RakeTask.new do |t|
|
47
|
+
t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
|
48
|
+
# Put spec opts in a file named .rspec in root
|
49
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.13.0
|
@@ -48,7 +48,7 @@ module SimpleSearch
|
|
48
48
|
#
|
49
49
|
# Returns page related properties in hash
|
50
50
|
#
|
51
|
-
def page_properties(arel)
|
51
|
+
def page_properties(arel, page_options={})
|
52
52
|
total_rows = arel.limit(1000000).offset(0).count
|
53
53
|
|
54
54
|
# check if page is in an url array
|
@@ -72,7 +72,7 @@ module SimpleSearch
|
|
72
72
|
:current_page => (page || 1).to_i,
|
73
73
|
:rows_per_page => (page_by || 30).to_i,
|
74
74
|
:page_arr_key => page_arr_key
|
75
|
-
}
|
75
|
+
}.merge(page_options)
|
76
76
|
end
|
77
77
|
|
78
78
|
#
|
@@ -91,9 +91,9 @@ module SimpleSearch
|
|
91
91
|
#
|
92
92
|
# Returns page url params in hash with the page number as key
|
93
93
|
#
|
94
|
-
def page_url_params(arel,
|
95
|
-
page_props
|
96
|
-
num_pages =
|
94
|
+
def page_url_params(arel, page_props=nil)
|
95
|
+
page_props ||= page_properties(arel)
|
96
|
+
num_pages = page_props[:num_pages] || 5
|
97
97
|
num_bf_af = (num_pages-1)/2
|
98
98
|
current_page = page_props[:current_page]
|
99
99
|
last_page = page_props[:last_page]
|
@@ -111,11 +111,11 @@ module SimpleSearch
|
|
111
111
|
page_url_params
|
112
112
|
end
|
113
113
|
|
114
|
-
def page_urls(arel, http_options={})
|
114
|
+
def page_urls(arel, page_options={}, http_options={})
|
115
115
|
page_urls = []
|
116
116
|
prev_page = 0
|
117
|
-
page_props = page_properties(arel)
|
118
|
-
page_url_params(arel,
|
117
|
+
page_props = page_properties(arel, page_options)
|
118
|
+
page_url_params(arel, page_props ).each { |page, url_params|
|
119
119
|
if page.to_i > (prev_page+1) # page number jumped up, need to have some indicator
|
120
120
|
page_urls << "<span class='filler'>...</span>"
|
121
121
|
end
|
data/simple-search.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "simple-search"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.13.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Allen Kim"]
|
12
|
-
s.date = "2012-03-
|
12
|
+
s.date = "2012-03-27"
|
13
13
|
s.description = "\n\t\tTranslates url commands for searching, paging, sorting, groupion against ActiveRecord and its associations.\n\t\tProvides view helpers including links for order and urls for search, group, and page.\n\t"
|
14
14
|
s.email = "bighostkim@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -88,7 +88,7 @@ describe SimpleSearch::ViewHelper do
|
|
88
88
|
end
|
89
89
|
|
90
90
|
describe "#page_urls" do
|
91
|
-
it "generate page urls" do
|
91
|
+
it "generate page urls by given numbers(default 5)" do
|
92
92
|
arel = Post.select('posts.*, post_likes.*').joins(:post_likes).simplesearch(:page_by=>30)
|
93
93
|
@view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
|
94
94
|
"QUERY_STRING"=>"controller=tests&page=5&page_by=10"})
|
@@ -96,7 +96,11 @@ describe SimpleSearch::ViewHelper do
|
|
96
96
|
page_urls.length.should == 9 # 1 ... 3 4 5 6 7 ... 10
|
97
97
|
page_urls[1].should eq "<span class='filler'>...</span>"
|
98
98
|
page_urls[7].should eq "<span class='filler'>...</span>"
|
99
|
+
|
100
|
+
page_urls = @view.page_urls(arel,:num_pages=>7)
|
101
|
+
page_urls.length.should == 10 # 1 2 3 4 5 6 7 8 ... 10
|
99
102
|
end
|
103
|
+
|
100
104
|
end
|
101
105
|
|
102
106
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: simple-search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.13.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Allen Kim
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-03-
|
13
|
+
date: 2012-03-27 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -163,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
hash:
|
166
|
+
hash: -265750120203918884
|
167
167
|
segments:
|
168
168
|
- 0
|
169
169
|
version: "0"
|