autodoc 0.0.6 → 0.0.7

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: 211a5ff3f6ccc9f726606ff6bbcc4f5e91ce3d63
4
- data.tar.gz: 5cfb3d9454634c57926801f517725f84fd4450c1
3
+ metadata.gz: 7b959243c809886f4e1933c89600e19549fb7bdd
4
+ data.tar.gz: 8c6413d2c36bf8e717601e4472d160ef09df28b3
5
5
  SHA512:
6
- metadata.gz: f6fe471073e53e8284c14675bcf874dcf68330b5bbb1b1ba52767ba52afba88861f48bf62fec51b4ff7bced45a9753b516e1857b6afb8a00e9f95e5f324293d6
7
- data.tar.gz: 5c8934214f5501857a38a0b3123bfb40aae6f1e15d1ed300923bc4cdb44db8f7391793d94d4dd21de3ed17ed3bfea4a16203b821339f4fab7811704a95e18f20
6
+ metadata.gz: 7e37eda35bed6135a209aa11eb6858173509908bbf4a5c7f3e9ca3a5d79f84d6570739189fc1061c004af3b394d48a8a7288c6ef5c7ea2095b2457152b4bb628
7
+ data.tar.gz: 03dbc7218c2cc2bc93d30d67c6abc0d10d45b4c36d4c6ae303516971f782d7bc42b92720509e75f4925e7086dd38f4f8d6f2c25e55be24e7a0043f42583a07c4
@@ -40,9 +40,7 @@ module Autodoc
40
40
  end
41
41
 
42
42
  def parameters
43
- validators.map do |validator|
44
- "* `#{validator.key}` #{validator.type}#{' (required)' if validator.required?}"
45
- end.join("\n")
43
+ validators.map {|validator| Parameter.new(validator) }.join("\n")
46
44
  end
47
45
 
48
46
  def has_validators?
@@ -58,6 +56,44 @@ module Autodoc
58
56
  "\n#{header}: #{response.headers[header]}" if response.headers[header]
59
57
  end.compact.join
60
58
  end
59
+
60
+ class Parameter
61
+ attr_reader :validator
62
+
63
+ def initialize(validator)
64
+ @validator = validator
65
+ end
66
+
67
+ def to_s
68
+ "#{body}#{payload}"
69
+ end
70
+
71
+ private
72
+
73
+ def body
74
+ "* `#{validator.key}` #{validator.type}"
75
+ end
76
+
77
+ def payload
78
+ " (#{assets.join(', ')})" if assets.any?
79
+ end
80
+
81
+ def assets
82
+ @assets ||= [required, only, except].compact
83
+ end
84
+
85
+ def required
86
+ "required" if validator.required?
87
+ end
88
+
89
+ def only
90
+ "only: `#{validator.options[:only].inspect}`" if validator.options[:only]
91
+ end
92
+
93
+ def except
94
+ "except: `#{validator.options[:except].inspect}`" if validator.options[:except]
95
+ end
96
+ end
61
97
  end
62
98
  end
63
99
 
@@ -1,3 +1,3 @@
1
1
  module Autodoc
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  class RecipesController < ApplicationController
2
2
  validates :create do
3
- string :name, required: true
4
- integer :type
3
+ string :name, required: true, except: %w[alice bob]
4
+ integer :type, only: "1".."3"
5
5
  end
6
6
 
7
7
  def show
@@ -6,8 +6,8 @@ POST /recipes
6
6
  ```
7
7
 
8
8
  ### parameters
9
- * `name` string (required)
10
- * `type` integer
9
+ * `name` string (required, except: `["alice", "bob"]`)
10
+ * `type` integer (only: `"1".."3"`)
11
11
 
12
12
  ### response
13
13
  ```ruby
@@ -15,10 +15,10 @@ Status: 201
15
15
  location: http://www.example.com/recipes/1
16
16
  response:
17
17
  {
18
- "created_at" => "2013-06-14T01:11:34Z",
18
+ "created_at" => "2013-06-18T06:33:40Z",
19
19
  "id" => 1,
20
20
  "name" => "name",
21
- "updated_at" => "2013-06-14T01:11:34Z"
21
+ "updated_at" => "2013-06-18T06:33:40Z"
22
22
  }
23
23
  ```
24
24
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-14 00:00:00.000000000 Z
11
+ date: 2013-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print