vidibus-permalink 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = vidibus-permalink
2
2
 
3
- This gem allows changeable permalinks. That's an oxymoron, but it's really useful from a SEO perspective.
3
+ This gem allows changeable permalinks. That may be an oxymoron, but it's really useful from a SEO perspective.
4
4
 
5
5
  It is part of the open source SOA framework Vidibus: http://vidibus.org
6
6
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -7,10 +7,7 @@ module Vidibus
7
7
  # Initialize a new Dispatcher instance.
8
8
  # Provide an absolute +path+ to be dispatched.
9
9
  def initialize(path)
10
- unless path.match(/^\//)
11
- raise PathError, "Path must be absolute."
12
- end
13
- @path = path
10
+ self.path = path
14
11
  end
15
12
 
16
13
  # Returns the path to dispatch.
@@ -18,9 +15,16 @@ module Vidibus
18
15
  @path
19
16
  end
20
17
 
18
+ # Sets path to dispatch
19
+ def path=(value)
20
+ raise PathError.new("Path must be absolute.") unless value.match(/^\//)
21
+ @path = value
22
+ end
23
+
21
24
  # Returns parts of the path.
25
+ # Ignores file extension and request params
22
26
  def parts
23
- @parts ||= path.split("/").reject{|p| p == ""}
27
+ @parts ||= path.gsub(/(\.[^\/]+)?(\?.*)?$/, "").scan(/[^?\/]+/)
24
28
  end
25
29
 
26
30
  # Returns permalink objects matching the parts.
@@ -30,10 +30,32 @@ describe "Vidibus::Permalink::Dispatcher" do
30
30
  end
31
31
  end
32
32
 
33
+ describe "#path=" do
34
+ it "should set the request path" do
35
+ this.path = "/something/nasty"
36
+ this.path.should eql("/something/nasty")
37
+ end
38
+ end
39
+
33
40
  describe "#parts" do
34
41
  it "should contain the parts of the given path" do
35
42
  this.parts.should eql(%w[something pretty])
36
43
  end
44
+
45
+ it "should deal with empty parts of path" do
46
+ this.path = "/something//pretty"
47
+ this.parts.should eql(%w[something pretty])
48
+ end
49
+
50
+ it "should ignore params" do
51
+ this.path = "/something/pretty?hello=world"
52
+ this.parts.should eql(%w[something pretty])
53
+ end
54
+
55
+ it "should ignore file extension" do
56
+ this.path = "/something/pretty?hello=world"
57
+ this.parts.should eql(%w[something pretty])
58
+ end
37
59
  end
38
60
 
39
61
  describe "#objects" do
@@ -1,55 +1,53 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{vidibus-permalink}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andre Pankratz"]
12
- s.date = %q{2010-11-16}
12
+ s.date = %q{2010-12-07}
13
13
  s.description = %q{Allows changeable permalinks (good for SEO).}
14
14
  s.email = %q{andre@vidibus.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.rdoc"
17
+ "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".bundle/config",
21
- ".document",
22
- ".gitignore",
23
- ".rspec",
24
- "Gemfile",
25
- "Gemfile.lock",
26
- "LICENSE",
27
- "README.rdoc",
28
- "Rakefile",
29
- "VERSION",
30
- "app/models/permalink.rb",
31
- "lib/vidibus-permalink.rb",
32
- "lib/vidibus/permalink.rb",
33
- "lib/vidibus/permalink/dispatcher.rb",
34
- "lib/vidibus/permalink/mongoid.rb",
35
- "spec/models.rb",
36
- "spec/permalink_spec.rb",
37
- "spec/spec_helper.rb",
38
- "spec/vidibus/permalink/dispatcher_spec.rb",
39
- "spec/vidibus/permalink/mongoid_spec.rb",
40
- "vidibus-permalink.gemspec"
21
+ ".document",
22
+ ".rspec",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "LICENSE",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "VERSION",
29
+ "app/models/permalink.rb",
30
+ "lib/vidibus-permalink.rb",
31
+ "lib/vidibus/permalink.rb",
32
+ "lib/vidibus/permalink/dispatcher.rb",
33
+ "lib/vidibus/permalink/mongoid.rb",
34
+ "spec/models.rb",
35
+ "spec/permalink_spec.rb",
36
+ "spec/spec_helper.rb",
37
+ "spec/vidibus/permalink/dispatcher_spec.rb",
38
+ "spec/vidibus/permalink/mongoid_spec.rb",
39
+ "vidibus-permalink.gemspec"
41
40
  ]
42
41
  s.homepage = %q{http://github.com/vidibus/vidibus-permalink}
43
- s.rdoc_options = ["--charset=UTF-8"]
44
42
  s.require_paths = ["lib"]
45
43
  s.rubygems_version = %q{1.3.7}
46
44
  s.summary = %q{Permalink handling}
47
45
  s.test_files = [
48
46
  "spec/models.rb",
49
- "spec/permalink_spec.rb",
50
- "spec/spec_helper.rb",
51
- "spec/vidibus/permalink/dispatcher_spec.rb",
52
- "spec/vidibus/permalink/mongoid_spec.rb"
47
+ "spec/permalink_spec.rb",
48
+ "spec/spec_helper.rb",
49
+ "spec/vidibus/permalink/dispatcher_spec.rb",
50
+ "spec/vidibus/permalink/mongoid_spec.rb"
53
51
  ]
54
52
 
55
53
  if s.respond_to? :specification_version then
@@ -62,12 +60,32 @@ Gem::Specification.new do |s|
62
60
  s.add_runtime_dependency(%q<vidibus-core_extensions>, [">= 0"])
63
61
  s.add_runtime_dependency(%q<vidibus-uuid>, [">= 0"])
64
62
  s.add_runtime_dependency(%q<vidibus-words>, [">= 0"])
63
+ s.add_runtime_dependency(%q<jeweler>, [">= 0"])
64
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
65
+ s.add_runtime_dependency(%q<rspec>, ["~> 2.0.0.beta.20"])
66
+ s.add_runtime_dependency(%q<rr>, [">= 0"])
67
+ s.add_runtime_dependency(%q<relevance-rcov>, [">= 0"])
68
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.0"])
69
+ s.add_runtime_dependency(%q<mongoid>, ["~> 2.0.0.beta.20"])
70
+ s.add_runtime_dependency(%q<vidibus-core_extensions>, [">= 0"])
71
+ s.add_runtime_dependency(%q<vidibus-uuid>, [">= 0"])
72
+ s.add_runtime_dependency(%q<vidibus-words>, [">= 0"])
65
73
  else
66
74
  s.add_dependency(%q<rails>, ["~> 3.0.0"])
67
75
  s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.20"])
68
76
  s.add_dependency(%q<vidibus-core_extensions>, [">= 0"])
69
77
  s.add_dependency(%q<vidibus-uuid>, [">= 0"])
70
78
  s.add_dependency(%q<vidibus-words>, [">= 0"])
79
+ s.add_dependency(%q<jeweler>, [">= 0"])
80
+ s.add_dependency(%q<rake>, [">= 0"])
81
+ s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.20"])
82
+ s.add_dependency(%q<rr>, [">= 0"])
83
+ s.add_dependency(%q<relevance-rcov>, [">= 0"])
84
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
85
+ s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.20"])
86
+ s.add_dependency(%q<vidibus-core_extensions>, [">= 0"])
87
+ s.add_dependency(%q<vidibus-uuid>, [">= 0"])
88
+ s.add_dependency(%q<vidibus-words>, [">= 0"])
71
89
  end
72
90
  else
73
91
  s.add_dependency(%q<rails>, ["~> 3.0.0"])
@@ -75,6 +93,16 @@ Gem::Specification.new do |s|
75
93
  s.add_dependency(%q<vidibus-core_extensions>, [">= 0"])
76
94
  s.add_dependency(%q<vidibus-uuid>, [">= 0"])
77
95
  s.add_dependency(%q<vidibus-words>, [">= 0"])
96
+ s.add_dependency(%q<jeweler>, [">= 0"])
97
+ s.add_dependency(%q<rake>, [">= 0"])
98
+ s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.20"])
99
+ s.add_dependency(%q<rr>, [">= 0"])
100
+ s.add_dependency(%q<relevance-rcov>, [">= 0"])
101
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
102
+ s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.20"])
103
+ s.add_dependency(%q<vidibus-core_extensions>, [">= 0"])
104
+ s.add_dependency(%q<vidibus-uuid>, [">= 0"])
105
+ s.add_dependency(%q<vidibus-words>, [">= 0"])
78
106
  end
79
107
  end
80
108
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vidibus-permalink
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andre Pankratz
@@ -15,13 +15,14 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-16 00:00:00 +01:00
18
+ date: 2010-12-07 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: rails
22
+ type: :runtime
23
23
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ name: rails
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
26
  none: false
26
27
  requirements:
27
28
  - - ~>
@@ -32,12 +33,12 @@ dependencies:
32
33
  - 0
33
34
  - 0
34
35
  version: 3.0.0
35
- type: :runtime
36
- version_requirements: *id001
36
+ requirement: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: mongoid
38
+ type: :runtime
39
39
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
40
+ name: mongoid
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
42
  none: false
42
43
  requirements:
43
44
  - - ~>
@@ -50,12 +51,26 @@ dependencies:
50
51
  - beta
51
52
  - 20
52
53
  version: 2.0.0.beta.20
53
- type: :runtime
54
- version_requirements: *id002
54
+ requirement: *id002
55
55
  - !ruby/object:Gem::Dependency
56
+ type: :runtime
57
+ prerelease: false
56
58
  name: vidibus-core_extensions
59
+ version_requirements: &id003 !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ hash: 3
65
+ segments:
66
+ - 0
67
+ version: "0"
68
+ requirement: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ type: :runtime
57
71
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
72
+ name: vidibus-uuid
73
+ version_requirements: &id004 !ruby/object:Gem::Requirement
59
74
  none: false
60
75
  requirements:
61
76
  - - ">="
@@ -64,12 +79,26 @@ dependencies:
64
79
  segments:
65
80
  - 0
66
81
  version: "0"
82
+ requirement: *id004
83
+ - !ruby/object:Gem::Dependency
67
84
  type: :runtime
68
- version_requirements: *id003
85
+ prerelease: false
86
+ name: vidibus-words
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
69
97
  - !ruby/object:Gem::Dependency
70
- name: vidibus-uuid
98
+ type: :runtime
71
99
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
100
+ name: jeweler
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
73
102
  none: false
74
103
  requirements:
75
104
  - - ">="
@@ -78,12 +107,58 @@ dependencies:
78
107
  segments:
79
108
  - 0
80
109
  version: "0"
110
+ requirement: *id006
111
+ - !ruby/object:Gem::Dependency
81
112
  type: :runtime
82
- version_requirements: *id004
113
+ prerelease: false
114
+ name: rake
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ requirement: *id007
83
125
  - !ruby/object:Gem::Dependency
84
- name: vidibus-words
126
+ type: :runtime
127
+ prerelease: false
128
+ name: rspec
129
+ version_requirements: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ hash: 62196427
135
+ segments:
136
+ - 2
137
+ - 0
138
+ - 0
139
+ - beta
140
+ - 20
141
+ version: 2.0.0.beta.20
142
+ requirement: *id008
143
+ - !ruby/object:Gem::Dependency
144
+ type: :runtime
145
+ prerelease: false
146
+ name: rr
147
+ version_requirements: &id009 !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ hash: 3
153
+ segments:
154
+ - 0
155
+ version: "0"
156
+ requirement: *id009
157
+ - !ruby/object:Gem::Dependency
158
+ type: :runtime
85
159
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
160
+ name: relevance-rcov
161
+ version_requirements: &id010 !ruby/object:Gem::Requirement
87
162
  none: false
88
163
  requirements:
89
164
  - - ">="
@@ -92,8 +167,83 @@ dependencies:
92
167
  segments:
93
168
  - 0
94
169
  version: "0"
170
+ requirement: *id010
171
+ - !ruby/object:Gem::Dependency
172
+ type: :runtime
173
+ prerelease: false
174
+ name: rails
175
+ version_requirements: &id011 !ruby/object:Gem::Requirement
176
+ none: false
177
+ requirements:
178
+ - - ~>
179
+ - !ruby/object:Gem::Version
180
+ hash: 7
181
+ segments:
182
+ - 3
183
+ - 0
184
+ - 0
185
+ version: 3.0.0
186
+ requirement: *id011
187
+ - !ruby/object:Gem::Dependency
95
188
  type: :runtime
96
- version_requirements: *id005
189
+ prerelease: false
190
+ name: mongoid
191
+ version_requirements: &id012 !ruby/object:Gem::Requirement
192
+ none: false
193
+ requirements:
194
+ - - ~>
195
+ - !ruby/object:Gem::Version
196
+ hash: 62196427
197
+ segments:
198
+ - 2
199
+ - 0
200
+ - 0
201
+ - beta
202
+ - 20
203
+ version: 2.0.0.beta.20
204
+ requirement: *id012
205
+ - !ruby/object:Gem::Dependency
206
+ type: :runtime
207
+ prerelease: false
208
+ name: vidibus-core_extensions
209
+ version_requirements: &id013 !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ hash: 3
215
+ segments:
216
+ - 0
217
+ version: "0"
218
+ requirement: *id013
219
+ - !ruby/object:Gem::Dependency
220
+ type: :runtime
221
+ prerelease: false
222
+ name: vidibus-uuid
223
+ version_requirements: &id014 !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ hash: 3
229
+ segments:
230
+ - 0
231
+ version: "0"
232
+ requirement: *id014
233
+ - !ruby/object:Gem::Dependency
234
+ type: :runtime
235
+ prerelease: false
236
+ name: vidibus-words
237
+ version_requirements: &id015 !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ hash: 3
243
+ segments:
244
+ - 0
245
+ version: "0"
246
+ requirement: *id015
97
247
  description: Allows changeable permalinks (good for SEO).
98
248
  email: andre@vidibus.com
99
249
  executables: []
@@ -106,7 +256,6 @@ extra_rdoc_files:
106
256
  files:
107
257
  - .bundle/config
108
258
  - .document
109
- - .gitignore
110
259
  - .rspec
111
260
  - Gemfile
112
261
  - Gemfile.lock
@@ -130,8 +279,8 @@ homepage: http://github.com/vidibus/vidibus-permalink
130
279
  licenses: []
131
280
 
132
281
  post_install_message:
133
- rdoc_options:
134
- - --charset=UTF-8
282
+ rdoc_options: []
283
+
135
284
  require_paths:
136
285
  - lib
137
286
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC