has_permalink 0.0.7 → 0.0.8

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.
data/lib/has_permalink.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'friendly_url'
2
2
 
3
3
  module HasPermalink
4
- require 'railtie' if defined?(Rails)
4
+ require 'railtie' if defined?(Rails) && Rails.version >= "3"
5
5
 
6
6
  def has_permalink(generate_from = :title)
7
7
  unless included_modules.include? InstanceMethods
@@ -15,6 +15,12 @@ module HasPermalink
15
15
  end
16
16
 
17
17
  module ClassMethods
18
+
19
+ # Makes it possible to generate permalinks for
20
+ # all instances of self:
21
+ #
22
+ # Product.generate_permalinks
23
+ #
18
24
  def generate_permalinks
19
25
  self.all.each do |item|
20
26
  item.generate_permalink
@@ -25,14 +31,18 @@ module HasPermalink
25
31
 
26
32
  module InstanceMethods
27
33
  include FriendlyUrl
34
+
35
+ # Generate permalink for the instance if the permalink is empty or nil.
28
36
  def generate_permalink
29
37
  self.permalink = normalize(self.send(generate_from)) if permalink.blank?
30
38
  end
31
39
 
40
+ # Generate permalink for the instance and overwrite any existing value.
32
41
  def generate_permalink!
33
42
  self.permalink = normalize(self.send(generate_from))
34
43
  end
35
44
 
45
+ # Override to send permalink as params[:id]
36
46
  def to_param
37
47
  permalink
38
48
  end
data/lib/railtie.rb CHANGED
@@ -3,6 +3,8 @@ require 'rails'
3
3
 
4
4
  module HasPermalink
5
5
  class Railtie < Rails::Railtie
6
+
7
+ # Include the rake tasks to the application with the gem installed
6
8
  rake_tasks do
7
9
  load 'tasks/has_permalink.rake'
8
10
  end
@@ -12,6 +12,7 @@ namespace :has_permalink do
12
12
  end
13
13
  end
14
14
 
15
+ # Calls the class method 'generate_permalinks' on given model
15
16
  def generate_permalinks(model_name)
16
17
  begin
17
18
  if Kernel.const_get(model_name)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_permalink
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
9
+ - 8
10
+ version: 0.0.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ola Karlsson
@@ -15,27 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-01 00:00:00 +01:00
18
+ date: 2011-03-12 00:00:00 +01:00
19
19
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rails
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 62196427
30
- segments:
31
- - 3
32
- - 0
33
- - 0
34
- - beta
35
- - 4
36
- version: 3.0.0.beta4
37
- type: :runtime
38
- version_requirements: *id001
20
+ dependencies: []
21
+
39
22
  description:
40
23
  email: olkarls@gmail.com
41
24
  executables: []
@@ -54,7 +37,7 @@ files:
54
37
  - lib/tasks/has_permalink.rake
55
38
  - rails/init.rb
56
39
  has_rdoc: true
57
- homepage:
40
+ homepage: http://haspermalink.org
58
41
  licenses: []
59
42
 
60
43
  post_install_message:
@@ -83,9 +66,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
66
  requirements: []
84
67
 
85
68
  rubyforge_project:
86
- rubygems_version: 1.4.2
69
+ rubygems_version: 1.6.2
87
70
  signing_key:
88
71
  specification_version: 3
89
- summary: Generating url-safe permalink from any other attribute in the same ActiveRecord model.
72
+ summary: SEO Permalink Plugin for Ruby on Rails.
90
73
  test_files: []
91
74