refinerycms-blog 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,9 +12,21 @@ class Admin::Blog::PostsController < Admin::BaseController
12
12
  end
13
13
 
14
14
  def tags
15
+ op = case ActiveRecord::Base.connection.adapter_name.downcase
16
+ when 'postgresql'
17
+ '~*'
18
+ else
19
+ 'LIKE'
20
+ end
21
+ wildcard = case ActiveRecord::Base.connection.adapter_name.downcase
22
+ when 'postgresql'
23
+ '.*'
24
+ else
25
+ '%'
26
+ end
15
27
  @tags = BlogPost.tag_counts_on(:tags).where(
16
- ["tags.name LIKE ?", "%#{params[:term].to_s.downcase}%"]
17
- ).map { |tag| {:id => tag.id, :value => tag.name}}
28
+ ["tags.name #{op} ?", "#{wildcard}#{params[:term].to_s.downcase}#{wildcard}"]
29
+ ).map { |tag| {:id => tag.id, :value => tag.name}}
18
30
  render :json => @tags.flatten
19
31
  end
20
32
 
@@ -67,8 +67,9 @@ class Blog::PostsController < BlogController
67
67
  end
68
68
 
69
69
  def tagged
70
- @tag_name = params[:tag_name]
71
- @blog_posts = BlogPost.tagged_with(@tag_name.titleize).paginate({
70
+ @tag = ActsAsTaggableOn::Tag.find(params[:tag_id])
71
+ @tag_name = @tag.name
72
+ @blog_posts = BlogPost.tagged_with(@tag_name).paginate({
72
73
  :page => params[:page],
73
74
  :per_page => RefinerySetting.find_or_set(:blog_posts_per_page, 10)
74
75
  })
@@ -15,7 +15,7 @@
15
15
  <% if (tags = post.tag_list).any? %>
16
16
  <aside class='tagged'>
17
17
  <%= t('tagged', :scope => 'blog.posts.show') %>
18
- <%=raw tags.collect { |tag| link_to tag, tagged_posts_path(tag.parameterize) }.to_sentence %>
18
+ <%=raw tags.collect { |tag| link_to tag, tagged_posts_path(tag.id, tag.name.parameterize) }.to_sentence %>
19
19
  </aside>
20
20
  <% end %>
21
21
  </section>
@@ -2,7 +2,7 @@
2
2
  <h2><%= t('.title') %></h2>
3
3
  <nav id='tags'>
4
4
  <% tag_cloud(@tags, %w(tag1 tag2 tag3 tag4)) do |tag, css_class| %>
5
- <%= link_to tag.name, tagged_posts_path(tag.name.parameterize), :class => css_class %>
5
+ <%= link_to tag.name, tagged_posts_path(tag.id, tag.name.parameterize), :class => css_class %>
6
6
  <% end %>
7
7
  </nav>
8
8
  <% end %>
data/changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.6.1 [21 June 2011]
2
+ * Tagging URL strategy updated for reliability /blog/posts/tagged/ID-name-parameterized [joemsak](https://github.com/joemsak)
3
+ * Heroku/PostgreSQL support for autocomplete tags [joemsak](https://github.com/joemsak)
4
+
1
5
  ## 1.6 [20 June 2011]
2
6
  * Category bug fixes and cleanup [wikyd](https://github.com/wikyd)
3
7
  * Cleaned up deprecated code [ugisozols](https://github.com/ugisozols)
data/config/routes.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  match 'categories/:id', :to => 'categories#show', :as => 'blog_category'
7
7
  match ':id/comments', :to => 'posts#comment', :as => 'blog_post_blog_comments'
8
8
  get 'archive/:year(/:month)', :to => 'posts#archive', :as => 'archive_blog_posts'
9
- get 'tagged/:tag_name' => 'posts#tagged', :as => 'tagged_posts'
9
+ get 'tagged/:tag_id-:tag_name' => 'posts#tagged', :as => 'tagged_posts'
10
10
  end
11
11
 
12
12
  scope(:path => 'refinery', :as => 'admin', :module => 'admin') do
@@ -3,7 +3,7 @@ Given /^there is a blog post titled "([^"]*)" and tagged "([^"]*)"$/ do |title,
3
3
  end
4
4
 
5
5
  When /^I visit the tagged posts page for "([^"]*)"$/ do |tag_name|
6
- visit tagged_posts_path(tag_name.parameterize)
6
+ visit tagged_posts_path(tag.id, tag_name.parameterize)
7
7
  end
8
8
 
9
9
  Then /^the blog post should have the tags "([^"]*)"$/ do |tag_list|
@@ -3,7 +3,7 @@ module Refinery
3
3
  class Version
4
4
  @major = 1
5
5
  @minor = 6
6
- @tiny = 0
6
+ @tiny = 1
7
7
 
8
8
  class << self
9
9
  attr_reader :major, :minor, :tiny
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-blog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,12 +10,12 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-06-21 00:00:00.000000000 +12:00
13
+ date: 2011-06-22 00:00:00.000000000 +12:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: refinerycms-core
18
- requirement: &2152830920 !ruby/object:Gem::Requirement
18
+ requirement: &2152867900 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 1.0.0
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2152830920
26
+ version_requirements: *2152867900
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: filters_spam
29
- requirement: &2152830220 !ruby/object:Gem::Requirement
29
+ requirement: &2152866060 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2152830220
37
+ version_requirements: *2152866060
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: acts-as-taggable-on
40
- requirement: &2152829420 !ruby/object:Gem::Requirement
40
+ requirement: &2152861900 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *2152829420
48
+ version_requirements: *2152861900
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: seo_meta
51
- requirement: &2152828600 !ruby/object:Gem::Requirement
51
+ requirement: &2152850340 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 1.1.0
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *2152828600
59
+ version_requirements: *2152850340
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: factory_girl
62
- requirement: &2152822820 !ruby/object:Gem::Requirement
62
+ requirement: &2152849200 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,7 +67,7 @@ dependencies:
67
67
  version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2152822820
70
+ version_requirements: *2152849200
71
71
  description: A really straightforward open source Ruby on Rails blog engine designed
72
72
  for integration with RefineryCMS.
73
73
  email: info@refinerycms.com