described_routes 0.3.5 → 0.3.6
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/History.txt +2 -2
- data/README.rdoc +3 -4
- data/lib/described_routes.rb +1 -1
- data/lib/described_routes/resource_template.rb +12 -0
- data/test/test_resource_template.rb +5 -1
- metadata +2 -2
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
= described_routes README
|
2
2
|
|
3
|
-
Framework-neutral descriptions of Rails routes in JSON, YAML, XML and plain text formats.
|
3
|
+
Framework-neutral descriptions of Rails routes in JSON, YAML, XML and plain text formats. Also the home (for now at least) of the ResourceTemplate class.
|
4
4
|
|
5
|
-
|
5
|
+
Note to reader: you are invited to comment on the roadmap at http://positiveincline.com/?p=213
|
6
6
|
|
7
7
|
== DESCRIPTION:
|
8
8
|
|
@@ -56,8 +56,7 @@ The text output looks like this:
|
|
56
56
|
edit edit_user_profile GET /users/{user_id}/profile/edit{-prefix|.|format}
|
57
57
|
new new_user_profile GET /users/{user_id}/profile/new{-prefix|.|format}
|
58
58
|
|
59
|
-
You can specify the base URL of your application by appending the
|
60
|
-
parameter "BASE=http://..." to the rake command line. The output will then
|
59
|
+
You can specify the base URL of your application by appending "BASE=http://..." to the rake command line. The output will then
|
61
60
|
include full URI templates.
|
62
61
|
|
63
62
|
The JSON, XML and YAML formats (of which the YAML is the most readable) are designed for program consumption.
|
data/lib/described_routes.rb
CHANGED
@@ -171,6 +171,7 @@ module DescribedRoutes
|
|
171
171
|
h
|
172
172
|
end
|
173
173
|
|
174
|
+
# for #to_text
|
174
175
|
def self.to_table(resource_templates, parent_template = nil, t = [], indent = '')
|
175
176
|
resource_templates.inject(t) do |table, resource_template|
|
176
177
|
if parent_template
|
@@ -192,6 +193,7 @@ module DescribedRoutes
|
|
192
193
|
t
|
193
194
|
end
|
194
195
|
|
196
|
+
# text report
|
195
197
|
def self.to_text(resource_templates)
|
196
198
|
table = self.to_table(resource_templates)
|
197
199
|
|
@@ -204,6 +206,16 @@ module DescribedRoutes
|
|
204
206
|
|
205
207
|
table.map{|row| row.join(' ')}.join("\n") + "\n"
|
206
208
|
end
|
209
|
+
|
210
|
+
# returns params and any optional_params in order, removing the parent's params
|
211
|
+
def positional_params(parent)
|
212
|
+
all_params = params + optional_params
|
213
|
+
if parent
|
214
|
+
all_params - parent.params
|
215
|
+
else
|
216
|
+
all_params
|
217
|
+
end
|
218
|
+
end
|
207
219
|
end
|
208
220
|
end
|
209
221
|
|
@@ -4,7 +4,6 @@ require 'described_routes/resource_template'
|
|
4
4
|
class TestResourceTemplate < Test::Unit::TestCase
|
5
5
|
attr_reader :json, :resource_templates, :resource_templates_by_name, :user_articles, :user_article, :edit_user_article
|
6
6
|
|
7
|
-
|
8
7
|
def setup
|
9
8
|
@json ||= File.read(File.dirname(__FILE__) + "/fixtures/described_routes_test.json")
|
10
9
|
@resource_templates = DescribedRoutes::ResourceTemplate.parse_json(json)
|
@@ -45,4 +44,9 @@ class TestResourceTemplate < Test::Unit::TestCase
|
|
45
44
|
JSON.parse(json),
|
46
45
|
YAML.load(DescribedRoutes::ResourceTemplate.to_yaml(resource_templates)))
|
47
46
|
end
|
47
|
+
|
48
|
+
def test_positional_params
|
49
|
+
assert_equal(["user_id", "article_id", "format"], user_article.positional_params(nil))
|
50
|
+
assert_equal(["article_id", "format"], user_article.positional_params(user_articles))
|
51
|
+
end
|
48
52
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: described_routes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Burrows
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-05-
|
12
|
+
date: 2009-05-12 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|