has_permalink 0.1.4 → 0.1.6
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/tasks/has_permalink.rake +5 -13
- data/lib/utilities.rb +24 -0
- metadata +4 -3
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'utilities'
|
2
|
+
|
1
3
|
namespace :has_permalink do
|
2
4
|
desc 'Generate permalinks for [MODEL]'
|
3
5
|
task :generate_permalinks, [:model_name] => [:environment] do |t, args|
|
@@ -7,19 +9,9 @@ namespace :has_permalink do
|
|
7
9
|
puts "ERROR: You need to pass the name of the model as an argument."
|
8
10
|
puts "Try this: 'rake has_permalink:generate_permalinks[MODEL]'"
|
9
11
|
else
|
10
|
-
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
# Calls the class method 'generate_permalinks' on given model
|
16
|
-
def generate_permalinks(model_name)
|
17
|
-
begin
|
18
|
-
if Kernel.const_get(model_name)
|
19
|
-
model_name.constantize.generate_permalinks
|
12
|
+
util = HasPermalink::Utilities.new(model_name)
|
13
|
+
util.generate_permalinks
|
20
14
|
puts "Congratulations! '#{model_name}' has permalinks!"
|
21
15
|
end
|
22
|
-
rescue
|
23
|
-
puts "Can't find model '#{model_name}'. Does it exist?"
|
24
16
|
end
|
25
|
-
end
|
17
|
+
end
|
data/lib/utilities.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module HasPermalink
|
2
|
+
class Utilities
|
3
|
+
attr_accessor :model_name, :klass
|
4
|
+
|
5
|
+
def initialize(model_name)
|
6
|
+
@model_name = model_name
|
7
|
+
@klass = self.get_class
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_class
|
11
|
+
if @model_name.include?('::')
|
12
|
+
@model_name.split('::').inject(Object) do |mod, class_name|
|
13
|
+
mod.const_get(class_name)
|
14
|
+
end
|
15
|
+
else
|
16
|
+
Object.const_get(@model_name)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def generate_permalinks
|
21
|
+
@klass.generate_permalinks
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_permalink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-05-31 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email: olkarls@gmail.com
|
@@ -24,6 +24,7 @@ files:
|
|
24
24
|
- lib/has_permalink.rb
|
25
25
|
- lib/railtie.rb
|
26
26
|
- lib/tasks/has_permalink.rake
|
27
|
+
- lib/utilities.rb
|
27
28
|
- rails/init.rb
|
28
29
|
homepage: http://haspermalink.org
|
29
30
|
licenses: []
|
@@ -45,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
45
46
|
version: '0'
|
46
47
|
requirements: []
|
47
48
|
rubyforge_project:
|
48
|
-
rubygems_version: 1.8.
|
49
|
+
rubygems_version: 1.8.25
|
49
50
|
signing_key:
|
50
51
|
specification_version: 3
|
51
52
|
summary: SEO Permalink Plugin for Ruby on Rails.
|