sinatra-mapping 0.2.1 → 1.0.0
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 +5 -0
- data/{README → README.rdoc} +5 -2
- data/Rakefile +2 -2
- data/VERSION +5 -5
- data/lib/sinatra/mapping.rb +0 -1
- data/lib/sinatra/mapping_helpers.rb +38 -0
- data/sinatra-mapping.gemspec +2 -2
- metadata +5 -5
data/CHANGES
CHANGED
data/{README → README.rdoc}
RENAMED
@@ -32,8 +32,11 @@ Example:
|
|
32
32
|
|
33
33
|
map :root, "blog" # => /blog/
|
34
34
|
map :posts, "articles" # => /blog/articles
|
35
|
-
|
36
|
-
|
35
|
+
|
36
|
+
mapping do
|
37
|
+
:tags => "labels" # => /blog/labels
|
38
|
+
:archive => "archived-articles" # => /blog/archived-articles
|
39
|
+
end
|
37
40
|
|
38
41
|
get root_path do
|
39
42
|
# /blog/
|
data/Rakefile
CHANGED
@@ -48,13 +48,13 @@ end
|
|
48
48
|
|
49
49
|
Rake::RDocTask.new("doc") do |rdoc|
|
50
50
|
rdoc.title = "Sinatra::Mapping"
|
51
|
-
rdoc.main = "README"
|
51
|
+
rdoc.main = "README.rdoc"
|
52
52
|
rdoc.options = [ '-SHN', '-f', 'darkfish' ]
|
53
53
|
rdoc.rdoc_dir = 'doc'
|
54
54
|
rdoc.rdoc_files.include(
|
55
55
|
"CHANGES",
|
56
56
|
"LICENSE",
|
57
|
-
"README",
|
57
|
+
"README.rdoc",
|
58
58
|
"lib/**/*.rb"
|
59
59
|
)
|
60
60
|
end
|
data/VERSION
CHANGED
data/lib/sinatra/mapping.rb
CHANGED
@@ -16,6 +16,25 @@ module Sinatra
|
|
16
16
|
(args.empty? ? title : "#{title} #{args.join(' ')}").strip.capitalize
|
17
17
|
end
|
18
18
|
|
19
|
+
# Creates anchor links for name and extract path and HTML options from
|
20
|
+
# arguments. Example:
|
21
|
+
#
|
22
|
+
# # In Web application, add a map.
|
23
|
+
# map :status, "tasks/status"
|
24
|
+
#
|
25
|
+
# get status_path do
|
26
|
+
# status = "finished"
|
27
|
+
# erb :status, :locals => { :status => status }
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# # In status view, add a link to status map.
|
31
|
+
# <%= link_to "All finished", :status, status %>
|
32
|
+
# # => <a href="/tasks/status/finished">All finished</a>
|
33
|
+
def link_to(name = nil, *args)
|
34
|
+
options = args.last.kind_of?(Hash) ? args.pop : {}
|
35
|
+
"<a href=\"#{path_to *args}\" #{extract_tags_attributes options}>#{name}</a>"
|
36
|
+
end
|
37
|
+
|
19
38
|
# Returns all paths with query parameters. Example:
|
20
39
|
#
|
21
40
|
# # in Sinatra application:
|
@@ -28,6 +47,25 @@ module Sinatra
|
|
28
47
|
options.query_path_to(*args)
|
29
48
|
end
|
30
49
|
|
50
|
+
private
|
51
|
+
|
52
|
+
# Extract all tag attributes from a hash keys and values.
|
53
|
+
def extract_tags_attributes(hash)
|
54
|
+
hash.select do |key, value|
|
55
|
+
[ :accesskey, :charset, :coords,
|
56
|
+
:hreflang, :id, :lang,
|
57
|
+
:name, :onblur, :onclick,
|
58
|
+
:ondblclick, :onfocus, :onkeydown,
|
59
|
+
:onkeypress, :onkeyup, :onmousedown,
|
60
|
+
:onmousemove, :onmouseout, :onmouseover,
|
61
|
+
:onmouseup, :rel, :rev,
|
62
|
+
:shape, :style, :tabindex,
|
63
|
+
:target, :title, :type ].include? key
|
64
|
+
end.map do |attr, value|
|
65
|
+
"#{attr}=\"#{value}\""
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
31
69
|
end # module MapHelpers
|
32
70
|
|
33
71
|
end # module Sinatra
|
data/sinatra-mapping.gemspec
CHANGED
@@ -19,9 +19,9 @@
|
|
19
19
|
gemspec.test_files = gemspec.files.select{ |path| path =~ /^test\/test_.*.rb/ }
|
20
20
|
|
21
21
|
gemspec.has_rdoc = true
|
22
|
-
gemspec.extra_rdoc_files = %w[README LICENSE]
|
22
|
+
gemspec.extra_rdoc_files = %w[README.rdoc LICENSE]
|
23
23
|
|
24
|
-
gemspec.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sinatra - Mapping", "--main", "README"]
|
24
|
+
gemspec.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sinatra - Mapping", "--main", "README.rdoc"]
|
25
25
|
gemspec.rubyforge_project = gemspec.name
|
26
26
|
gemspec.rubygems_version = "1.3.3"
|
27
27
|
end if @version || @info # Gem::Specification
|
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.
|
4
|
+
version: 1.0.0
|
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-21 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -39,13 +39,13 @@ executables: []
|
|
39
39
|
extensions: []
|
40
40
|
|
41
41
|
extra_rdoc_files:
|
42
|
-
- README
|
42
|
+
- README.rdoc
|
43
43
|
- LICENSE
|
44
44
|
files:
|
45
45
|
- CHANGES
|
46
46
|
- INFO
|
47
47
|
- LICENSE
|
48
|
-
- README
|
48
|
+
- README.rdoc
|
49
49
|
- Rakefile
|
50
50
|
- VERSION
|
51
51
|
- lib/sinatra/mapping.rb
|
@@ -63,7 +63,7 @@ rdoc_options:
|
|
63
63
|
- --title
|
64
64
|
- Sinatra - Mapping
|
65
65
|
- --main
|
66
|
-
- README
|
66
|
+
- README.rdoc
|
67
67
|
require_paths:
|
68
68
|
- lib
|
69
69
|
required_ruby_version: !ruby/object:Gem::Requirement
|