angus-sdoc 0.0.6 → 0.0.7

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NTdmOTY0OWUwZGM0ZTU5ZGI2YTlkZWQ1NzhiMGQyNDc1YTc3ZWYzYw==
5
- data.tar.gz: !binary |-
6
- MjMwNmJkMTI4YTQ1NGQ0M2YxOTBjZjI3OGY4N2U0NjU5ZWJlYjY2Yw==
2
+ SHA1:
3
+ metadata.gz: f1e789e1dbc54103d3e5a3c77dba6921a183c2e2
4
+ data.tar.gz: a7c9c1940257b319fdb7718d5bb0f600e7a38f88
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NWI0NjE3NGZlNWZjN2Q0MzYyOTg1M2RhZjNlOWJlNmU4YTVlYWNlYmQ3NTc0
10
- NGRjODY4YTY5NDU2OWQ5NmUwNTgzMzgxMWFkOGIzNzEwNWFiYWIxMzkwYTU1
11
- MmI5ODg0NmY3OWFjNTU3MzM4ZDExYmRlMmZlNDA0Mzc2MGU3ZjY=
12
- data.tar.gz: !binary |-
13
- ZTE0NjM3NmQyMTJkOTk0MTJiYTk1MjYwYTQxNWVjNjAzZjMyMDY3OWRkMmQw
14
- YzE3NDdlY2VlZDVjOWJjODg3YjAyOTM3YjVmYTQxMTQ2YmUwODU2ODZkZjQ1
15
- ZDU4NzFjY2E5OTgyMjI3NDk1ZmJmMzk5NjYzNTQ1MzJiNjA4ODY=
6
+ metadata.gz: 489847ef042e704b7e2ede824a5780b6527497d0f99c3bca6e152e4fba9d09a458b9b4148e26d708a473b56d83dd70e5ee594704c76fab88356e64a6d2a716a6
7
+ data.tar.gz: b86b74e9d35be027ac08367b98288f88f2549ff4a6f39bc9122e4438e324d8b51cca318fbb4e9d21e10d7292e2404f32bde13fed2e174a172847aa0f1a56d594
@@ -14,5 +14,6 @@ require_relative 'response_element'
14
14
  require_relative 'uri_element'
15
15
  require_relative 'operation'
16
16
  require_relative 'message'
17
+ require_relative 'message_field'
17
18
  require_relative 'glossary'
18
19
  require_relative 'glossary_term'
@@ -26,6 +26,11 @@ module Angus
26
26
  # @!attribute [rw] text
27
27
  # @return [String] when set this text overrides all others and is set as the message description.
28
28
  attr_accessor :text
29
+
30
+ # @!attribute [rw] fields
31
+ # @return [Array<Field>] the fields for the message.
32
+ attr_accessor :fields
33
+
29
34
  end
30
35
  end
31
36
  end
@@ -0,0 +1,27 @@
1
+ module Angus
2
+ module SDoc
3
+ class Definitions::MessageField
4
+
5
+ # @!attribute [rw] name
6
+ # @return [String] the name of the message field.
7
+ attr_accessor :name
8
+
9
+ # @!attribute [rw] description
10
+ # @return [String] the description of the message field.
11
+ attr_accessor :description
12
+
13
+ # @!attribute [rw] required
14
+ # @return [Boolean] indicates if the message field. is required or not.
15
+ attr_accessor :required
16
+
17
+ # @!attribute [rw] type
18
+ # @return [String] the type of the message field.
19
+ attr_accessor :type
20
+
21
+ # @!attribute [rw] elements_type
22
+ # @return [String] the elements type of the message field.
23
+ attr_accessor :elements_type
24
+
25
+ end
26
+ end
27
+ end
@@ -108,7 +108,7 @@ module Angus
108
108
 
109
109
  messages_hash.each do |key, attrs|
110
110
  messages[key] = build_message(key, attrs['level'], attrs['status_code'],
111
- attrs['description'], attrs['text'])
111
+ attrs['description'], attrs['text'], attrs['fields'])
112
112
  end
113
113
 
114
114
  messages
@@ -127,7 +127,7 @@ module Angus
127
127
  # was not specified.
128
128
  #
129
129
  # @return [Message] the message.
130
- def build_message(key, level, status_code, description, text)
130
+ def build_message(key, level, status_code, description, text, fields)
131
131
  unless level
132
132
  raise Angus::SDoc::InvalidServiceMessage.new(key ,'Can not create message without level.')
133
133
  end
@@ -142,11 +142,40 @@ module Angus
142
142
  message.status_code = status_code
143
143
  message.description = description
144
144
  message.text = text
145
+ message.fields = (fields || []).map { |field| build_message_field(field['name'],
146
+ field['description'],
147
+ field['type'],
148
+ field['elements_type'],
149
+ field['required']) }
145
150
 
146
151
  message
147
152
  end
148
153
  private :build_message
149
154
 
155
+ # Builds Definitions::Field with the message data.
156
+ #
157
+ # @param [String] key The message key.
158
+ # @param [String] level The message level.
159
+ # @param [String] status_code The message status code.
160
+ # @param [String] description The message description.
161
+ # @param [String] text The message text.
162
+ #
163
+ # @raise [Angus::SDoc::InvalidServiceMessage] if the level or the status code
164
+ # was not specified.
165
+ #
166
+ # @return [Message] the message.
167
+ def build_message_field(name, description, type, elements_type, required)
168
+ field = Angus::SDoc::Definitions::MessageField.new
169
+ field.name = name
170
+ field.description = description
171
+ field.type = type
172
+ field.elements_type = elements_type
173
+ field.required = required
174
+
175
+ field
176
+ end
177
+ private :build_message_field
178
+
150
179
  # Builds Definitions::ProxyOperation objects for each proxy operation metadata.
151
180
  #
152
181
  # @param [Hash] proxy_operations_hash The proxy operations metadata.
@@ -1,5 +1,5 @@
1
1
  module Angus
2
2
  module SDoc
3
- VERSION = '0.0.6'
3
+ VERSION = '0.0.7'
4
4
  end
5
- end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: angus-sdoc
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
  - Pablo Ifran
@@ -10,20 +10,20 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-06-02 00:00:00.000000000 Z
13
+ date: 2014-12-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ! '>='
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ! '>='
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0'
29
29
  - !ruby/object:Gem::Dependency
@@ -44,42 +44,42 @@ dependencies:
44
44
  name: rspec
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '2.12'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ~>
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '2.12'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: factory_girl
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ! '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ! '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: json_expressions
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ! '>='
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ! '>='
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  - !ruby/object:Gem::Dependency
@@ -128,19 +128,20 @@ dependencies:
128
128
  name: ci_reporter
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ! '>='
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - ! '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
- description: ! " Used to read the documentation of a service built in angus (but
142
- also is able to read any kind\n of documentation that follow the angus structure),
143
- and generate an object representation of\n that documentation.\n"
141
+ description: |2
142
+ Used to read the documentation of a service built in angus (but also is able to read any kind
143
+ of documentation that follow the angus structure), and generate an object representation of
144
+ that documentation.
144
145
  email:
145
146
  - angus@moove-it.com
146
147
  executables: []
@@ -153,6 +154,7 @@ files:
153
154
  - lib/angus/definitions/glossary.rb
154
155
  - lib/angus/definitions/glossary_term.rb
155
156
  - lib/angus/definitions/message.rb
157
+ - lib/angus/definitions/message_field.rb
156
158
  - lib/angus/definitions/operation.rb
157
159
  - lib/angus/definitions/proxy_operation.rb
158
160
  - lib/angus/definitions/representation.rb
@@ -182,12 +184,12 @@ require_paths:
182
184
  - lib
183
185
  required_ruby_version: !ruby/object:Gem::Requirement
184
186
  requirements:
185
- - - ! '>='
187
+ - - ">="
186
188
  - !ruby/object:Gem::Version
187
189
  version: '0'
188
190
  required_rubygems_version: !ruby/object:Gem::Requirement
189
191
  requirements:
190
- - - ! '>='
192
+ - - ">="
191
193
  - !ruby/object:Gem::Version
192
194
  version: '0'
193
195
  requirements: []
@@ -197,4 +199,3 @@ signing_key:
197
199
  specification_version: 4
198
200
  summary: Expose service API documentation.
199
201
  test_files: []
200
- has_rdoc: