has_permalink 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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