washout_builder 0.3.5 → 0.3.6
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 +8 -8
- data/Gemfile +1 -1
- data/README.rdoc +19 -20
- data/app/helpers/washout_builder_helper.rb +3 -2
- data/lib/washout_builder/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODQ0MzViM2Y5MzVhZDc5MDg5MDkyMTJmMTU5YTlmYzA4YTg5MDhhNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZGVmODdiOTUxODhiODk1YjkwMDc1MWZlOWZkOGJkYjgwOTYxOTI3Nw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTQ2NTY5NGE3ZWMyMTQwMWEzMDk2ZDNkZWNiMjNmMzBkOGI1ZDM4MzEzMzMx
|
10
|
+
NmJhODViNGE4MTA4ZTFjZjNhY2EyN2FjNGI0ZGYyODllMzA1ZmQ1ZmEzYTEw
|
11
|
+
ZmE1M2U3OGMwMTcxYTljYmJkZTQ3OTk3YTAxYTZlNjcwMjc2NWM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTdhZjYwNGY5OGY5NjFhMzBiNjZlNzBlYzFlZmYyOWI2Y2RiNWM5ZWMwYmVl
|
14
|
+
M2ZhMzEwMzQ0MmNhMDRiNDFmYTAxMjk0YWI4MzFjNmNmYmY0MjFlYjdkZDg5
|
15
|
+
ZWU4ZWE5MzY4NmI3MjJkMDE1ZTJhMjJlNzA5NzdmOTI2ZGU1MTE=
|
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -3,13 +3,12 @@
|
|
3
3
|
= Overview
|
4
4
|
WashOutBuilder is a Soap Service Documentation generator (extends WashOut https://github.com/inossidabile/wash_out/)
|
5
5
|
|
6
|
-
The way WashOut is used is not modified, it just extends its functionality by
|
6
|
+
The way WashOut is used is not modified, it just extends its functionality by generating html documentation to your services that you write
|
7
7
|
|
8
8
|
= Features
|
9
9
|
|
10
10
|
* Provides way of seeing the available services with links to documentation, endpoint and namespace
|
11
11
|
* Provides a human-readable HTML documentation generated for each service that you write
|
12
|
-
* Can also create custom exception classes and use them to send custom fault errors to the client application
|
13
12
|
|
14
13
|
= Screenshots (just an example)
|
15
14
|
|
@@ -21,7 +20,7 @@ The way WashOut is used is not modified, it just extends its functionality by pr
|
|
21
20
|
|
22
21
|
1. {Ruby 1.9.x}[http://www.ruby-lang.org]
|
23
22
|
2. {Ruby on Rails}[http://rubyonrails.org].
|
24
|
-
3. {WashOut Gem v. 0.9.
|
23
|
+
3. {WashOut Gem v. 0.9.1}[https://github.com/inossidabile/wash_out]
|
25
24
|
4. {Nori Gem}[https://github.com/savonrb/nori]
|
26
25
|
|
27
26
|
= Compatibility
|
@@ -40,10 +39,20 @@ Type the following from the command line to install:
|
|
40
39
|
|
41
40
|
Add the following to your Gemfile:
|
42
41
|
|
43
|
-
|
42
|
+
|
44
43
|
gem "washout_builder"
|
45
44
|
|
46
|
-
it will automatically install also wash_out
|
45
|
+
it will automatically install also +wash_out+ gem that is currently used
|
46
|
+
|
47
|
+
Or if you want this to be available only in development mode , you can do something like this inside the Gemfile:
|
48
|
+
|
49
|
+
gem 'wash_out' # The WashOut gem would be used also in production
|
50
|
+
|
51
|
+
group :development, :test do
|
52
|
+
gem 'washout_builder' # The documentation will only be available in development mode.
|
53
|
+
end
|
54
|
+
|
55
|
+
Just make sure that the requirements for this gem are met and everything should be fine.
|
47
56
|
|
48
57
|
Please read {release details}[https://github.com/bogdanRada/washout_builder/releases] if you are upgrading. We break backward compatibility between large ticks but you can expect it to be specified at release notes.
|
49
58
|
|
@@ -52,8 +61,11 @@ Please read {release details}[https://github.com/bogdanRada/washout_builder/rele
|
|
52
61
|
The way soap_actions, or reusable types are defined or how the configuration is made using WashOut(https://github.com/inossidabile/wash_out) haven't changed
|
53
62
|
You can still do everything that gem does .
|
54
63
|
|
55
|
-
|
56
|
-
|
64
|
+
When specifying the <b>soap_action</b> you can also pass a <b>option for description</b> and a <b>list of exceptions</b> that the method can raise at a certain moment.
|
65
|
+
|
66
|
+
The exception classes used <b>must inherit</b> from <tt>WashOut::Dispatcher::SOAPError</tt>
|
67
|
+
|
68
|
+
This class <tt>WashOut::Dispatcher::SOAPError</tt> has by default a error code and a message as attributes but you can extend it by adding more accessible_attributes to your own custom class.
|
57
69
|
|
58
70
|
Here is an example :
|
59
71
|
|
@@ -73,20 +85,7 @@ You can access the url +/washout+ and you will see a list with available service
|
|
73
85
|
|
74
86
|
If you want to access directly the hml documentation that was generated for RumbasController you can do that by accessing url +/rumbas/doc+ And the WSDL will be available at +/rumbas/wsdl+
|
75
87
|
|
76
|
-
= Setup custom exceptions
|
77
|
-
|
78
|
-
There is a class WashOut::SoapError
|
79
|
-
This class has as attributes : a error_code, and a message.
|
80
|
-
|
81
|
-
If you only want to send a faultcode for your exception in the webservice application you can do this
|
82
|
-
|
83
|
-
class MyException < WashOut::SoapError; end
|
84
|
-
|
85
|
-
and then when you raise it in the code you can do this
|
86
|
-
|
87
|
-
raise MyException.new (1001, "damn! found a error") .
|
88
88
|
|
89
|
-
This exception is going to be catched by the gem and is going to send it to the client with the specified fault code and message
|
90
89
|
|
91
90
|
= Testing
|
92
91
|
|
@@ -155,10 +155,11 @@ module WashoutBuilderHelper
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def create_html_fault_type(xml, param)
|
158
|
+
if param.ancestors.include?(WashOut::Dispatcher::SOAPError)
|
158
159
|
xml.h3 "#{param}"
|
159
160
|
xml.a("name" => "#{param}") {}
|
160
161
|
xml.ul("class" => "pre") {
|
161
|
-
|
162
|
+
|
162
163
|
|
163
164
|
param.accessible_attributes.each do |attribute|
|
164
165
|
xml.li { |pre|
|
@@ -172,8 +173,8 @@ module WashoutBuilderHelper
|
|
172
173
|
}
|
173
174
|
end
|
174
175
|
xml.li { |pre| pre << "<span class='blue'>string</span> <span class='bold'>backtrace</span>" }
|
175
|
-
end
|
176
176
|
}
|
177
|
+
end
|
177
178
|
end
|
178
179
|
|
179
180
|
def create_html_public_methods(xml, map)
|