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.
@@ -35,7 +35,7 @@ In your view:
35
35
  #pages a.current {color:white; background-color:#333}
36
36
  </style>
37
37
  <div id="pages">
38
- Pages : <%=raw page_urls(@posts).join(" ") %>
38
+ Pages : <%=raw page_urls(@posts, :num_pages=>5).join(" ") %>
39
39
  </div>
40
40
 
41
41
  <table>
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.12.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, options={})
95
- page_props = options[:page_props] || page_properties(arel)
96
- num_pages = options[:num_pages] || 5
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, :page_props => page_props ).each { |page, url_params|
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "simple-search"
8
- s.version = "0.12.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-20"
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.12.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-20 00:00:00 Z
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: 557426879898920140
166
+ hash: -265750120203918884
167
167
  segments:
168
168
  - 0
169
169
  version: "0"