refinerycms-blog 1.6.0 → 1.6.1

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