grape-markdown 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e25251ad9ffa8528ff2cce7f2c22de9442bb0d4a
4
- data.tar.gz: a712b64644241064a0ba9f72b3920181d77222a0
3
+ metadata.gz: 30f403b536969e9ff19d17557900c45af9560c43
4
+ data.tar.gz: a6e79f5280fd10081e291afb34ad391de064b34f
5
5
  SHA512:
6
- metadata.gz: 21dc05842af3d45fd5544a9bbfa036894eaad89e066dae87ca383b3fff9da666cfdbdbed19dd959a0b7b7c16c80a202b54f82cb020d17d1221a281901f40470d
7
- data.tar.gz: a345de86136d1bdf399faa931612c837dc335d87cde936b763ae9f1637da7486228fc0c77d6ff04a97a060f769ccb6ec3601ae68246e0011bd0764813f15ff7a
6
+ metadata.gz: 845705d3464c1b22597cc19979488b546ebd7f8db9ca0228ae84da26348fbf50b2acf93dda6556294a83abea97d151e1bbb6fd3a98fbf84a9ae8f1dc5ac3daee
7
+ data.tar.gz: 365d3089e3a15d327684040cbf69b69d2ab3f51beed7e01fc7c218bd09773938853e9ffd865286ca1d1ed61a5a353ad2ff4bbcd841058faecbd12b72aec0e6fb
@@ -2,7 +2,7 @@ module GrapeMarkdown
2
2
  class Parameter
3
3
  attr_reader :route, :full_name, :name, :settings
4
4
 
5
- delegate :route_model, :route_namespace, to: :route
5
+ delegate :route_name, :route_namespace, to: :route
6
6
  delegate :requirement, :type, :documentation, :desc, to: :settings
7
7
  delegate :example, to: :documentation, allow_nil: true
8
8
 
@@ -29,7 +29,7 @@ module GrapeMarkdown
29
29
  end
30
30
 
31
31
  def default_options(options)
32
- model = name.include?('_id') ? name.gsub('_id', '') : route.route_model
32
+ model = name.include?('_id') ? name.gsub('_id', '') : route.route_name
33
33
 
34
34
  {
35
35
  required: true,
@@ -8,6 +8,14 @@ module GrapeMarkdown
8
8
  :route_description,
9
9
  to: '__getobj__'
10
10
 
11
+ def root_resource
12
+ route_namespace.split('/').reject(&:empty?).first
13
+ end
14
+
15
+ def root_resource_title
16
+ root_resource.titleize
17
+ end
18
+
11
19
  def route_params
12
20
  @route_params ||= __getobj__.route_params.sort.map do |param|
13
21
  Parameter.new(self, *param)
@@ -19,24 +27,30 @@ module GrapeMarkdown
19
27
  route_path.match('\/(\w*?)[\.\/\(]').captures.first
20
28
  end
21
29
 
30
+ def route_title
31
+ route_name.titleize
32
+ end
33
+
22
34
  def route_short_description
23
- "#{route_method.titleize} a #{route_model}"
35
+ description = <<-DESCRIPTION.gsub(/^\s*/, '').gsub(/\n/, ' ').squeeze
36
+ #{route_method.titleize} a
37
+ #{list? ? 'list of ' : ' '}
38
+ #{list? ? route_title : route_title.singularize}
39
+ DESCRIPTION
40
+
41
+ description << "on a #{root_resource_title.singularize}" if has_parent?
24
42
  end
25
43
 
26
44
  def route_path_without_format
27
45
  route_path.gsub(/\((.*?)\)/, '')
28
46
  end
29
47
 
30
- def route_model
31
- route_namespace.split('/').last.singularize
32
- end
33
-
34
48
  def route_type
35
49
  list? ? 'collection' : 'single'
36
50
  end
37
51
 
38
52
  def list?
39
- %w(GET POST).include?(route_method) && !route_path.include?(':id')
53
+ route_method == 'GET' && !route_path.include?(':id')
40
54
  end
41
55
 
42
56
  def route_binding
@@ -48,5 +62,9 @@ module GrapeMarkdown
48
62
  def request_body?
49
63
  !%w(GET DELETE).include?(route_method)
50
64
  end
65
+
66
+ def has_parent?
67
+ route_name != root_resource
68
+ end
51
69
  end
52
70
  end
@@ -8,7 +8,7 @@
8
8
  <% resource.namespaced.each do |grouped_resource| %>
9
9
  <% grouped_resource.paths.each do |resource_by_path| %>
10
10
  <% resource_by_path.routes.each do |route| %>
11
- ## <%= route.route_description %>
11
+ ## <%= route.route_short_description %>
12
12
  <% end %>
13
13
  <% end %>
14
14
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module GrapeMarkdown
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Allen