pseudocephalopod 0.2.2 → 0.2.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,7 +1,7 @@
1
1
  source :gemcutter
2
2
 
3
3
  # Setup gems
4
- gem "activerecord", "= 3.0.0.beta2"
4
+ gem "activerecord", "= 3.0.0.beta4"
5
5
  gem "reversible_data"
6
6
  gem "uuid"
7
7
  gem "sqlite3-ruby", :require => "sqlite3"
@@ -15,4 +15,4 @@ gem "flay", :require => nil
15
15
  gem "flog", :require => nil
16
16
  gem "rake", :require => nil
17
17
  gem "Saikuro", :require => nil
18
- gem "jeweler", :require => nil
18
+ gem "jeweler", :require => nil
data/README.md CHANGED
@@ -104,6 +104,12 @@ To run tests, simply do the following:
104
104
 
105
105
  And it's ready!
106
106
 
107
+ ## Contributors ##
108
+
109
+ Thanks to the following who contributed functionality / bug fixes:
110
+
111
+ * [Matt Pruitt](http://github.com/guitsaru)
112
+
107
113
  ## Note on Patches/Pull Requests ##
108
114
 
109
115
  * Fork the project.
data/Rakefile CHANGED
@@ -18,6 +18,7 @@ begin
18
18
  gem.homepage = "http://github.com/Sutto/pseudocephalopod"
19
19
  gem.authors = ["Darcy Laycock"]
20
20
  gem.add_dependency "activerecord", ">= 3.0.0.beta2"
21
+ gem.add_dependency "activesupport", ">= 3.0.0.beta2"
21
22
  gem.add_dependency "uuid"
22
23
  gem.add_development_dependency "shoulda", ">= 0"
23
24
  gem.add_development_dependency "reversible_data"
@@ -5,22 +5,14 @@ module Pseudocephalopod
5
5
  # Usually included by passing the :cache option as true (by default it is
6
6
  # true, you can disable by passing :cache as false or nil).
7
7
  module Caching
8
+ extend ActiveSupport::Concern
8
9
 
9
- class << self
10
- attr_accessor :cache_expires_in
11
- end
12
-
10
+ mattr_accessor :cache_expires_in
13
11
  # Cache for 10 minutes by default.
14
12
  self.cache_expires_in = 600
15
13
 
16
- def self.included(parent)
17
- parent.extend ClassMethods
18
-
19
- parent.class_eval do
20
- include InstanceMethods
21
- extend ClassMethods
22
- after_save :globally_cache_slug
23
- end
14
+ included do
15
+ after_save :globally_cache_slug
24
16
  end
25
17
 
26
18
  module InstanceMethods
@@ -1,13 +1,10 @@
1
1
  module Pseudocephalopod
2
2
  module SlugHistory
3
-
4
- def self.included(parent)
5
- parent.class_eval do
6
- include InstanceMethods
7
- extend ClassMethods
8
- after_save :record_slug_changes
9
- after_destroy :remove_slug_history!
10
- end
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ after_save :record_slug_changes
7
+ after_destroy :remove_slug_history!
11
8
  end
12
9
 
13
10
  module InstanceMethods
@@ -2,7 +2,7 @@ module Pseudocephalopod
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- PATCH = 2
5
+ PATCH = 3
6
6
  STRING = [MAJOR, MINOR, PATCH].join(".")
7
7
  end
8
- end
8
+ end
@@ -1,11 +1,18 @@
1
+ require 'active_support'
2
+ require 'active_record'
1
3
  require 'uuid'
2
4
 
5
+ require 'active_support/dependencies/autoload'
6
+ require 'active_support/core_ext/module/attribute_accessors'
7
+ require 'active_support/concern'
8
+
3
9
  module Pseudocephalopod
10
+ extend ActiveSupport::Autoload
11
+
12
+ mattr_accessor :cache_key_prefix, :cache
4
13
 
5
14
  class << self
6
15
 
7
- attr_accessor :cache_key_prefix, :cache
8
-
9
16
  def with_counter(prefix, counter = 0)
10
17
  counter < 1 ? prefix : "#{prefix}--#{counter}"
11
18
  end
@@ -15,7 +22,7 @@ module Pseudocephalopod
15
22
  slug = self.with_counter(prefix, counter)
16
23
  while scope.with_cached_slug(slug).exists?
17
24
  counter += 1
18
- slug = self.with_counter(prefix, counter)
25
+ slug = self.with_counter(prefix, counter)
19
26
  end
20
27
  slug
21
28
  end
@@ -58,12 +65,12 @@ module Pseudocephalopod
58
65
 
59
66
  self.cache_key_prefix ||= "cached-slugs"
60
67
 
61
- autoload :Caching, 'pseudocephalopod/caching'
62
- autoload :Scopes, 'pseudocephalopod/scopes'
63
- autoload :Finders, 'pseudocephalopod/finders'
64
- autoload :SlugHistory, 'pseudocephalopod/slug_history'
65
- autoload :Slug, 'pseudocephalopod/slug'
66
- autoload :MemoryCache, 'pseudocephalopod/memory_cache'
68
+ autoload :Caching
69
+ autoload :Scopes
70
+ autoload :Finders
71
+ autoload :SlugHistory
72
+ autoload :Slug
73
+ autoload :MemoryCache
67
74
 
68
75
  require 'pseudocephalopod/active_record_methods'
69
76
  ActiveRecord::Base.extend Pseudocephalopod::ActiveRecordMethods
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pseudocephalopod}
8
- s.version = "0.2.2"
8
+ s.version = "0.2.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Darcy Laycock"]
12
- s.date = %q{2010-04-29}
12
+ s.date = %q{2010-06-11}
13
13
  s.description = %q{Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history}
14
14
  s.email = %q{sutto@sutto.net}
15
15
  s.extra_rdoc_files = [
@@ -49,7 +49,7 @@ Gem::Specification.new do |s|
49
49
  s.homepage = %q{http://github.com/Sutto/pseudocephalopod}
50
50
  s.rdoc_options = ["--charset=UTF-8"]
51
51
  s.require_paths = ["lib"]
52
- s.rubygems_version = %q{1.3.6}
52
+ s.rubygems_version = %q{1.3.7}
53
53
  s.summary = %q{Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history}
54
54
  s.test_files = [
55
55
  "test/caching_test.rb",
@@ -64,19 +64,22 @@ Gem::Specification.new do |s|
64
64
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
65
65
  s.specification_version = 3
66
66
 
67
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
67
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
68
68
  s.add_runtime_dependency(%q<activerecord>, [">= 3.0.0.beta2"])
69
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
69
70
  s.add_runtime_dependency(%q<uuid>, [">= 0"])
70
71
  s.add_development_dependency(%q<shoulda>, [">= 0"])
71
72
  s.add_development_dependency(%q<reversible_data>, [">= 0"])
72
73
  else
73
74
  s.add_dependency(%q<activerecord>, [">= 3.0.0.beta2"])
75
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
74
76
  s.add_dependency(%q<uuid>, [">= 0"])
75
77
  s.add_dependency(%q<shoulda>, [">= 0"])
76
78
  s.add_dependency(%q<reversible_data>, [">= 0"])
77
79
  end
78
80
  else
79
81
  s.add_dependency(%q<activerecord>, [">= 3.0.0.beta2"])
82
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
80
83
  s.add_dependency(%q<uuid>, [">= 0"])
81
84
  s.add_dependency(%q<shoulda>, [">= 0"])
82
85
  s.add_dependency(%q<reversible_data>, [">= 0"])
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pseudocephalopod
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 17
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 2
9
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Darcy Laycock
@@ -14,60 +15,85 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-04-29 00:00:00 +08:00
18
+ date: 2010-06-11 00:00:00 +08:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: activerecord
22
+ prerelease: false
22
23
  type: :runtime
24
+ name: activerecord
23
25
  version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
30
+ hash: -1848230022
27
31
  segments:
28
32
  - 3
29
33
  - 0
30
34
  - 0
31
35
  - beta2
32
36
  version: 3.0.0.beta2
33
- prerelease: false
34
37
  requirement: *id001
35
38
  - !ruby/object:Gem::Dependency
36
- name: uuid
39
+ prerelease: false
37
40
  type: :runtime
41
+ name: activesupport
38
42
  version_requirements: &id002 !ruby/object:Gem::Requirement
43
+ none: false
39
44
  requirements:
40
45
  - - ">="
41
46
  - !ruby/object:Gem::Version
47
+ hash: -1848230022
42
48
  segments:
49
+ - 3
43
50
  - 0
44
- version: "0"
45
- prerelease: false
51
+ - 0
52
+ - beta2
53
+ version: 3.0.0.beta2
46
54
  requirement: *id002
47
55
  - !ruby/object:Gem::Dependency
48
- name: shoulda
49
- type: :development
56
+ prerelease: false
57
+ type: :runtime
58
+ name: uuid
50
59
  version_requirements: &id003 !ruby/object:Gem::Requirement
60
+ none: false
51
61
  requirements:
52
62
  - - ">="
53
63
  - !ruby/object:Gem::Version
64
+ hash: 3
54
65
  segments:
55
66
  - 0
56
67
  version: "0"
57
- prerelease: false
58
68
  requirement: *id003
59
69
  - !ruby/object:Gem::Dependency
60
- name: reversible_data
70
+ prerelease: false
61
71
  type: :development
72
+ name: shoulda
62
73
  version_requirements: &id004 !ruby/object:Gem::Requirement
74
+ none: false
63
75
  requirements:
64
76
  - - ">="
65
77
  - !ruby/object:Gem::Version
78
+ hash: 3
66
79
  segments:
67
80
  - 0
68
81
  version: "0"
69
- prerelease: false
70
82
  requirement: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ prerelease: false
85
+ type: :development
86
+ name: reversible_data
87
+ version_requirements: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ requirement: *id005
71
97
  description: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history
72
98
  email: sutto@sutto.net
73
99
  executables: []
@@ -116,23 +142,27 @@ rdoc_options:
116
142
  require_paths:
117
143
  - lib
118
144
  required_ruby_version: !ruby/object:Gem::Requirement
145
+ none: false
119
146
  requirements:
120
147
  - - ">="
121
148
  - !ruby/object:Gem::Version
149
+ hash: 3
122
150
  segments:
123
151
  - 0
124
152
  version: "0"
125
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
+ none: false
126
155
  requirements:
127
156
  - - ">="
128
157
  - !ruby/object:Gem::Version
158
+ hash: 3
129
159
  segments:
130
160
  - 0
131
161
  version: "0"
132
162
  requirements: []
133
163
 
134
164
  rubyforge_project:
135
- rubygems_version: 1.3.6
165
+ rubygems_version: 1.3.7
136
166
  signing_key:
137
167
  specification_version: 3
138
168
  summary: Super simple slugs for ActiveRecord 3.0 and higher, with support for slug history