washout_builder 0.13.5 → 0.13.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzYzZGEwYTc2NGFlYTFhMGY0YWUwOGZmYjI1OTMyMjMyMjMyNjcwZA==
4
+ OTIzNTdkZDJlMzA5Y2I2NmZmMDAzNmI3OTcwZGZiMzYyNzE1ZjJlNQ==
5
5
  data.tar.gz: !binary |-
6
- ZTFhZWYzODg5ZWI5ZmU4MGQ4YjQ3MmIyZmFlY2IxZWM3ZDMzZTIyNQ==
6
+ NWExMWI3ZGFjNDU3NGNkN2E0NjMzMmNiMjQ5ZWJiM2U0YjBiZWNmNQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTBhNWM4NTgwMjc4YjFjN2FmYTYyMGQ5MGY5OTFjZTgzYWM0NjA3YzE4OTI3
10
- ZTQzODBkYWI2ODQ1OWExMmM1YTFhZjhmYmFkYjhiMzYxMDA0ZWZhZTc4Y2Vh
11
- YTZmZTE4NGEyY2RlM2QzZWFiNWRmYzljNGEzMGU4NzU1NDQxZjI=
9
+ MWMxYzQ0OTU1ZGFiOTFkNjA2OTg1ZDc2OWZmM2ZkZTM2YWIxNGM0ZmRhZjQ1
10
+ MjIyOGFjNTAzN2U0YmI1YTQ4OTA4NmU1ZDhkZjZmMzJlMWIwODMzMDZjZjE5
11
+ YTgxYTNjMjkzZDM0Zjg4NmM5ZTNjMDY2YWVmZjAxOGY4NGQ4NDg=
12
12
  data.tar.gz: !binary |-
13
- NWJlZTE4OWIxYmNhMmU3OGZiNDQ0OTJkN2Q0MGJhN2EzNjdhM2I1YTUzMDUy
14
- OWVlYjU5YzliODAxOTFhMjNkM2NkNTA5NDJlOTYyMTFhZDM5YTYxYWNlYmNl
15
- YjNhOWE5YWMxOWIzMGY1ZjAxZGVmNDA0NGI1NDA4ZDcwZTE3MmQ=
13
+ NTdjNTM1MGRkYTdmYWIxOTY0MTE3NGVmYTc4M2RkN2RjNTI5YTY4MjJlYmVl
14
+ ZTE3MzM2YmY0MDA2OWE5OTgzMzM0MTg5Mzk4ODQwNmNmYzYxYTZmNTA3OWFl
15
+ NDhkMTAyN2Q5OTIwNTk0MmU1ZjNlZGIxMGI2ZjJmOTVlOTY5NmM=
data/.travis.yml CHANGED
@@ -7,7 +7,7 @@ rvm:
7
7
  - jruby-19mode
8
8
  - 2.0.0
9
9
  env:
10
- - RAILS_ENV=test RACK_ENV=test
10
+ - RAILS_ENV=test RACK_ENV=test CODECLIMATE_REPO_TOKEN=6914d2ef5cd8835295d483ff2143e58ed06bb20b25aca3e451be29f8963f76f4
11
11
  addons:
12
12
  code_climate:
13
13
  repo_token: 914d2ef5cd8835295d483ff2143e58ed06bb20b25aca3e451be29f8963f76f4
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,44 @@
1
+ # Contributing
2
+
3
+ We love pull requests. Here's a quick guide.
4
+
5
+ Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
6
+
7
+ Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
8
+
9
+ Fork, then clone the repo:
10
+
11
+ git clone git@github.com:your-username/washout_builder.git
12
+
13
+ Start a feature/bugfix branch.
14
+
15
+ Set up your machine:
16
+
17
+ bundle install
18
+
19
+ Make sure the tests pass:
20
+
21
+ bundle exec rake
22
+
23
+ Make your change. Add tests for your change. Make the tests pass:
24
+
25
+ bundle exec rake
26
+
27
+ Push to your fork and [submit a pull request][pr].
28
+
29
+ [pr]: https://github.com/bogdanRada/washout_builder/compare
30
+
31
+ At this point you're waiting on us. We like to at least comment on pull requests
32
+ within three business days (and, typically, one business day). We may suggest
33
+ some changes or improvements or alternatives.
34
+
35
+ Some things that will increase the chance that your pull request is accepted:
36
+
37
+ * Write tests.
38
+ * Try to follow this [style guide][style].
39
+ * Write a [good commit message][commit].
40
+
41
+ [style]: https://github.com/thoughtbot/guides/tree/master/style
42
+ [commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
43
+
44
+ Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
data/Gemfile CHANGED
@@ -4,34 +4,4 @@ gemspec
4
4
 
5
5
 
6
6
  gem 'wash_out', git: 'git://github.com/inossidabile/wash_out.git'
7
- gem 'wasabi'
8
- gem 'savon'
9
- gem 'httpi'
10
-
11
- gem 'rspec-rails'
12
- gem 'guard'
13
- gem 'guard-rspec'
14
- gem 'rb-fsevent'
15
- gem 'appraisal'
16
- gem 'tzinfo'
17
- gem 'pry'
18
- gem 'simplecov'
19
- gem 'simplecov-summary'
20
-
21
- gem 'nori'
22
- gem 'nokogiri'
23
-
24
- gem 'capybara'
25
- gem 'selenium-webdriver'
26
- gem 'headless'
27
- gem 'capybara-firebug'
28
- gem 'mocha', ">=1.1.0", :require => false
29
- #gem "mocha", "~> 0.12.8", :require => false
30
- gem 'webmock'
31
- gem 'coveralls', require: false
32
- gem "codeclimate-test-reporter", group: :test, require: nil
33
-
34
- unless ENV["TRAVIS"]
35
- gem 'rvm-tester'
36
- end
37
7
 
@@ -44,7 +44,7 @@ class WashoutBuilder::WashoutBuilderController < ActionController::Base
44
44
 
45
45
  def controller_is_a_service?(controller)
46
46
  route = all_controllers.detect do |route|
47
- route.defaults[:controller].try(:camelize) == controller.camelize && route.defaults[:action] == "_generate_wsdl"
47
+ route.defaults[:controller].camelize == controller.camelize && route.defaults[:action] == "_generate_wsdl"
48
48
  end
49
49
  end
50
50
 
@@ -1,3 +1,3 @@
1
1
  module WashoutBuilder
2
- VERSION = "0.13.5"
2
+ VERSION = "0.13.7"
3
3
  end
@@ -1,20 +1,22 @@
1
1
  require 'spec_helper'
2
2
  mock_controller do
3
- soap_action 'dispatcher_method', :args => nil, :return => nil
3
+ soap_action 'dispatcher_method', :args => nil, :return => nil
4
4
 
5
- def dispatcher_method
6
- #nothing
7
- end
8
- end
5
+ def dispatcher_method
6
+ #nothing
7
+ end
8
+ end
9
9
  describe WashoutBuilder::WashoutBuilderController, :type => :controller do
10
- routes { WashoutBuilder::Engine.routes }
10
+ routes { WashoutBuilder::Engine.routes }
11
11
 
12
12
  let(:soap_config) { OpenStruct.new(
13
13
  camelize_wsdl: false,
14
14
  namespace: "/api/wsdl",
15
15
  ) }
16
16
 
17
- let(:washout_builder) { stub(:root_url => "#{request.protocol}#{request.host_with_port}/")}
17
+ let(:washout_builder) { stub(:root_url => "#{request.protocol}#{request.host_with_port}/")}
18
+ let(:route) {stub(:defaults => {:controller => "api"})}
19
+ let(:params) {{:name => "some_name" }}
18
20
 
19
21
  before(:each) do
20
22
  ApiController.stubs(:soap_config).returns(soap_config)
@@ -30,5 +32,19 @@ describe WashoutBuilder::WashoutBuilderController, :type => :controller do
30
32
  get :all
31
33
  response.should render_template("wash_with_html/all_services")
32
34
  end
33
-
35
+
36
+
37
+ it "checks it controller is a service" do
38
+ controller.send(:controller_is_a_service?,"api").should_not eq nil
39
+ end
40
+
41
+ it "render a service documentation" do
42
+ controller.expects(:controller_is_a_service?).with(params[:name]).returns(route)
43
+ WashoutBuilder::Document::Generator.expects(:new).with(route.defaults[:controller])
44
+ get :all, params
45
+ response.should render_template "wash_with_html/doc"
46
+ end
47
+
48
+
49
+
34
50
  end
@@ -8,11 +8,7 @@ describe WashoutBuilder::Document::ComplexType do
8
8
  namespace: "/api/wsdl",
9
9
  description: "some description"
10
10
  ) }
11
-
12
- def get_wash_out_param(class_name_or_structure, soap_config = soap_config)
13
- WashOut::Param.parse_builder_def(soap_config, class_name_or_structure)[0]
14
- end
15
-
11
+
16
12
  let(:subject) { get_wash_out_param(ProjectType) }
17
13
  let(:namespaced_object) { get_wash_out_param(Api::TestType) }
18
14
 
@@ -4,33 +4,67 @@ require 'spec_helper'
4
4
 
5
5
  describe WashoutBuilder::Document::ExceptionModel do
6
6
 
7
- let(:subject) { WashOut::Dispatcher::SOAPError}
7
+ let(:subject) { WashoutBuilderTestError}
8
8
 
9
+ let(:structure) { {"message"=>{:primitive=>"string", :member_type=>nil}, "backtrace"=>{:primitive=>"string", :member_type=>nil}}}
10
+ let(:base_structure) { {"code"=>{:primitive=>"integer", :member_type=>nil}, "message"=>{:primitive=>"string", :member_type=>nil}, "backtrace"=>{:primitive=>"string", :member_type=>nil}}}
11
+ let(:ancestors) {[base_exception]}
9
12
 
13
+ def fault_ancestor_hash(subject, structure, ancestors)
14
+ {:fault => subject,:structure =>structure ,:ancestors => ancestors }
15
+ end
10
16
 
11
17
  it "gets the strcuture" do
12
- subject.get_fault_model_structure.should eq({"code"=>{:primitive=>"integer", :member_type=>nil}, "message"=>{:primitive=>"string", :member_type=>nil}, "backtrace"=>{:primitive=>"string", :member_type=>nil}})
18
+ subject.get_fault_model_structure.should eq(structure)
13
19
  end
14
20
 
15
- it "gets the strcuture" do
16
- subject.get_fault_attributes.should eq(["code","message", "backtrace"])
21
+ it "gets the strcuture" do
22
+ base_exception.get_fault_model_structure.should eq(base_structure)
23
+ end
24
+ it "gets the strcuture" do
25
+ subject.get_fault_attributes.should eq(["message", "backtrace"])
26
+ end
27
+ it "gets the strcuture" do
28
+ base_exception.get_fault_attributes.should eq(["code","message", "backtrace"])
17
29
  end
18
- #
19
- # it "gets the member type for arrays" do
20
- # subject.get_virtus_member_type_primitive({:primitive=>"Array", :member_type=>"SomeInexistentClass"}).should eq("SomeInexistentClass")
21
- # end
22
- #
23
- # it "gets the member type for clasified types" do
24
- # subject.get_virtus_member_type_primitive({:primitive=>"SomeInexistentClass", :member_type=>nil}).should eq("SomeInexistentClass")
25
- # end
26
- #
27
- # it "returns nil because is not a classified object" do
28
- # subject.get_virtus_member_type_primitive({:primitive=>"integer", :member_type=>nil}).should eq(nil)
29
- # end
30
30
 
31
+ specify { subject.check_valid_fault_method?("code").should eq(true) }
32
+ specify { subject.get_fault_type_method("code").should eq("integer") }
33
+ specify { subject.get_fault_type_method("message").should eq("string") }
34
+ specify { subject.get_fault_type_method("backtrace").should eq("string") }
31
35
 
32
36
  it "gets the strcuture" do
33
37
  subject.remove_fault_type_inheritable_elements(["code"]).should eq({ "message"=>{:primitive=>"string", :member_type=>nil}, "backtrace"=>{:primitive=>"string", :member_type=>nil}})
34
38
  end
35
39
 
40
+ it "fault_ancestor_hash" do
41
+ subject.fault_ancestor_hash( structure, ancestors).should eq(fault_ancestor_hash(subject, structure, ancestors))
42
+ end
43
+
44
+ it "gets the fault_ancestors" do
45
+ subject.expects(:get_complex_type_ancestors).with(subject, ["ActiveRecord::Base", "Object", "BasicObject", "Exception" ]).returns(ancestors)
46
+ subject.fault_ancestors.should eq ancestors
47
+ end
48
+
49
+ it "gets the fault_without_inheritable_elements" do
50
+ ancestors[0].expects(:get_fault_model_structure).returns(structure)
51
+ subject.expects(:remove_fault_type_inheritable_elements).with(structure.keys)
52
+ subject.fault_without_inheritable_elements(ancestors)
53
+ end
54
+
55
+ it "gets the ancestors" do
56
+ subject.expects(:fault_ancestors).returns(nil)
57
+ subject.expects(:get_fault_model_structure).returns(structure)
58
+ subject.expects(:fault_ancestor_hash).with(structure, []).returns(fault_ancestor_hash(subject, structure, ancestors))
59
+ subject.get_fault_class_ancestors([]).should eq(nil)
60
+ end
61
+
62
+ it "gets the ancestors" do
63
+ expected_defined = fault_ancestor_hash(subject, structure, ancestors)
64
+ subject.expects(:fault_ancestors).returns(ancestors)
65
+ subject.expects(:fault_without_inheritable_elements).with(ancestors).returns(structure)
66
+ subject.expects(:fault_ancestor_hash).returns(expected_defined)
67
+ subject.get_fault_class_ancestors([])
68
+ end
69
+
36
70
  end
@@ -4,10 +4,17 @@ mock_controller do
4
4
  soap_service namespace: "/api/wsdl", description: "some description"
5
5
 
6
6
  soap_action 'dispatcher_method', :args => nil, :return => nil
7
-
7
+ soap_action 'dispatcher_method2', :args => nil, :return => nil, :raises => WashoutBuilderTestError
8
+ soap_action 'dispatcher_method3', :args => ProjectType , :return => nil, :raises => [WashoutBuilderTestError]
8
9
  def dispatcher_method
9
10
  #nothing
10
11
  end
12
+ def dispatcher_method2
13
+ #nothing
14
+ end
15
+ def dispatcher_method3
16
+ #nothing
17
+ end
11
18
  end
12
19
 
13
20
  describe WashoutBuilder::Document::Generator do
@@ -17,12 +24,7 @@ describe WashoutBuilder::Document::Generator do
17
24
  namespace: "/api/wsdl",
18
25
  description: "some description"
19
26
  ) }
20
-
21
- let(:soap_actions) {
22
- {'dispatcher_method' =>
23
- {:args => nil, :return => nil, :in => [], :out => [], :builder_in => [], :builder_out => [], :to => 'dispatcher_method'}
24
- }
25
- }
27
+
26
28
  let(:service_class) { ApiController }
27
29
  before(:each) do
28
30
  @document = WashoutBuilder::Document::Generator.new("api")
@@ -49,40 +51,55 @@ describe WashoutBuilder::Document::Generator do
49
51
  end
50
52
 
51
53
  context "operations" do
52
- specify { @document.operations.should eq(soap_actions.map { |operation, formats| operation }) }
54
+ specify { @document.operations.should eq(service_class.soap_actions.map { |operation, formats| operation }) }
53
55
  end
54
56
 
57
+ context "sorted_operations" do
58
+
59
+ it "returns sorted operations" do
60
+ expected = service_class.soap_actions.sort_by { |operation, formats| operation.downcase }.uniq
61
+ @document.sorted_operations.should eq expected
62
+ end
63
+
64
+ end
55
65
 
56
- context "input types" do
57
- let(:expected) { types = []
58
- soap_actions.each do |operation, formats|
59
- (formats[:builder_in]).each do |p|
66
+ def argument_types(type)
67
+ format_type = (type == "input") ? "builder_in" : "builder_out"
68
+ types = []
69
+ unless service_class.soap_actions.blank?
70
+ service_class.soap_actions.each do |operation, formats|
71
+ (formats[format_type.to_sym]).each do |p|
60
72
  types << p
61
73
  end
62
74
  end
63
- types }
75
+ end
76
+ types
77
+ end
78
+
79
+
80
+ context "input types" do
64
81
 
65
- specify { @document.input_types.should eq(expected) }
82
+ specify { @document.input_types.should eq(argument_types("input")) }
66
83
 
67
84
  end
68
85
 
69
86
  context "output types" do
70
- let(:expected) { types = []
71
- soap_actions.each do |operation, formats|
72
- (formats[:builder_out]).each do |p|
73
- types << p
74
- end
75
- end
76
- types }
77
-
78
- specify { @document.output_types.should eq(expected) }
87
+
88
+ specify { @document.output_types.should eq(argument_types("output")) }
79
89
 
80
90
  end
81
91
 
82
92
 
93
+ context "operation exceptions" do
94
+
95
+ specify { @document.operation_exceptions("dispatcher_method").should eq([]) }
96
+ specify { @document.operation_exceptions("dispatcher_method2").should eq([WashoutBuilderTestError]) }
97
+ specify { @document.operation_exceptions("dispatcher_method3").should eq([WashoutBuilderTestError]) }
98
+ end
99
+
83
100
  context "get_soap_action_names" do
84
101
 
85
- let(:expected) {soap_actions.map { |operation, formats| operation }.map(&:to_s).sort_by { |name| name.downcase }.uniq}
102
+ let(:expected) {service_class.soap_actions.map { |operation, formats| operation }.map(&:to_s).sort_by { |name| name.downcase }.uniq}
86
103
 
87
104
  specify { @document.get_soap_action_names.should eq(expected) }
88
105
 
@@ -95,6 +112,30 @@ describe WashoutBuilder::Document::Generator do
95
112
  end
96
113
 
97
114
 
115
+ context "actions with exceptions" do
116
+ let(:actions_with_exceptions) {service_class.soap_actions.select{|operation, formats| !formats[:raises].blank? } }
117
+ let(:exceptions_raised) { actions_with_exceptions.collect {|operation, formats| formats[:raises].is_a?(Array) ? formats[:raises] : [formats[:raises]] }.flatten}
118
+ let(:filter_exceptions_raised) { exceptions_raised.select { |x| WashoutBuilder::Type.valid_fault_class?(x) } unless actions_with_exceptions.blank?}
119
+
120
+ specify { @document.actions_with_exceptions.should eq actions_with_exceptions }
121
+ specify { @document.exceptions_raised.should eq exceptions_raised }
122
+ specify { @document.filter_exceptions_raised.should eq filter_exceptions_raised }
123
+
124
+ it "returns the fault types" do
125
+ WashoutBuilder::Type.stubs(:get_fault_classes).returns([base_exception])
126
+ @document.expects(:get_complex_fault_types).with([base_exception]).returns([base_exception])
127
+ @document.expects(:sort_complex_types).with([base_exception], "fault").returns([base_exception])
128
+ @document.fault_types.should eq([base_exception])
129
+ end
130
+
131
+ it "returns complex fault types" do
132
+ base_exception.expects(:get_fault_class_ancestors).with([], true).returns(nil)
133
+ @document.expects(:filter_exceptions_raised).returns(nil)
134
+ @document.get_complex_fault_types([base_exception]).should eq([])
135
+ end
136
+
137
+ end
138
+
98
139
 
99
140
  context "complex types" do
100
141
 
@@ -109,6 +150,8 @@ describe WashoutBuilder::Document::Generator do
109
150
  end
110
151
 
111
152
  it "returns nil if no complex types detected" do
153
+ WashOut::Param.any_instance.expects(:get_nested_complex_types).returns([])
154
+ @document.expects(:sort_complex_types).with([], "class").returns(nil)
112
155
  @document.complex_types.should eq(nil)
113
156
  end
114
157
 
@@ -4,6 +4,9 @@ require 'spec_helper'
4
4
 
5
5
  describe WashoutBuilder::Type do
6
6
 
7
+ let(:exception) { WashoutBuilderTestError}
8
+ let(:fault_classes) { [exception] }
9
+
7
10
  it "defines a list of types" do
8
11
  WashoutBuilder::Type::BASIC_TYPES.should eq([
9
12
  "string",
@@ -16,5 +19,24 @@ describe WashoutBuilder::Type do
16
19
  "time",
17
20
  "int"])
18
21
  end
22
+
23
+ it "gets the fault classes defined" do
24
+ WashoutBuilder::Type.get_fault_classes.should eq ([base_exception])
25
+ end
26
+
27
+ context "exception" do
28
+ before(:each) do
29
+ WashoutBuilder::Type.stubs(:get_fault_classes).returns([base_exception])
30
+ end
31
+
32
+ it "checks if exception has ancestor" do
33
+ WashoutBuilder::Type.has_ancestor_fault?(exception).should eq(true)
34
+ end
35
+
36
+ it "checks if exception valid" do
37
+ WashoutBuilder::Type.valid_fault_class?(exception).should eq(true)
38
+ end
39
+ end
40
+
19
41
 
20
42
  end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,20 @@
1
1
  # Configure Rails Envinronment
2
2
  ENV["RAILS_ENV"] = "test"
3
3
 
4
- require "simplecov"
4
+ require 'codeclimate-test-reporter'
5
+ require 'simplecov'
6
+ require 'simplecov-summary'
5
7
  require 'coveralls'
8
+
9
+ formatters = [SimpleCov::Formatter::HTMLFormatter]
10
+
11
+ formatters << Coveralls::SimpleCov::Formatter if ENV['TRAVIS']
12
+ formatters << CodeClimate::TestReporter::Formatter if ENV['CODECLIMATE_REPO_TOKEN'] && ENV['TRAVIS']
13
+
14
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[*formatters]
15
+
16
+
6
17
  Coveralls.wear!
7
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
8
18
  SimpleCov.start do
9
19
  add_filter 'spec'
10
20
  add_group 'Library', 'lib'
@@ -13,28 +23,21 @@ SimpleCov.start do
13
23
  at_exit do; end
14
24
  end
15
25
 
16
- if ENV["TRAVIS"]
17
- require "codeclimate-test-reporter"
18
- CodeClimate::TestReporter.start
19
- end
20
-
21
26
  require 'active_support'
22
27
  require 'nori'
23
28
  require 'nokogiri'
29
+ require 'ostruct'
24
30
 
25
31
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
26
32
  require File.expand_path("../../config/routes.rb", __FILE__)
27
33
  require "rails/test_help"
28
34
  require "rspec/rails"
29
35
  require 'rspec/autorun'
30
- require "pry"
31
36
  require "savon"
32
37
  require 'wash_out'
33
38
 
34
39
  require 'capybara/rspec'
35
40
  require 'capybara/rails'
36
- require 'capybara/firebug/rspec'
37
- require 'webmock/rspec'
38
41
  require 'headless'
39
42
 
40
43
  Rails.backtrace_cleaner.remove_silencers!
@@ -45,16 +48,15 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
45
48
  RSpec.configure do |config|
46
49
  require 'rspec/expectations'
47
50
  config.include RSpec::Matchers
48
-
51
+ config.infer_spec_type_from_file_location!
49
52
 
50
53
  config.before(:suite) do
51
54
  # Blocks all remote HTTP requests by default, they need to be stubbed.
52
- WebMock.disable_net_connect!(:allow_localhost => true)
53
55
  if !RUBY_PLATFORM.downcase.include?('darwin') && !ENV['NO_HEADLESS']
54
56
  Headless.new(reuse: false, destroy_on_exit: false).start
55
57
  end
56
58
  end
57
-
59
+
58
60
  config.mock_with :mocha
59
61
  config.before(:all) do
60
62
  WashoutBuilder::Engine.config.wash_out = {
@@ -96,3 +98,17 @@ def mock_controller(options = {}, &block)
96
98
 
97
99
  ActiveSupport::Dependencies::Reference.instance_variable_get(:'@store').delete('ApiController')
98
100
  end
101
+
102
+ def base_exception
103
+ WashOut::Dispatcher::SOAPError
104
+ end
105
+
106
+
107
+ class WashoutBuilderTestError < base_exception
108
+
109
+
110
+ end
111
+
112
+ def get_wash_out_param(class_name_or_structure, soap_config = soap_config)
113
+ WashOut::Param.parse_builder_def(soap_config, class_name_or_structure)[0]
114
+ end
@@ -3,7 +3,6 @@ class ProjectType < WashOut::Type
3
3
  :name => :string,
4
4
  :description => :string,
5
5
  :users => [{:mail => :string }],
6
- # 'dada' => [Project]
7
6
  }
8
7
  end
9
8
 
@@ -9,11 +9,31 @@ Gem::Specification.new do |s|
9
9
  s.homepage = "http://github.com/bogdanRada/washout_builder/"
10
10
  s.description = "WashOut Soap Service HTML-Documentation generator (extends WashOut https://github.com/inossidabile/wash_out/) "
11
11
  s.authors = ["bogdanRada"]
12
- s.date = "2013-11-20"
12
+ s.date = Date.today
13
13
 
14
14
  s.licenses = ["MIT"]
15
15
  s.files = `git ls-files`.split("\n")
16
16
  s.test_files = s.files.grep(/^(spec)/)
17
17
  s.require_paths = ["lib"]
18
18
  s.add_runtime_dependency 'wash_out', '~> 0.9', '>= 0.9.1'
19
+
20
+ s.add_development_dependency 'wasabi', '~> 3.3', '>= 3.3.0'
21
+ s.add_development_dependency 'savon', '~> 2.5', '>= 2.5.1'
22
+ s.add_development_dependency 'httpi', '~> 2.1', '>= 2.1.0'
23
+ s.add_development_dependency 'nokogiri', '~> 1.6', '>= 1.6.0'
24
+
25
+ s.add_development_dependency 'rspec-rails', '~> 2.0', '>= 2.0'
26
+ s.add_development_dependency 'guard', '~> 2.6', '>= 2.6.1'
27
+ s.add_development_dependency 'guard-rspec', '~> 4.2', '>= 4.2.9'
28
+ s.add_development_dependency 'appraisal', '~> 1.0', '>= 1.0.0'
29
+ s.add_development_dependency 'simplecov', '~> 0.8', '>= 0.8.2'
30
+ s.add_development_dependency 'simplecov-summary', '~> 0.0', '>= 0.0.4'
31
+ s.add_development_dependency 'mocha','~> 1.1', '>= 1.1.0'
32
+ s.add_development_dependency 'coveralls','~> 0.7', '>= 0.7.0'
33
+ s.add_development_dependency 'codeclimate-test-reporter','~> 0.3', '>= 0.3.0'
34
+ s.add_development_dependency 'rvm-tester','~> 1.1', '>= 1.1.0'
35
+
36
+ s.add_development_dependency 'capybara', '~> 2.2', '>= 2.2.1'
37
+ s.add_development_dependency 'selenium-webdriver', '~> 2.41', '>= 2.41.0'
38
+ s.add_development_dependency 'headless','~> 1.0', '>= 1.0.1'
19
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: washout_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.5
4
+ version: 0.13.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - bogdanRada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-20 00:00:00.000000000 Z
11
+ date: 2014-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wash_out
@@ -30,6 +30,346 @@ dependencies:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.9.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: wasabi
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: '3.3'
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: 3.3.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: '3.3'
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: 3.3.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: savon
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ version: '2.5'
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 2.5.1
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '2.5'
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: 2.5.1
73
+ - !ruby/object:Gem::Dependency
74
+ name: httpi
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '2.1'
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.1.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '2.1'
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: 2.1.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: nokogiri
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: '1.6'
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: 1.6.0
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.6'
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: 1.6.0
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec-rails
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ - - ! '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '2.0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
129
+ version: '2.0'
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '2.0'
133
+ - !ruby/object:Gem::Dependency
134
+ name: guard
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ~>
138
+ - !ruby/object:Gem::Version
139
+ version: '2.6'
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: 2.6.1
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '2.6'
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: 2.6.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '4.2'
160
+ - - ! '>='
161
+ - !ruby/object:Gem::Version
162
+ version: 4.2.9
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ~>
168
+ - !ruby/object:Gem::Version
169
+ version: '4.2'
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: 4.2.9
173
+ - !ruby/object:Gem::Dependency
174
+ name: appraisal
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ~>
178
+ - !ruby/object:Gem::Version
179
+ version: '1.0'
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: 1.0.0
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '1.0'
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: 1.0.0
193
+ - !ruby/object:Gem::Dependency
194
+ name: simplecov
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ~>
198
+ - !ruby/object:Gem::Version
199
+ version: '0.8'
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: 0.8.2
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ version: '0.8'
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: 0.8.2
213
+ - !ruby/object:Gem::Dependency
214
+ name: simplecov-summary
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ~>
218
+ - !ruby/object:Gem::Version
219
+ version: '0.0'
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: 0.0.4
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ~>
228
+ - !ruby/object:Gem::Version
229
+ version: '0.0'
230
+ - - ! '>='
231
+ - !ruby/object:Gem::Version
232
+ version: 0.0.4
233
+ - !ruby/object:Gem::Dependency
234
+ name: mocha
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ~>
238
+ - !ruby/object:Gem::Version
239
+ version: '1.1'
240
+ - - ! '>='
241
+ - !ruby/object:Gem::Version
242
+ version: 1.1.0
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ~>
248
+ - !ruby/object:Gem::Version
249
+ version: '1.1'
250
+ - - ! '>='
251
+ - !ruby/object:Gem::Version
252
+ version: 1.1.0
253
+ - !ruby/object:Gem::Dependency
254
+ name: coveralls
255
+ requirement: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ~>
258
+ - !ruby/object:Gem::Version
259
+ version: '0.7'
260
+ - - ! '>='
261
+ - !ruby/object:Gem::Version
262
+ version: 0.7.0
263
+ type: :development
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ version: '0.7'
270
+ - - ! '>='
271
+ - !ruby/object:Gem::Version
272
+ version: 0.7.0
273
+ - !ruby/object:Gem::Dependency
274
+ name: codeclimate-test-reporter
275
+ requirement: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ~>
278
+ - !ruby/object:Gem::Version
279
+ version: '0.3'
280
+ - - ! '>='
281
+ - !ruby/object:Gem::Version
282
+ version: 0.3.0
283
+ type: :development
284
+ prerelease: false
285
+ version_requirements: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - ~>
288
+ - !ruby/object:Gem::Version
289
+ version: '0.3'
290
+ - - ! '>='
291
+ - !ruby/object:Gem::Version
292
+ version: 0.3.0
293
+ - !ruby/object:Gem::Dependency
294
+ name: rvm-tester
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ~>
298
+ - !ruby/object:Gem::Version
299
+ version: '1.1'
300
+ - - ! '>='
301
+ - !ruby/object:Gem::Version
302
+ version: 1.1.0
303
+ type: :development
304
+ prerelease: false
305
+ version_requirements: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ~>
308
+ - !ruby/object:Gem::Version
309
+ version: '1.1'
310
+ - - ! '>='
311
+ - !ruby/object:Gem::Version
312
+ version: 1.1.0
313
+ - !ruby/object:Gem::Dependency
314
+ name: capybara
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ~>
318
+ - !ruby/object:Gem::Version
319
+ version: '2.2'
320
+ - - ! '>='
321
+ - !ruby/object:Gem::Version
322
+ version: 2.2.1
323
+ type: :development
324
+ prerelease: false
325
+ version_requirements: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ~>
328
+ - !ruby/object:Gem::Version
329
+ version: '2.2'
330
+ - - ! '>='
331
+ - !ruby/object:Gem::Version
332
+ version: 2.2.1
333
+ - !ruby/object:Gem::Dependency
334
+ name: selenium-webdriver
335
+ requirement: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - ~>
338
+ - !ruby/object:Gem::Version
339
+ version: '2.41'
340
+ - - ! '>='
341
+ - !ruby/object:Gem::Version
342
+ version: 2.41.0
343
+ type: :development
344
+ prerelease: false
345
+ version_requirements: !ruby/object:Gem::Requirement
346
+ requirements:
347
+ - - ~>
348
+ - !ruby/object:Gem::Version
349
+ version: '2.41'
350
+ - - ! '>='
351
+ - !ruby/object:Gem::Version
352
+ version: 2.41.0
353
+ - !ruby/object:Gem::Dependency
354
+ name: headless
355
+ requirement: !ruby/object:Gem::Requirement
356
+ requirements:
357
+ - - ~>
358
+ - !ruby/object:Gem::Version
359
+ version: '1.0'
360
+ - - ! '>='
361
+ - !ruby/object:Gem::Version
362
+ version: 1.0.1
363
+ type: :development
364
+ prerelease: false
365
+ version_requirements: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - ~>
368
+ - !ruby/object:Gem::Version
369
+ version: '1.0'
370
+ - - ! '>='
371
+ - !ruby/object:Gem::Version
372
+ version: 1.0.1
33
373
  description: ! 'WashOut Soap Service HTML-Documentation generator (extends WashOut
34
374
  https://github.com/inossidabile/wash_out/) '
35
375
  email: raoul_ice@yahoo.com
@@ -42,6 +382,7 @@ files:
42
382
  - .rspec
43
383
  - .travis.yml
44
384
  - Appraisals
385
+ - CONTRIBUTING.md
45
386
  - Gemfile
46
387
  - Guardfile
47
388
  - LICENSE