wulffeld_slug 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,28 @@
1
+ source :rubygems
2
+ gemspec
3
+
4
+ gem 'mongoid', '2.2.0'
5
+
6
+ platforms :mri_18 do
7
+ gem "SystemTimer"
8
+ end
9
+
10
+ group :test, :development do
11
+ gem 'bson', '1.3.0'
12
+ gem 'bson_ext', '1.3.0'
13
+ gem 'bundler', '>= 1.0.18'
14
+ gem 'jeweler', '>= 1.6.2'
15
+ gem 'rdoc', '>= 3.8'
16
+ gem 'rspec', '>= 2.6.0'
17
+ gem 'ZenTest', '>= 4.5.0'
18
+ end
19
+
20
+ group :test do
21
+ gem 'capybara', '1.0.0'
22
+ gem 'database_cleaner', '0.6.7'
23
+ gem 'factory_girl', '2.0.1'
24
+ gem 'factory_girl_rails', '1.1.rc1'
25
+ gem 'remarkable_mongoid', '0.6.0'
26
+ gem 'rspec-rails', '2.6.1'
27
+ gem 'shoulda-matchers', :git => 'git://github.com/thoughtbot/shoulda-matchers.git'
28
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,152 @@
1
+ GIT
2
+ remote: git://github.com/thoughtbot/shoulda-matchers.git
3
+ revision: 3d9439030b09208517311c1583beb0fe0a6c903b
4
+ specs:
5
+ shoulda-matchers (1.0.0.beta3)
6
+
7
+ PATH
8
+ remote: .
9
+ specs:
10
+ wulffeld_slug (0.0.15)
11
+ SystemTimer
12
+ babosa (= 0.3.3)
13
+ mongoid (= 2.2.0)
14
+ wulffeld_slug
15
+
16
+ GEM
17
+ remote: http://rubygems.org/
18
+ specs:
19
+ SystemTimer (1.2.3)
20
+ ZenTest (4.6.2)
21
+ actionpack (3.1.0)
22
+ activemodel (= 3.1.0)
23
+ activesupport (= 3.1.0)
24
+ builder (~> 3.0.0)
25
+ erubis (~> 2.7.0)
26
+ i18n (~> 0.6)
27
+ rack (~> 1.3.2)
28
+ rack-cache (~> 1.0.3)
29
+ rack-mount (~> 0.8.2)
30
+ rack-test (~> 0.6.1)
31
+ sprockets (~> 2.0.0)
32
+ activemodel (3.1.0)
33
+ activesupport (= 3.1.0)
34
+ bcrypt-ruby (~> 3.0.0)
35
+ builder (~> 3.0.0)
36
+ i18n (~> 0.6)
37
+ activesupport (3.1.0)
38
+ multi_json (~> 1.0)
39
+ babosa (0.3.3)
40
+ bcrypt-ruby (3.0.1)
41
+ bson (1.3.0)
42
+ bson_ext (1.3.0)
43
+ builder (3.0.0)
44
+ capybara (1.0.0)
45
+ mime-types (>= 1.16)
46
+ nokogiri (>= 1.3.3)
47
+ rack (>= 1.0.0)
48
+ rack-test (>= 0.5.4)
49
+ selenium-webdriver (~> 0.2.0)
50
+ xpath (~> 0.1.4)
51
+ childprocess (0.2.2)
52
+ ffi (~> 1.0.6)
53
+ database_cleaner (0.6.7)
54
+ diff-lcs (1.1.3)
55
+ erubis (2.7.0)
56
+ factory_girl (2.0.1)
57
+ factory_girl_rails (1.1.rc1)
58
+ factory_girl (~> 2.0.0.rc)
59
+ railties (>= 3.0.0)
60
+ ffi (1.0.9)
61
+ git (1.2.5)
62
+ hike (1.2.1)
63
+ i18n (0.6.0)
64
+ jeweler (1.6.4)
65
+ bundler (~> 1.0)
66
+ git (>= 1.2.5)
67
+ rake
68
+ json_pure (1.6.1)
69
+ mime-types (1.16)
70
+ mongo (1.3.0)
71
+ bson (>= 1.3.0)
72
+ mongoid (2.2.0)
73
+ activemodel (~> 3.0)
74
+ mongo (~> 1.3)
75
+ tzinfo (~> 0.3.22)
76
+ multi_json (1.0.3)
77
+ nokogiri (1.5.0)
78
+ rack (1.3.4)
79
+ rack-cache (1.0.3)
80
+ rack (>= 0.4)
81
+ rack-mount (0.8.3)
82
+ rack (>= 1.0.0)
83
+ rack-ssl (1.3.2)
84
+ rack
85
+ rack-test (0.6.1)
86
+ rack (>= 1.0)
87
+ railties (3.1.0)
88
+ actionpack (= 3.1.0)
89
+ activesupport (= 3.1.0)
90
+ rack-ssl (~> 1.3.2)
91
+ rake (>= 0.8.7)
92
+ rdoc (~> 3.4)
93
+ thor (~> 0.14.6)
94
+ rake (0.9.2)
95
+ rdoc (3.9.4)
96
+ remarkable (4.0.0.alpha4)
97
+ rspec (>= 2.0.0.alpha11)
98
+ remarkable_activemodel (4.0.0.alpha4)
99
+ remarkable (~> 4.0.0.alpha4)
100
+ rspec (>= 2.0.0.alpha11)
101
+ remarkable_mongoid (0.6.0)
102
+ remarkable_activemodel (~> 4.0.0.alpha4)
103
+ rspec (2.6.0)
104
+ rspec-core (~> 2.6.0)
105
+ rspec-expectations (~> 2.6.0)
106
+ rspec-mocks (~> 2.6.0)
107
+ rspec-core (2.6.4)
108
+ rspec-expectations (2.6.0)
109
+ diff-lcs (~> 1.1.2)
110
+ rspec-mocks (2.6.0)
111
+ rspec-rails (2.6.1)
112
+ actionpack (~> 3.0)
113
+ activesupport (~> 3.0)
114
+ railties (~> 3.0)
115
+ rspec (~> 2.6.0)
116
+ rubyzip (0.9.4)
117
+ selenium-webdriver (0.2.2)
118
+ childprocess (>= 0.1.9)
119
+ ffi (>= 1.0.7)
120
+ json_pure
121
+ rubyzip
122
+ sprockets (2.0.2)
123
+ hike (~> 1.2)
124
+ rack (~> 1.0)
125
+ tilt (~> 1.1, != 1.3.0)
126
+ thor (0.14.6)
127
+ tilt (1.3.3)
128
+ tzinfo (0.3.30)
129
+ xpath (0.1.4)
130
+ nokogiri (~> 1.3)
131
+
132
+ PLATFORMS
133
+ ruby
134
+
135
+ DEPENDENCIES
136
+ SystemTimer
137
+ ZenTest (>= 4.5.0)
138
+ bson (= 1.3.0)
139
+ bson_ext (= 1.3.0)
140
+ bundler (>= 1.0.18)
141
+ capybara (= 1.0.0)
142
+ database_cleaner (= 0.6.7)
143
+ factory_girl (= 2.0.1)
144
+ factory_girl_rails (= 1.1.rc1)
145
+ jeweler (>= 1.6.2)
146
+ mongoid (= 2.2.0)
147
+ rdoc (>= 3.8)
148
+ remarkable_mongoid (= 0.6.0)
149
+ rspec (>= 2.6.0)
150
+ rspec-rails (= 2.6.1)
151
+ shoulda-matchers!
152
+ wulffeld_slug!
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.14
1
+ 0.0.15
@@ -2,8 +2,8 @@ module WulffeldSlug
2
2
  module Slug
3
3
  def has_slug(fields, options = {})
4
4
  class_attribute :slug_config
5
- self.slug_config = options.merge(:fields => fields)
6
-
5
+ self.slug_config = {:case => :downcase, :loop_start => 64, :fields => fields}.merge(options)
6
+
7
7
  include WulffeldSlug::SlugInclude
8
8
  end
9
9
  end
@@ -18,7 +18,7 @@ module WulffeldSlug
18
18
  slug
19
19
  end
20
20
 
21
- # Can override this.
21
+ # You may override this.
22
22
  def slug_unique?(slug)
23
23
  if new_record?
24
24
  !self.class.where(:slug => slug).first
@@ -32,6 +32,7 @@ module WulffeldSlug
32
32
  end
33
33
 
34
34
  def cb_make_slug
35
+ # NOTE: Uniqueness is not checked if slug is non-nil. You must ensure uniqueness yourself then.
35
36
  return unless slug.blank?
36
37
 
37
38
  a = [*send(slug_config[:fields])].reject {|f| f.blank? }.map {|f| f.is_a?(String) ? f : send(f) }.flatten
@@ -50,7 +51,7 @@ module WulffeldSlug
50
51
 
51
52
  # First loop we do some optimistic searching.
52
53
  if n.nil?
53
- b = 512
54
+ b = slug_config[:loop_start]
54
55
  last_b = nil
55
56
  loop do
56
57
  slug = [str_part, b].join('-')
@@ -73,24 +74,33 @@ module WulffeldSlug
73
74
  # Use dashes.
74
75
  # http://www.mattcutts.com/blog/dashes-vs-underscores/
75
76
  def prepare_string(s, max=239)
76
- s.strip!
77
-
78
77
  # Blow away apostrophes
79
78
  s.gsub! /['`]/,""
80
79
 
81
- orig = s
82
-
83
80
  # @ --> at, and & --> and
84
81
  s.gsub! /\s*@\s*/, " at "
85
82
  s.gsub! /\s*&\s*/, " and "
86
83
 
87
- # to_slug is a babosa method.
88
- s = s.to_slug.normalize(:to_ascii => true).to_s
84
+ s = Babosa::Identifier.new(s).transliterate.to_ascii.to_s
89
85
  s.strip!
86
+
90
87
  # Convert spaces to dashes.
91
88
  s.gsub!(/[^a-zA-Z0-9]+/i, '-')
89
+
92
90
  words = s.split('-').reject {|w| w.blank? }
93
- new_slug = words.map(&:downcase).join('-')
91
+
92
+ new_slug =
93
+ case slug_config[:case]
94
+ when :preserve
95
+ words
96
+ when :downcase
97
+ words.map(&:downcase)
98
+ when :capitalize
99
+ words.map(&:capitalize)
100
+ when :upcase
101
+ words.map(&:upcase)
102
+ end.join('-')
103
+
94
104
  new_slug = new_slug[0..max]
95
105
  end
96
106
  end
@@ -0,0 +1,8 @@
1
+ class Actor
2
+ include Mongoid::Document
3
+ extend WulffeldSlug::Slug
4
+
5
+ field :name
6
+
7
+ has_slug :name, :mongo => true, :case => :upcase
8
+ end
@@ -0,0 +1,9 @@
1
+ class Article
2
+ include Mongoid::Document
3
+ extend WulffeldSlug::Slug
4
+
5
+ field :title
6
+ field :author
7
+
8
+ has_slug :title, :mongo => true
9
+ end
@@ -0,0 +1,13 @@
1
+ class User
2
+ include Mongoid::Document
3
+ extend WulffeldSlug::Slug
4
+
5
+ field :login
6
+ field :name
7
+
8
+ has_slug :slug_fields, :mongo => true, :case => :preserve
9
+
10
+ def slug_fields
11
+ [ self.login, self.name ]
12
+ end
13
+ end
data/spec/factories.rb ADDED
@@ -0,0 +1,7 @@
1
+ def F(*options)
2
+ Factory.create(*options)
3
+ end
4
+
5
+ def FB(*options)
6
+ Factory.build(*options)
7
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Actor do
4
+ it "should upcase the slug" do
5
+ user = Actor.new(:name => "Geoffrey Rush")
6
+ user.save!
7
+ user.reload.slug.should == 'GEOFFREY-RUSH'
8
+ end
9
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Article do
4
+ context "new" do
5
+ let(:article) do
6
+ Article.new(:title => "Blade Runner")
7
+ end
8
+
9
+ it "creates a slug" do
10
+ article.save
11
+ article.slug.should == "blade-runner"
12
+ end
13
+
14
+ it "creates a unique slug" do
15
+ article.save
16
+ article.slug.should == "blade-runner-1"
17
+ end
18
+
19
+ it "creates a slug without superfluous spaces" do
20
+ article.title = " The Shawshank Redemption "
21
+ article.save
22
+ article.slug.should == "the-shawshank-redemption"
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe User do
4
+ context "dynamic slug fields" do
5
+ it "should create a slug based on the non-nil field(s)" do
6
+ user = User.new(:login => "deckard")
7
+ user.save!
8
+ user.reload.slug.should == 'deckard'
9
+ end
10
+ end
11
+
12
+ it "should preserve capitalization" do
13
+ user = User.new(:login => "Batty")
14
+ user.save!
15
+ user.reload.slug.should == 'Batty'
16
+ end
17
+ end
@@ -0,0 +1,33 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
2
+
3
+ MODELS = File.join(File.dirname(__FILE__), "app/models")
4
+ $LOAD_PATH.unshift(MODELS)
5
+
6
+ require 'rubygems'
7
+ require 'bundler/setup'
8
+
9
+ ENV["RAILS_ENV"] = "test"
10
+
11
+ require "wulffeld_slug"
12
+ require "system_timer"
13
+ require "mongoid"
14
+ require "rspec"
15
+ require "factory_girl"
16
+
17
+ Mongoid.configure do |config|
18
+ config.master = Mongo::Connection.new.db("wulffeld_slug_test")
19
+ config.logger = nil
20
+ end
21
+
22
+ Dir[ File.join(MODELS, "*.rb") ].sort.each { |file| require File.basename(file) }
23
+
24
+ RSpec.configure do |config|
25
+ require 'rspec/expectations'
26
+
27
+ config.include RSpec::Matchers
28
+
29
+ config.mock_with :rspec
30
+
31
+ config.after(:suite) { Mongoid.purge! }
32
+ config.before(:each) { Mongoid::IdentityMap.clear }
33
+ end
@@ -4,40 +4,101 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{wulffeld_slug}
8
- s.version = "0.0.14"
7
+ s.name = "wulffeld_slug"
8
+ s.version = "0.0.15"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Martin Moen Wulffeld}]
12
- s.date = %q{2011-08-07}
13
- s.description = %q{}
14
- s.email = %q{martin@wulffeld.org}
11
+ s.authors = ["Martin Moen Wulffeld"]
12
+ s.date = "2011-10-05"
13
+ s.description = ""
14
+ s.email = "martin@wulffeld.org"
15
15
  s.extra_rdoc_files = [
16
16
  "README"
17
17
  ]
18
18
  s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
19
21
  "README",
20
22
  "Rakefile",
21
23
  "VERSION",
22
24
  "lib/wulffeld_slug.rb",
23
25
  "lib/wulffeld_slug/slug.rb",
24
26
  "lib/wulffeld_slug/slug_include.rb",
27
+ "spec/app/models/actor.rb",
28
+ "spec/app/models/article.rb",
29
+ "spec/app/models/user.rb",
30
+ "spec/factories.rb",
31
+ "spec/lib/actor_spec.rb",
32
+ "spec/lib/article_spec.rb",
33
+ "spec/lib/user_spec.rb",
34
+ "spec/spec_helper.rb",
25
35
  "wulffeld_slug.gemspec"
26
36
  ]
27
- s.homepage = %q{http://www.wulffeld.org/}
28
- s.require_paths = [%q{lib}]
29
- s.rubygems_version = %q{1.8.5}
30
- s.summary = %q{Slug generation.}
37
+ s.homepage = "http://www.wulffeld.org/"
38
+ s.require_paths = ["lib"]
39
+ s.rubygems_version = "1.8.10"
40
+ s.summary = "Slug generation."
31
41
 
32
42
  if s.respond_to? :specification_version then
33
43
  s.specification_version = 3
34
44
 
35
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
+ s.add_runtime_dependency(%q<wulffeld_slug>, [">= 0"])
47
+ s.add_runtime_dependency(%q<mongoid>, ["= 2.2.0"])
48
+ s.add_runtime_dependency(%q<SystemTimer>, [">= 0"])
49
+ s.add_development_dependency(%q<bson>, ["= 1.3.0"])
50
+ s.add_development_dependency(%q<bson_ext>, ["= 1.3.0"])
51
+ s.add_development_dependency(%q<bundler>, [">= 1.0.18"])
52
+ s.add_development_dependency(%q<jeweler>, [">= 1.6.2"])
53
+ s.add_development_dependency(%q<rdoc>, [">= 3.8"])
54
+ s.add_development_dependency(%q<rspec>, [">= 2.6.0"])
55
+ s.add_development_dependency(%q<ZenTest>, [">= 4.5.0"])
56
+ s.add_development_dependency(%q<bson>, ["= 1.3.0"])
57
+ s.add_development_dependency(%q<bson_ext>, ["= 1.3.0"])
58
+ s.add_development_dependency(%q<bundler>, [">= 1.0.18"])
59
+ s.add_development_dependency(%q<jeweler>, [">= 1.6.2"])
60
+ s.add_development_dependency(%q<rdoc>, [">= 3.8"])
61
+ s.add_development_dependency(%q<rspec>, [">= 2.6.0"])
62
+ s.add_development_dependency(%q<ZenTest>, [">= 4.5.0"])
36
63
  s.add_runtime_dependency(%q<babosa>, ["= 0.3.3"])
37
64
  else
65
+ s.add_dependency(%q<wulffeld_slug>, [">= 0"])
66
+ s.add_dependency(%q<mongoid>, ["= 2.2.0"])
67
+ s.add_dependency(%q<SystemTimer>, [">= 0"])
68
+ s.add_dependency(%q<bson>, ["= 1.3.0"])
69
+ s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
70
+ s.add_dependency(%q<bundler>, [">= 1.0.18"])
71
+ s.add_dependency(%q<jeweler>, [">= 1.6.2"])
72
+ s.add_dependency(%q<rdoc>, [">= 3.8"])
73
+ s.add_dependency(%q<rspec>, [">= 2.6.0"])
74
+ s.add_dependency(%q<ZenTest>, [">= 4.5.0"])
75
+ s.add_dependency(%q<bson>, ["= 1.3.0"])
76
+ s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
77
+ s.add_dependency(%q<bundler>, [">= 1.0.18"])
78
+ s.add_dependency(%q<jeweler>, [">= 1.6.2"])
79
+ s.add_dependency(%q<rdoc>, [">= 3.8"])
80
+ s.add_dependency(%q<rspec>, [">= 2.6.0"])
81
+ s.add_dependency(%q<ZenTest>, [">= 4.5.0"])
38
82
  s.add_dependency(%q<babosa>, ["= 0.3.3"])
39
83
  end
40
84
  else
85
+ s.add_dependency(%q<wulffeld_slug>, [">= 0"])
86
+ s.add_dependency(%q<mongoid>, ["= 2.2.0"])
87
+ s.add_dependency(%q<SystemTimer>, [">= 0"])
88
+ s.add_dependency(%q<bson>, ["= 1.3.0"])
89
+ s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
90
+ s.add_dependency(%q<bundler>, [">= 1.0.18"])
91
+ s.add_dependency(%q<jeweler>, [">= 1.6.2"])
92
+ s.add_dependency(%q<rdoc>, [">= 3.8"])
93
+ s.add_dependency(%q<rspec>, [">= 2.6.0"])
94
+ s.add_dependency(%q<ZenTest>, [">= 4.5.0"])
95
+ s.add_dependency(%q<bson>, ["= 1.3.0"])
96
+ s.add_dependency(%q<bson_ext>, ["= 1.3.0"])
97
+ s.add_dependency(%q<bundler>, [">= 1.0.18"])
98
+ s.add_dependency(%q<jeweler>, [">= 1.6.2"])
99
+ s.add_dependency(%q<rdoc>, [">= 3.8"])
100
+ s.add_dependency(%q<rspec>, [">= 2.6.0"])
101
+ s.add_dependency(%q<ZenTest>, [">= 4.5.0"])
41
102
  s.add_dependency(%q<babosa>, ["= 0.3.3"])
42
103
  end
43
104
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wulffeld_slug
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 14
10
- version: 0.0.14
9
+ - 15
10
+ version: 0.0.15
11
11
  platform: ruby
12
12
  authors:
13
13
  - Martin Moen Wulffeld
@@ -15,12 +15,278 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-07 00:00:00 Z
18
+ date: 2011-10-05 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: babosa
21
+ type: :runtime
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ version_requirements: *id001
33
+ name: wulffeld_slug
34
+ - !ruby/object:Gem::Dependency
35
+ type: :runtime
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - "="
41
+ - !ruby/object:Gem::Version
42
+ hash: 7
43
+ segments:
44
+ - 2
45
+ - 2
46
+ - 0
47
+ version: 2.2.0
48
+ version_requirements: *id002
49
+ name: mongoid
50
+ - !ruby/object:Gem::Dependency
51
+ type: :runtime
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ version_requirements: *id003
63
+ name: SystemTimer
64
+ - !ruby/object:Gem::Dependency
65
+ type: :development
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - "="
71
+ - !ruby/object:Gem::Version
72
+ hash: 27
73
+ segments:
74
+ - 1
75
+ - 3
76
+ - 0
77
+ version: 1.3.0
78
+ version_requirements: *id004
79
+ name: bson
80
+ - !ruby/object:Gem::Dependency
81
+ type: :development
82
+ prerelease: false
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - "="
87
+ - !ruby/object:Gem::Version
88
+ hash: 27
89
+ segments:
90
+ - 1
91
+ - 3
92
+ - 0
93
+ version: 1.3.0
94
+ version_requirements: *id005
95
+ name: bson_ext
96
+ - !ruby/object:Gem::Dependency
97
+ type: :development
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ hash: 51
105
+ segments:
106
+ - 1
107
+ - 0
108
+ - 18
109
+ version: 1.0.18
110
+ version_requirements: *id006
111
+ name: bundler
112
+ - !ruby/object:Gem::Dependency
113
+ type: :development
114
+ prerelease: false
115
+ requirement: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 11
121
+ segments:
122
+ - 1
123
+ - 6
124
+ - 2
125
+ version: 1.6.2
126
+ version_requirements: *id007
127
+ name: jeweler
128
+ - !ruby/object:Gem::Dependency
129
+ type: :development
130
+ prerelease: false
131
+ requirement: &id008 !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ hash: 23
137
+ segments:
138
+ - 3
139
+ - 8
140
+ version: "3.8"
141
+ version_requirements: *id008
142
+ name: rdoc
143
+ - !ruby/object:Gem::Dependency
144
+ type: :development
145
+ prerelease: false
146
+ requirement: &id009 !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ hash: 23
152
+ segments:
153
+ - 2
154
+ - 6
155
+ - 0
156
+ version: 2.6.0
157
+ version_requirements: *id009
158
+ name: rspec
159
+ - !ruby/object:Gem::Dependency
160
+ type: :development
161
+ prerelease: false
162
+ requirement: &id010 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 43
168
+ segments:
169
+ - 4
170
+ - 5
171
+ - 0
172
+ version: 4.5.0
173
+ version_requirements: *id010
174
+ name: ZenTest
175
+ - !ruby/object:Gem::Dependency
176
+ type: :development
177
+ prerelease: false
178
+ requirement: &id011 !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - "="
182
+ - !ruby/object:Gem::Version
183
+ hash: 27
184
+ segments:
185
+ - 1
186
+ - 3
187
+ - 0
188
+ version: 1.3.0
189
+ version_requirements: *id011
190
+ name: bson
191
+ - !ruby/object:Gem::Dependency
192
+ type: :development
193
+ prerelease: false
194
+ requirement: &id012 !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - "="
198
+ - !ruby/object:Gem::Version
199
+ hash: 27
200
+ segments:
201
+ - 1
202
+ - 3
203
+ - 0
204
+ version: 1.3.0
205
+ version_requirements: *id012
206
+ name: bson_ext
207
+ - !ruby/object:Gem::Dependency
208
+ type: :development
209
+ prerelease: false
210
+ requirement: &id013 !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ hash: 51
216
+ segments:
217
+ - 1
218
+ - 0
219
+ - 18
220
+ version: 1.0.18
221
+ version_requirements: *id013
222
+ name: bundler
223
+ - !ruby/object:Gem::Dependency
224
+ type: :development
225
+ prerelease: false
226
+ requirement: &id014 !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ hash: 11
232
+ segments:
233
+ - 1
234
+ - 6
235
+ - 2
236
+ version: 1.6.2
237
+ version_requirements: *id014
238
+ name: jeweler
239
+ - !ruby/object:Gem::Dependency
240
+ type: :development
241
+ prerelease: false
242
+ requirement: &id015 !ruby/object:Gem::Requirement
243
+ none: false
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ hash: 23
248
+ segments:
249
+ - 3
250
+ - 8
251
+ version: "3.8"
252
+ version_requirements: *id015
253
+ name: rdoc
254
+ - !ruby/object:Gem::Dependency
255
+ type: :development
256
+ prerelease: false
257
+ requirement: &id016 !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ hash: 23
263
+ segments:
264
+ - 2
265
+ - 6
266
+ - 0
267
+ version: 2.6.0
268
+ version_requirements: *id016
269
+ name: rspec
270
+ - !ruby/object:Gem::Dependency
271
+ type: :development
272
+ prerelease: false
273
+ requirement: &id017 !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ hash: 43
279
+ segments:
280
+ - 4
281
+ - 5
282
+ - 0
283
+ version: 4.5.0
284
+ version_requirements: *id017
285
+ name: ZenTest
286
+ - !ruby/object:Gem::Dependency
287
+ type: :runtime
288
+ prerelease: false
289
+ requirement: &id018 !ruby/object:Gem::Requirement
24
290
  none: false
25
291
  requirements:
26
292
  - - "="
@@ -31,8 +297,8 @@ dependencies:
31
297
  - 3
32
298
  - 3
33
299
  version: 0.3.3
34
- type: :runtime
35
- version_requirements: *id001
300
+ version_requirements: *id018
301
+ name: babosa
36
302
  description: ""
37
303
  email: martin@wulffeld.org
38
304
  executables: []
@@ -42,12 +308,22 @@ extensions: []
42
308
  extra_rdoc_files:
43
309
  - README
44
310
  files:
311
+ - Gemfile
312
+ - Gemfile.lock
45
313
  - README
46
314
  - Rakefile
47
315
  - VERSION
48
316
  - lib/wulffeld_slug.rb
49
317
  - lib/wulffeld_slug/slug.rb
50
318
  - lib/wulffeld_slug/slug_include.rb
319
+ - spec/app/models/actor.rb
320
+ - spec/app/models/article.rb
321
+ - spec/app/models/user.rb
322
+ - spec/factories.rb
323
+ - spec/lib/actor_spec.rb
324
+ - spec/lib/article_spec.rb
325
+ - spec/lib/user_spec.rb
326
+ - spec/spec_helper.rb
51
327
  - wulffeld_slug.gemspec
52
328
  homepage: http://www.wulffeld.org/
53
329
  licenses: []
@@ -78,7 +354,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
354
  requirements: []
79
355
 
80
356
  rubyforge_project:
81
- rubygems_version: 1.8.5
357
+ rubygems_version: 1.8.10
82
358
  signing_key:
83
359
  specification_version: 3
84
360
  summary: Slug generation.