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