couchrest_model_slug 0.0.2 → 0.0.3

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/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  group :development, :test do
4
- gem "rails", "3.0.8"
5
- gem "capybara", ">= 0.4.0"
4
+ gem "rails", "3.2.3"
5
+ gem "capybara", "~> 1.1"
6
6
  gem "rspec-rails", "~> 2.6"
7
7
  gem "simplecov", :require => false
8
8
  gem "factory_girl_rails"
@@ -1,4 +1,5 @@
1
- == CouchRest Model Slug
1
+ == CouchRest Model Slug {<img src="https://secure.travis-ci.org/lucasrenan/couchrest-model-slug.png?branch=master" alt="Build Status" />}[http://travis-ci.org/lucasrenan/couchrest-model-slug] {<img src="https://gemnasium.com/lucasrenan/couchrest-model-slug.png" alt="Dependency Status" />}[https://gemnasium.com/lucasrenan/couchrest-model-slug]
2
+
2
3
 
3
4
  CouchRest Model Slug is a simple gem to generate better urls using CouchRest Model in an easy way.
4
5
  It's based on Mongoid Slug https://github.com/papercavalier/mongoid-slug
@@ -9,7 +10,7 @@ Time to relax with beautiful urls.
9
10
 
10
11
  Add to Gemfile
11
12
 
12
- gem "couchrest_model_slug", "~> 0.0.1"
13
+ gem "couchrest_model_slug", "~> 0.0.3"
13
14
 
14
15
  A model example
15
16
 
@@ -22,27 +22,6 @@ module CouchRest
22
22
  cattr_accessor :slugged_props
23
23
  end
24
24
 
25
- module InstanceMethods
26
- def to_param
27
- result = self.send :slug
28
- return super if result.blank?
29
- result
30
- end
31
-
32
- private
33
- def generate_slug
34
- if new_record? || slugged_props_changed?
35
- slug = self.slugged_props.collect{ |prop| read_attribute(prop) }.join(", ").to_url
36
- slug = self.class.generate_count_for_slug(slug)
37
- self.slug = slug
38
- end
39
- end
40
-
41
- def slugged_props_changed?
42
- self.slugged_props.any? { |p| self.send("#{p}_changed?") }
43
- end
44
- end
45
-
46
25
  module ClassMethods
47
26
  def slug(*props)
48
27
  self.slugged_props = props.map(&:to_s)
@@ -57,6 +36,25 @@ module CouchRest
57
36
  hash.nil? ? slug_without_count : "#{slug_without_count}-#{hash['value']}"
58
37
  end
59
38
  end
39
+
40
+ def to_param
41
+ result = self.send :slug
42
+ return super if result.blank?
43
+ result
44
+ end
45
+
46
+ private
47
+ def generate_slug
48
+ if new_record? || slugged_props_changed?
49
+ slug = self.slugged_props.collect{ |prop| read_attribute(prop) }.join(", ").to_url
50
+ slug = self.class.generate_count_for_slug(slug)
51
+ self.slug = slug
52
+ end
53
+ end
54
+
55
+ def slugged_props_changed?
56
+ self.slugged_props.any? { |p| self.send("#{p}_changed?") }
57
+ end
60
58
 
61
59
  end
62
60
  end
@@ -1,7 +1,7 @@
1
1
  module CouchRest
2
2
  module Model
3
3
  module Slug
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,48 +1,54 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: couchrest_model_slug
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Lucas Renan
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-25 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: couchrest_model
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: 1.1.0
20
+ - !ruby/object:Gem::Version
21
+ version: 1.1.2
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: stringex
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: stringex
32
+ requirement: !ruby/object:Gem::Requirement
30
33
  none: false
31
- requirements:
34
+ requirements:
32
35
  - - ~>
33
- - !ruby/object:Gem::Version
34
- version: 1.2.1
36
+ - !ruby/object:Gem::Version
37
+ version: '1.3'
35
38
  type: :runtime
36
- version_requirements: *id002
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.3'
37
46
  description:
38
47
  email: contato@lucasrenan.com
39
48
  executables: []
40
-
41
49
  extensions: []
42
-
43
50
  extra_rdoc_files: []
44
-
45
- files:
51
+ files:
46
52
  - lib/couchrest/model/slug/version.rb
47
53
  - lib/couchrest/model/slug.rb
48
54
  - lib/couchrest_model_slug.rb
@@ -52,30 +58,26 @@ files:
52
58
  - README.rdoc
53
59
  homepage: https://github.com/lucasrenan/couchrest-model-slug
54
60
  licenses: []
55
-
56
61
  post_install_message:
57
62
  rdoc_options: []
58
-
59
- require_paths:
63
+ require_paths:
60
64
  - lib
61
- required_ruby_version: !ruby/object:Gem::Requirement
65
+ required_ruby_version: !ruby/object:Gem::Requirement
62
66
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
67
- required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
72
  none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
73
77
  requirements: []
74
-
75
78
  rubyforge_project:
76
- rubygems_version: 1.8.5
79
+ rubygems_version: 1.8.24
77
80
  signing_key:
78
81
  specification_version: 3
79
82
  summary: A simple gem to generate slugs using couchrest model, based on mongoid_slug.
80
83
  test_files: []
81
-