permalinker 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fdbb2252814e5694f69d92fa52b24f6c5aa619ed
4
+ data.tar.gz: ea376952402d9b759caebc7f0b4799c78cb332ec
5
+ SHA512:
6
+ metadata.gz: 0512d88fdfe8b621420f01cbcf8bb3441f7c2dfb8845074a6b5bee3d07283fe6a6f7519f88677c5e5c0bc07023c61c3ebf89be373bd55b9cfd131d1fcc225532
7
+ data.tar.gz: 181f1c70f3fff90a0bacdfbd3409da02739e09ff4b96a92548132552c724e65a13605d770a81adc01d5e861f3631f9d73825912185163b78bbf1b61e2bcd1f9f
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ pkg
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "https://rubygems.org"
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,89 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ permalink (1.2.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activemodel (3.2.13)
10
+ activesupport (= 3.2.13)
11
+ builder (~> 3.0.0)
12
+ activerecord (3.2.13)
13
+ activemodel (= 3.2.13)
14
+ activesupport (= 3.2.13)
15
+ arel (~> 3.0.2)
16
+ tzinfo (~> 0.3.29)
17
+ activesupport (3.2.13)
18
+ i18n (= 0.6.1)
19
+ multi_json (~> 1.0)
20
+ arel (3.0.2)
21
+ awesome_print (1.1.0)
22
+ bson (1.8.6)
23
+ bson_ext (1.8.6)
24
+ bson (~> 1.8.6)
25
+ builder (3.0.4)
26
+ coderay (1.0.9)
27
+ diff-lcs (1.2.4)
28
+ i18n (0.6.1)
29
+ method_source (0.8.1)
30
+ mongo (1.8.6)
31
+ bson (~> 1.8.6)
32
+ mongo_mapper (0.12.0)
33
+ activemodel (~> 3.0)
34
+ activesupport (~> 3.0)
35
+ plucky (~> 0.5.2)
36
+ mongoid (3.1.4)
37
+ activemodel (~> 3.2)
38
+ moped (~> 1.4)
39
+ origin (~> 1.0)
40
+ tzinfo (~> 0.3.22)
41
+ moped (1.5.0)
42
+ multi_json (1.7.3)
43
+ origin (1.1.0)
44
+ plucky (0.5.2)
45
+ mongo (~> 1.5)
46
+ pry (0.9.12.2)
47
+ coderay (~> 1.0.5)
48
+ method_source (~> 0.8)
49
+ slop (~> 3.4)
50
+ pry-meta (0.0.5)
51
+ awesome_print
52
+ pry
53
+ pry-nav
54
+ pry-remote
55
+ pry-nav (0.2.3)
56
+ pry (~> 0.9.10)
57
+ pry-remote (0.1.7)
58
+ pry (~> 0.9)
59
+ slop (~> 3.0)
60
+ rake (10.0.4)
61
+ rspec (2.13.0)
62
+ rspec-core (~> 2.13.0)
63
+ rspec-expectations (~> 2.13.0)
64
+ rspec-mocks (~> 2.13.0)
65
+ rspec-core (2.13.1)
66
+ rspec-expectations (2.13.0)
67
+ diff-lcs (>= 1.1.3, < 2.0)
68
+ rspec-mocks (2.13.1)
69
+ slop (3.4.5)
70
+ sqlite3 (1.3.7)
71
+ sqlite3-ruby (1.3.3)
72
+ sqlite3 (>= 1.3.3)
73
+ test-unit (2.5.5)
74
+ tzinfo (0.3.37)
75
+
76
+ PLATFORMS
77
+ ruby
78
+
79
+ DEPENDENCIES
80
+ activerecord
81
+ bson_ext
82
+ mongo_mapper
83
+ mongoid
84
+ permalink!
85
+ pry-meta
86
+ rake
87
+ rspec
88
+ sqlite3-ruby
89
+ test-unit
data/README.markdown ADDED
@@ -0,0 +1,80 @@
1
+ Permalink
2
+ =========
3
+
4
+ Instalation
5
+ -----------
6
+
7
+ gem install permalink
8
+
9
+ Usage
10
+ -----
11
+
12
+ Add the method call `permalink` to your model. Your model should have a `permalink` attribute.
13
+
14
+ class Page < ActiveRecord::Base
15
+ permalink :title
16
+ end
17
+
18
+ You can specify the permalink field:
19
+
20
+ class page < ActiveRecord::Base
21
+ permalink :title, :to => :title_permalink
22
+ end
23
+
24
+ If you don't want to use `permalink`, you can call `'some text'.to_permalink` string method and
25
+ manage the permalink process by yourself.
26
+
27
+ Permalinks are not unique by default. `permalink` overrides `to_param` as following:
28
+
29
+ def to_param
30
+ "#{id}-#{permalink}"
31
+ end
32
+
33
+ You can define the `to_param` format:
34
+
35
+ class Page < ActiveRecord::Base
36
+ permalink :title, :to_param => %w(id permalink page)
37
+ end
38
+
39
+ The above settings will generate something link `100-some-title-page`. By overriding `to_param` method you don't have to change a thing on your app routes.
40
+
41
+ If you want to generate unique permalink, use the `:unique` option:
42
+
43
+ class Page < ActiveRecord::Base
44
+ permalink :title, :unique => true, :to_param => :permalink
45
+ end
46
+
47
+ The permalink is generated using `ActiveSupport::Multibyte::Chars` class; this means that characters will properly replaced from `áéíó` to `aeio`, for instance.
48
+
49
+ The permalink is created when `before_validation` callback is evaluated. This plugin also tries
50
+ to generate a permalink when `before_save` callback is evaluated and the instance has no permalink set.
51
+
52
+ You can force the permalink generation by setting the `:force` option.
53
+
54
+ class Page < ActiveRecord::Base
55
+ permalink :title, :force => true
56
+ end
57
+
58
+ ## License
59
+
60
+ Copyright (c) 2011 Nando Vieira, released under the MIT license
61
+ Modified 2014 - Florian Eck
62
+
63
+ Permission is hereby granted, free of charge, to any person obtaining
64
+ a copy of this software and associated documentation files (the
65
+ "Software"), to deal in the Software without restriction, including
66
+ without limitation the rights to use, copy, modify, merge, publish,
67
+ distribute, sublicense, and/or sell copies of the Software, and to
68
+ permit persons to whom the Software is furnished to do so, subject to
69
+ the following conditions:
70
+
71
+ The above copyright notice and this permission notice shall be
72
+ included in all copies or substantial portions of the Software.
73
+
74
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
75
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
76
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
77
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
78
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
79
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
80
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,5 @@
1
+ require "bundler"
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require "rspec/core/rake_task"
5
+ RSpec::Core::RakeTask.new
@@ -0,0 +1,5 @@
1
+ require "permalinker/string_ext"
2
+ require "permalinker/orm/base"
3
+ require "permalinker/orm/active_record"
4
+
5
+ ActiveRecord::Base.send(:include, Permalinker::Orm::ActiveRecord) if defined?(ActiveRecord)
@@ -0,0 +1,26 @@
1
+ module Permalinker
2
+ module Orm
3
+ module ActiveRecord
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ base.extend(Permalinker::Orm::Base::ClassMethods)
7
+ class << base; attr_accessor :permalink_options; end
8
+ end
9
+
10
+ module ClassMethods
11
+ # permalink :title
12
+ # permalink :title, :to => :custom_permalink_field
13
+ # permalink :title, :to => :permalink, :to_param => [:id, :permalink]
14
+ # permalink :title, :unique => true
15
+ def permalink(from, options={})
16
+ include Permalinker::Orm::Base::InstanceMethods
17
+ setup_permalink(
18
+ {:to_param => [:id, :permalink]},
19
+ from,
20
+ options
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,75 @@
1
+ module Permalinker
2
+ module Orm
3
+ module Base
4
+ module ClassMethods
5
+ def setup_permalink(orm_options, from, options)
6
+ options.reverse_merge!(orm_options)
7
+ options.reverse_merge!({
8
+ :to => :permalink,
9
+ :unique => false,
10
+ :force => false
11
+ })
12
+
13
+ self.permalink_options = {
14
+ :from_column_name => from,
15
+ :to_column_name => options[:to],
16
+ :to_param => [options[:to_param]].flatten,
17
+ :unique => options[:unique],
18
+ :force => options[:force]
19
+ }
20
+
21
+ self.send(:attr_accessor, :overwrite_permalink)
22
+
23
+ before_validation :create_permalink
24
+ before_save :create_permalink
25
+ end
26
+ end
27
+
28
+ module InstanceMethods
29
+ def to_param
30
+ to_param_option = self.class.permalink_options[:to_param]
31
+
32
+ to_param_option.compact.collect do |name|
33
+ if respond_to?(name)
34
+ send(name).to_s
35
+ else
36
+ name.to_s
37
+ end
38
+ end.reject(&:blank?).join("-")
39
+ end
40
+
41
+ def permalink_value_without_id
42
+ self.permalink.to_s.gsub(/\A[0-9]{1,}-/, "")
43
+ end
44
+
45
+ private
46
+
47
+ def from_permalink_name
48
+ self.class.permalink_options[:from_column_name]
49
+ end
50
+
51
+ def to_permalink_name
52
+ self.class.permalink_options[:to_column_name]
53
+ end
54
+
55
+ def from_permalink_value
56
+ read_attribute(from_permalink_name)
57
+ end
58
+
59
+ def to_permalink_value
60
+ read_attribute(to_permalink_name)
61
+ end
62
+
63
+
64
+
65
+
66
+ def create_permalink
67
+ # Getting Permalinker data
68
+ # Check overwrite
69
+ value = self.overwrite_permalink.blank? ? self.to_param : self.overwrite_permalink
70
+ write_attribute(to_permalink_name, "#{self.id}-#{value}".to_permalink)
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,11 @@
1
+ class String
2
+ def to_permalink
3
+ str = self.de_2_int
4
+ str.gsub!(/'/, "")
5
+ str.gsub!(/[^-\w\d]+/sim, "-")
6
+ str.gsub!(/-+/sm, "-")
7
+ str.gsub!(/^-?(.*?)-?$/, '\1')
8
+ str.downcase!
9
+ str
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ module Permalinker
2
+ module Version
3
+ MAJOR = 1
4
+ MINOR = 2
5
+ PATCH = 1
6
+ STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
+ end
8
+ end
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require "./lib/permalinker/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "permalinker"
6
+ s.version = "1.0.0"
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Florian Eck"]
9
+ s.email = ["it-support@friends-systems.de"]
10
+ s.homepage = "http://rubygems.org/gems/permalinker"
11
+ s.summary = "Generate permalink attributes on ActiveRecord, based on Permalink gem by Nando Vieira"
12
+ s.description = s.summary
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+
19
+ s.add_dependency "friendly_extensions"
20
+
21
+ s.add_development_dependency "activerecord"
22
+ s.add_development_dependency "sqlite3-ruby"
23
+ s.add_development_dependency "test-unit"
24
+ s.add_development_dependency "rspec"
25
+ s.add_development_dependency "mongoid"
26
+ s.add_development_dependency "mongo_mapper"
27
+ s.add_development_dependency "bson_ext"
28
+ s.add_development_dependency "pry-meta"
29
+ s.add_development_dependency "rake"
30
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Permalinker::Orm::ActiveRecord do
4
+ let(:model) { Post }
5
+ it_behaves_like "orm"
6
+
7
+ it "overrides to_param method" do
8
+ model.permalink :title
9
+
10
+ record = model.create(:title => "Some nice post")
11
+ expect(record.to_param).to eql("#{record.id}-some-nice-post")
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require "spec_helper"
3
+
4
+ describe "String#to_permalink" do
5
+ {
6
+ 'This IS a Tripped out title!!.!1 (well/ not really)' => 'this-is-a-tripped-out-title-1-well-not-really',
7
+ '////// meph1sto r0x ! \\\\\\' => 'meph1sto-r0x',
8
+ 'āčēģīķļņū' => 'acegiklnu',
9
+ '中文測試 chinese text' => 'chinese-text',
10
+ 'some-)()()-ExtRa!/// .data==?> to \/\/test' => 'some-extra-data-to-test',
11
+ 'http://simplesideias.com.br/tags/' => 'http-simplesideias-com-br-tags',
12
+ "Don't Repeat Yourself (DRY)" => 'dont-repeat-yourself-dry',
13
+ "Text\nwith\nline\n\n\tbreaks" => 'text-with-line-breaks',
14
+ "can't do it" => "cant-do-it",
15
+ "i'm a dog" => "im-a-dog"
16
+ }.each do |from, to|
17
+ it "creates permalink for #{from}" do
18
+ expect(from.to_permalink).to eql(to)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ require "mongo_mapper"
2
+ require "mongoid"
3
+ require "rspec"
4
+ require "active_record"
5
+ require "permalink"
6
+
7
+ # Setup ActiveRecord
8
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
9
+
10
+ load("support/schema.rb")
11
+ require "support/shared"
12
+ require "support/post"
@@ -0,0 +1,2 @@
1
+ class Post < ActiveRecord::Base
2
+ end
@@ -0,0 +1,5 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :posts do |t|
3
+ t.string :title, :permalink, :description, :slug
4
+ end
5
+ end
@@ -0,0 +1,117 @@
1
+ shared_examples_for "orm" do
2
+ before do
3
+ model.delete_all
4
+ model.permalink :title
5
+ end
6
+
7
+ it "should respond to options" do
8
+ model.should respond_to(:permalink_options)
9
+ end
10
+
11
+ it "should use default options" do
12
+ model.permalink :title
13
+ record = model.create(:title => "Some nice post")
14
+ record.permalink.should == "some-nice-post"
15
+ end
16
+
17
+ it "should use custom attribute" do
18
+ model.permalink :title, :to => :slug
19
+ record = model.create(:title => "Some nice post")
20
+ record.slug.should == "some-nice-post"
21
+ end
22
+
23
+ it "should set permalink before_save" do
24
+ record = model.new(:title => "Some nice post")
25
+ record.permalink.should be_nil
26
+ record.valid?
27
+ record.permalink.should == "some-nice-post"
28
+ end
29
+
30
+ it "should create unique permalinks" do
31
+ model.permalink :title, :unique => true
32
+
33
+ record = model.create(:title => "Some nice post")
34
+ record.permalink.should == "some-nice-post"
35
+
36
+ record = model.create(:title => "Some nice post")
37
+ record.permalink.should == "some-nice-post-2"
38
+
39
+ record = model.create(:title => "Some nice post")
40
+ record.permalink.should == "some-nice-post-3"
41
+ end
42
+
43
+ it "should return to_param for unique permalink" do
44
+ model.permalink :title, :to_param => :permalink, :unique => true
45
+
46
+ record = model.create(:title => "Ruby")
47
+ record.to_param.should == "ruby"
48
+
49
+ record = model.create(:title => "Ruby")
50
+ record.to_param.should == "ruby-2"
51
+ end
52
+
53
+ it "should override to_param with custom fields" do
54
+ model.permalink :title, :to => :slug, :to_param => [:slug, :id, "page"]
55
+
56
+ record = model.create(:title => "Some nice post")
57
+ record.to_param.should == "some-nice-post-#{record.id}-page"
58
+ end
59
+
60
+ it "should ignore blank attributes from to_param" do
61
+ model.permalink :title, :to_param => [:id, " ", nil, "\t", :permalink]
62
+
63
+ record = model.create(:title => "Some nice post")
64
+ record.to_param.should == "#{record.id}-some-nice-post"
65
+ end
66
+
67
+ it "should set permalink if permalink is blank" do
68
+ record = model.create(:title => "Some nice post", :permalink => " ")
69
+ record.permalink.should == "some-nice-post"
70
+ end
71
+
72
+ it "should keep defined permalink" do
73
+ record = model.create(:title => "Some nice post", :permalink => "awesome-post")
74
+ record.permalink.should == "awesome-post"
75
+ end
76
+
77
+ it "should create unique permalinks for number-ended titles" do
78
+ model.permalink :title, :unique => true
79
+
80
+ record = model.create(:title => "Rails 3")
81
+ record.permalink.should == "rails-3"
82
+
83
+ record = model.create(:title => "Rails 3")
84
+ record.permalink.should == "rails-3-2"
85
+ end
86
+
87
+ it "should force permalink" do
88
+ model.permalink :title, :force => true
89
+
90
+ record = model.create(:title => "Some nice post")
91
+ record.update_attributes :title => "Awesome post"
92
+
93
+ record.permalink.should == "awesome-post"
94
+ end
95
+
96
+ it "should force permalink and keep unique" do
97
+ model.permalink :title, :force => true, :unique => true
98
+
99
+ record = model.create(:title => "Some nice post")
100
+
101
+ record.update_attributes :title => "Awesome post"
102
+ record.permalink.should == "awesome-post"
103
+
104
+ record = model.create(:title => "Awesome post")
105
+ record.permalink.should == "awesome-post-2"
106
+ end
107
+
108
+ it "should keep same permalink when another field changes" do
109
+ model.permalink :title, :force => true, :unique => true
110
+
111
+ record = model.create(:title => "Some nice post")
112
+ record.update_attributes :description => "some description"
113
+
114
+ record.permalink.should == "some-nice-post"
115
+ end
116
+
117
+ end
metadata ADDED
@@ -0,0 +1,210 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: permalinker
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Florian Eck
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: friendly_extensions
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sqlite3-ruby
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-unit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mongoid
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mongo_mapper
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: bson_ext
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-meta
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: Generate permalink attributes on ActiveRecord, based on Permalink gem
154
+ by Nando Vieira
155
+ email:
156
+ - it-support@friends-systems.de
157
+ executables: []
158
+ extensions: []
159
+ extra_rdoc_files: []
160
+ files:
161
+ - ".gitignore"
162
+ - ".rspec"
163
+ - Gemfile
164
+ - Gemfile.lock
165
+ - README.markdown
166
+ - Rakefile
167
+ - lib/permalinker.rb
168
+ - lib/permalinker/orm/active_record.rb
169
+ - lib/permalinker/orm/base.rb
170
+ - lib/permalinker/string_ext.rb
171
+ - lib/permalinker/version.rb
172
+ - permalinker.gemspec
173
+ - spec/permalink/active_record_spec.rb
174
+ - spec/permalink/string_spec.rb
175
+ - spec/spec_helper.rb
176
+ - spec/support/post.rb
177
+ - spec/support/schema.rb
178
+ - spec/support/shared.rb
179
+ homepage: http://rubygems.org/gems/permalinker
180
+ licenses: []
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 2.2.1
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: Generate permalink attributes on ActiveRecord, based on Permalink gem by
202
+ Nando Vieira
203
+ test_files:
204
+ - spec/permalink/active_record_spec.rb
205
+ - spec/permalink/string_spec.rb
206
+ - spec/spec_helper.rb
207
+ - spec/support/post.rb
208
+ - spec/support/schema.rb
209
+ - spec/support/shared.rb
210
+ has_rdoc: