simple-search 0.12.0 → 0.13.0

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.
@@ -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"