grape-markdown 0.0.4 → 0.0.5

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.
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