sinatra-mapping 0.2.0 → 0.2.1
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/CHANGES +8 -0
- data/Rakefile +20 -7
- data/VERSION +2 -2
- data/lib/sinatra/mapping.rb +4 -0
- data/lib/sinatra/mapping_helpers.rb +2 -2
- data/test/test_mapping.rb +4 -4
- metadata +2 -2
data/CHANGES
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
= Changes
|
2
2
|
|
3
|
+
[0.2.1 - July 2009]
|
4
|
+
* The helper method for show title path has been fixed.
|
5
|
+
|
6
|
+
* Added new task for show the current version.
|
7
|
+
|
8
|
+
[0.2.0 - July 2009]
|
9
|
+
* New method for mapping of paths has been added.
|
10
|
+
|
3
11
|
[0.1.1 - July 2009]
|
4
12
|
* New helper methods have been added.
|
5
13
|
|
data/Rakefile
CHANGED
@@ -4,21 +4,24 @@ require 'rake/gempackagetask'
|
|
4
4
|
require 'rake/rdoctask'
|
5
5
|
load 'sinatra-mapping.gemspec'
|
6
6
|
|
7
|
+
def current_version(file = "VERSION")
|
8
|
+
@current_value ||= YAML.load_file(file) || {}
|
9
|
+
end
|
10
|
+
|
7
11
|
desc "Generate version for release and tagging."
|
8
12
|
task :version, [:major, :minor, :patch, :release, :date, :cycle] do |taskspec, version|
|
9
13
|
require 'parsedate'
|
10
|
-
|
11
|
-
version_date = Date.new(*ParseDate.parsedate(version[:date] || current[:date].to_s).compact) unless version or current
|
14
|
+
version_date = Date.new(*ParseDate.parsedate(version[:date] || current_version[:date].to_s).compact) unless version or current_version
|
12
15
|
newer = {
|
13
|
-
:major => version[:major].to_i ||
|
14
|
-
:minor => version[:minor].to_i ||
|
15
|
-
:patch => version[:patch].to_i ||
|
16
|
+
:major => version[:major].to_i || current_version[:major].to_i,
|
17
|
+
:minor => version[:minor].to_i || current_version[:minor].to_i,
|
18
|
+
:patch => version[:patch].to_i || current_version[:patch].to_i,
|
16
19
|
:release => version[:release].to_s.empty? ? nil : version[:release].to_i,
|
17
20
|
:date => version_date || Date.today,
|
18
|
-
:cycle => version[:cycle] ||
|
21
|
+
:cycle => version[:cycle] || current_version[:cycle]
|
19
22
|
}
|
20
23
|
|
21
|
-
newer.merge(
|
24
|
+
newer.merge(current_version) do |key, new_value, current_value|
|
22
25
|
new_value || current_value
|
23
26
|
end
|
24
27
|
|
@@ -27,6 +30,16 @@ task :version, [:major, :minor, :patch, :release, :date, :cycle] do |taskspec, v
|
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
33
|
+
namespace :version do
|
34
|
+
desc "Show the current version."
|
35
|
+
task :show do
|
36
|
+
version = [:major, :minor, :patch, :release].map do |info|
|
37
|
+
current_version[info]
|
38
|
+
end.compact.join('.')
|
39
|
+
puts "#{@spec.name} v#{version} released at #{current_version[:date]} (#{current_version[:cycle]})"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
30
43
|
Rake::TestTask.new
|
31
44
|
|
32
45
|
Rake::GemPackageTask.new(@spec) do |pkg|
|
data/VERSION
CHANGED
data/lib/sinatra/mapping.rb
CHANGED
@@ -9,6 +9,9 @@ module Sinatra
|
|
9
9
|
# methods.
|
10
10
|
module Mapping
|
11
11
|
|
12
|
+
# All location paths mapped.
|
13
|
+
attr_reader :locations
|
14
|
+
|
12
15
|
# Write URL path method for use in HTTP methods.
|
13
16
|
#
|
14
17
|
# The map method most be used by following syntax:
|
@@ -78,6 +81,7 @@ module Sinatra
|
|
78
81
|
|
79
82
|
# Returns all paths mapped by root path in prefix.
|
80
83
|
def path_mapped(*args)
|
84
|
+
puts "ARGS: #{args.inspect}"
|
81
85
|
!args.empty? ? cleanup_paths("/#{@root_path}/#{args.join('/')}") : @root_root
|
82
86
|
end
|
83
87
|
|
@@ -11,9 +11,9 @@ module Sinatra
|
|
11
11
|
# Creates a title using a path mapped. Otherwise, returns just arguments
|
12
12
|
# joined by spaces and capitalised.
|
13
13
|
def title_path(path, *args)
|
14
|
-
title = (options.
|
14
|
+
title = (options.locations[path] || path).to_s.gsub('/',' ').strip
|
15
15
|
title.gsub!(/\W/,' ') # Cleanup
|
16
|
-
(args.empty? ? title : "#{title} #{args.join(' ')}").capitalize
|
16
|
+
(args.empty? ? title : "#{title} #{args.join(' ')}").strip.capitalize
|
17
17
|
end
|
18
18
|
|
19
19
|
# Returns all paths with query parameters. Example:
|
data/test/test_mapping.rb
CHANGED
@@ -23,11 +23,11 @@ class AppForTest < Sinatra::Base
|
|
23
23
|
end
|
24
24
|
|
25
25
|
get root_path do
|
26
|
-
"#{title_path :root}:#{path_to :root}"
|
26
|
+
"#{title_path :root, :path}:#{path_to :root}"
|
27
27
|
end
|
28
28
|
|
29
29
|
get posts_path do
|
30
|
-
"#{title_path :posts}:#{path_to :posts}"
|
30
|
+
"#{title_path :posts, :published}:#{path_to :posts}"
|
31
31
|
end
|
32
32
|
|
33
33
|
get posts_path "/" do
|
@@ -98,7 +98,7 @@ class TestMapping < Test::Unit::TestCase
|
|
98
98
|
get "#{@locations[:root_path]}" do |response|
|
99
99
|
assert response.ok?
|
100
100
|
assert_equal "http://example.org#{@locations[:root_path]}", last_request.url
|
101
|
-
assert_equal ":#{@locations[:root_path]}", response.body
|
101
|
+
assert_equal "Path:#{@locations[:root_path]}", response.body
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -106,7 +106,7 @@ class TestMapping < Test::Unit::TestCase
|
|
106
106
|
get "#{@locations[:posts_path]}" do |response|
|
107
107
|
assert response.ok?
|
108
108
|
assert_equal "http://example.org#{@locations[:posts_path]}", last_request.url
|
109
|
-
assert_equal "Articles:#{@locations[:posts_path]}", response.body
|
109
|
+
assert_equal "Articles published:#{@locations[:posts_path]}", response.body
|
110
110
|
end
|
111
111
|
|
112
112
|
get "#{@locations[:posts_path]}/" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-mapping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hallison Batista
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07-
|
12
|
+
date: 2009-07-20 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|