swagger_parser 0.0.1 → 0.0.2

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: 5d557ec56c207d66698cb39555153ce52bbf59e6
4
- data.tar.gz: 7ae91c44c832bb6749408db13b23418f37f371ea
3
+ metadata.gz: 2b25b8b773325fefdff2ca3b99e2315f7aee9dd0
4
+ data.tar.gz: 54d3c5035f3a85591452d714270ce4250ee961a3
5
5
  SHA512:
6
- metadata.gz: afe99242a581ae315533dad9be0d8e923049b8bf7906eeac1a98dc7e8f01d1307c928a303e45453199c2ea0ce2d2196f51f66029d8344087a5e959a305610808
7
- data.tar.gz: 7c0fedb8831785a67cc5177db10274f0aab76d25b13c26b1c525d04ccf8e8cf78ed27257f4c01640efb0a7845e39aa756bef32cef47b5f9d6e2242b60d644353
6
+ metadata.gz: 927bbe33a8ea50822ccd596c59f5a31b9575cd4754a0f063e87f932c90ba869ae5d275888de4599eb1f6d2bb5f5d9599952dbcc3a97bb5821de7beec7f3b93eb
7
+ data.tar.gz: 8f3ef79d29675b5aa1af4e63b4933f9fceb7044b4ff0d6c97d9046c6eb5f2d84ec63ee5ce902cbd96ae5630a7435d36e3959a7163c377575c086549f2eb24b25
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## 0.0.2
2
+ - Improve Path and Operation
3
+
4
+ ## 0.0.1
5
+ - 1st Release
@@ -9,6 +9,15 @@ module SwaggerParser
9
9
  include SwaggerParser::Extendable
10
10
  include SwaggerParser::ExternalDocsAttributable
11
11
 
12
+ attr_reader :http_method
13
+
14
+ # @param [String] http_method
15
+ # @param [Object] source
16
+ def initialize(source, http_method:)
17
+ super(source)
18
+ @http_method = http_method
19
+ end
20
+
12
21
  # @return [Object]
13
22
  def consumes
14
23
  source["consumes"] || []
@@ -5,34 +5,51 @@ require "swagger_parser/source_based_object"
5
5
 
6
6
  module SwaggerParser
7
7
  class Path < SourceBasedObject
8
+ OPERATION_NAMES = %w(
9
+ delete
10
+ get
11
+ head
12
+ options
13
+ patch
14
+ post
15
+ put
16
+ )
17
+
8
18
  include SwaggerParser::Extendable
9
19
  include SwaggerParser::Referable
10
20
 
11
21
  # @return [SwaggerParser::Operation, nil]
12
22
  def delete
13
23
  if source["delete"]
14
- SwaggerParser::Operation.new(source["delete"])
24
+ SwaggerParser::Operation.new(source["delete"], http_method: "DELETE")
15
25
  end
16
26
  end
17
27
 
18
28
  # @return [SwaggerParser::Operation, nil]
19
29
  def get
20
30
  if source["get"]
21
- SwaggerParser::Operation.new(source["get"])
31
+ SwaggerParser::Operation.new(source["get"], http_method: "GET")
22
32
  end
23
33
  end
24
34
 
25
35
  # @return [SwaggerParser::Operation, nil]
26
36
  def head
27
37
  if source["head"]
28
- SwaggerParser::Operation.new(source["head"])
38
+ SwaggerParser::Operation.new(source["head"], http_method: "HEAD")
29
39
  end
30
40
  end
31
41
 
42
+ # @return [Array<SwaggerParser::Operation>]
43
+ def operations
44
+ OPERATION_NAMES.map do |operation_name|
45
+ send(operation_name)
46
+ end.compact
47
+ end
48
+
32
49
  # @return [SwaggerParser::Operation, nil]
33
50
  def options
34
51
  if source["options"]
35
- SwaggerParser::Operation.new(source["options"])
52
+ SwaggerParser::Operation.new(source["options"], http_method: "OPTIONS")
36
53
  end
37
54
  end
38
55
 
@@ -44,21 +61,21 @@ module SwaggerParser
44
61
  # @return [SwaggerParser::Operation, nil]
45
62
  def patch
46
63
  if source["patch"]
47
- SwaggerParser::Operation.new(source["patch"])
64
+ SwaggerParser::Operation.new(source["patch"], http_method: "PATCH")
48
65
  end
49
66
  end
50
67
 
51
68
  # @return [SwaggerParser::Operation, nil]
52
69
  def post
53
70
  if source["post"]
54
- SwaggerParser::Operation.new(source["post"])
71
+ SwaggerParser::Operation.new(source["post"], http_method: "POST")
55
72
  end
56
73
  end
57
74
 
58
75
  # @return [SwaggerParser::Operation, nil]
59
76
  def put
60
77
  if source["put"]
61
- SwaggerParser::Operation.new(source["put"])
78
+ SwaggerParser::Operation.new(source["put"], http_method: "PUT")
62
79
  end
63
80
  end
64
81
  end
@@ -1,3 +1,3 @@
1
1
  module SwaggerParser
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagger_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-26 00:00:00.000000000 Z
11
+ date: 2015-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -62,6 +62,7 @@ files:
62
62
  - ".gitignore"
63
63
  - ".rspec"
64
64
  - ".travis.yml"
65
+ - CHANGELOG.md
65
66
  - Gemfile
66
67
  - LICENSE.txt
67
68
  - README.md