washout_builder 0.14.1 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -2
  3. data/.rubocop.yml +68 -0
  4. data/.travis.yml +1 -1
  5. data/Appraisals +9 -1
  6. data/Gemfile +2 -3
  7. data/Rakefile +17 -20
  8. data/app/controllers/washout_builder/washout_builder_controller.rb +79 -79
  9. data/app/helpers/washout_builder_complex_type_helper.rb +16 -23
  10. data/app/helpers/washout_builder_fault_type_helper.rb +12 -13
  11. data/app/helpers/washout_builder_method_arguments_helper.rb +24 -26
  12. data/app/helpers/washout_builder_method_list_helper.rb +16 -11
  13. data/app/helpers/washout_builder_method_return_type_helper.rb +14 -12
  14. data/app/views/wash_with_html/doc.builder +2 -2
  15. data/bin/appraisal +16 -0
  16. data/bin/autospec +16 -0
  17. data/bin/bundler +16 -0
  18. data/bin/cdiff +16 -0
  19. data/bin/coderay +16 -0
  20. data/bin/colortab +16 -0
  21. data/bin/coveralls +16 -0
  22. data/bin/decolor +16 -0
  23. data/bin/erubis +16 -0
  24. data/bin/guard +16 -0
  25. data/bin/htmldiff +16 -0
  26. data/bin/ldiff +16 -0
  27. data/bin/listen +16 -0
  28. data/bin/nokogiri +16 -0
  29. data/bin/phare +16 -0
  30. data/bin/pry +16 -0
  31. data/bin/rackup +16 -0
  32. data/bin/rails +16 -0
  33. data/bin/rake +16 -0
  34. data/bin/restclient +16 -0
  35. data/bin/rspec +16 -0
  36. data/bin/rubocop +16 -0
  37. data/bin/ruby-parse +16 -0
  38. data/bin/ruby-rewrite +16 -0
  39. data/bin/sass +16 -0
  40. data/bin/sass-convert +16 -0
  41. data/bin/scss +16 -0
  42. data/bin/scss-lint +16 -0
  43. data/bin/term_display +16 -0
  44. data/bin/term_mandel +16 -0
  45. data/bin/thor +16 -0
  46. data/bin/uuid +16 -0
  47. data/config/routes.rb +3 -3
  48. data/init.rb +1 -1
  49. data/lib/washout_builder.rb +20 -29
  50. data/lib/washout_builder/document/complex_type.rb +70 -75
  51. data/lib/washout_builder/document/exception_model.rb +46 -51
  52. data/lib/washout_builder/document/generator.rb +56 -66
  53. data/lib/washout_builder/document/shared_complex_type.rb +2 -4
  54. data/lib/washout_builder/engine.rb +1 -2
  55. data/lib/washout_builder/soap.rb +6 -10
  56. data/lib/washout_builder/type.rb +9 -23
  57. data/lib/washout_builder/version.rb +5 -5
  58. data/spec/app/controllers/washout_builder_controller_spec.rb +26 -28
  59. data/spec/app/helpers/washout_builder_complex_type_helper_spec.rb +37 -45
  60. data/spec/app/helpers/washout_builder_fault_type_helper_spec.rb +65 -77
  61. data/spec/app/helpers/washout_builder_method_arguments_helper_spec.rb +65 -76
  62. data/spec/app/helpers/washout_builder_method_list_helper_spec.rb +30 -35
  63. data/spec/app/helpers/washout_builder_method_return_type_helper_spec.rb +25 -27
  64. data/spec/dummy/config/application.rb +4 -4
  65. data/spec/dummy/config/boot.rb +1 -1
  66. data/spec/dummy/config/environments/development.rb +2 -3
  67. data/spec/dummy/config/environments/test.rb +3 -3
  68. data/spec/dummy/config/initializers/secret_token.rb +1 -1
  69. data/spec/dummy/config/initializers/session_store.rb +1 -1
  70. data/spec/dummy/config/routes.rb +0 -1
  71. data/spec/dummy/script/rails +2 -2
  72. data/spec/integration/washout_builder_all_services_spec.rb +2 -5
  73. data/spec/integration/washout_builder_service_spec.rb +2 -5
  74. data/spec/lib/washout_builder/document/complex_type_spec.rb +98 -118
  75. data/spec/lib/washout_builder/document/exception_model_spec.rb +49 -54
  76. data/spec/lib/washout_builder/document/generator_spec.rb +93 -118
  77. data/spec/lib/washout_builder/type_spec.rb +17 -29
  78. data/spec/lib/washout_builder_spec.rb +293 -308
  79. data/spec/spec_helper.rb +24 -30
  80. data/spec/support/complex_types/fluffy.rb +3 -3
  81. data/spec/support/complex_types/fluffy_container.rb +3 -3
  82. data/spec/support/complex_types/project_type.rb +4 -5
  83. data/spec/support/complex_types/test_type.rb +4 -4
  84. data/washout_builder.gemspec +5 -2
  85. metadata +78 -3
@@ -1,86 +1,81 @@
1
- require_relative "./shared_complex_type"
1
+ require_relative './shared_complex_type'
2
2
  module WashoutBuilder
3
3
  module Document
4
4
  module ExceptionModel
5
5
  extend ActiveSupport::Concern
6
- include WashoutBuilder::Document::SharedComplexType
7
-
6
+ include WashoutBuilder::Document::SharedComplexType
7
+
8
8
  def self.included(base)
9
9
  base.send :include, WashoutBuilder::Document::SharedComplexType
10
10
  end
11
-
12
- def get_fault_class_ancestors( defined, debug = false)
11
+
12
+ def get_fault_class_ancestors(defined, _debug = false)
13
13
  bool_the_same = false
14
- ancestors = fault_ancestors
15
- if ancestors.blank?
16
- defined << fault_ancestor_hash(get_fault_model_structure, [])
14
+ ancestors = fault_ancestors
15
+ if ancestors.blank?
16
+ defined << fault_ancestor_hash(find_fault_model_structure, [])
17
17
  else
18
18
  defined << fault_ancestor_hash(fault_without_inheritable_elements(ancestors), ancestors)
19
- ancestors[0].get_fault_class_ancestors( defined)
19
+ ancestors[0].get_fault_class_ancestors(defined)
20
20
  end
21
- ancestors unless bool_the_same
21
+ ancestors unless bool_the_same
22
22
  end
23
-
24
-
23
+
25
24
  def fault_without_inheritable_elements(ancestors)
26
- remove_fault_type_inheritable_elements( ancestors[0].get_fault_model_structure.keys)
25
+ remove_fault_type_inheritable_elements(ancestors[0].find_fault_model_structure.keys)
27
26
  end
28
-
27
+
29
28
  def fault_ancestors
30
- get_complex_type_ancestors(self, ["ActiveRecord::Base", "Object", "BasicObject", "Exception" ])
29
+ get_complex_type_ancestors(self, ['ActiveRecord::Base', 'Object', 'BasicObject', 'Exception'])
31
30
  end
32
-
33
- def fault_ancestor_hash( structure, ancestors)
34
- {:fault => self,:structure =>structure ,:ancestors => ancestors }
31
+
32
+ def fault_ancestor_hash(structure, ancestors)
33
+ { fault: self, structure: structure, ancestors: ancestors }
35
34
  end
36
-
37
- def remove_fault_type_inheritable_elements( keys)
38
- get_fault_model_structure.delete_if{|key,value| keys.include?(key) }
35
+
36
+ def remove_fault_type_inheritable_elements(keys)
37
+ find_fault_model_structure.delete_if { |key, _value| keys.include?(key) }
39
38
  end
40
-
39
+
41
40
  def check_valid_fault_method?(method)
42
41
  method != :== && method != :! &&
43
- ( self.instance_methods.include?(:"#{method}=") ||
44
- self.instance_methods.include?(:"#{method}")
42
+ (instance_methods.include?(:"#{method}=") ||
43
+ instance_methods.include?(:"#{method}")
45
44
  )
46
- end
47
-
48
-
49
- def get_fault_attributes
45
+ end
46
+
47
+ def find_fault_attributes
50
48
  attrs = []
51
- attrs = self.instance_methods(nil).collect do |method|
52
- method.to_s if check_valid_fault_method?(method)
49
+ attrs = instance_methods(nil).map do |method|
50
+ method.to_s if check_valid_fault_method?(method)
53
51
  end
54
- attrs = attrs.delete_if {|method| method.end_with?("=") && attrs.include?(method.gsub("=",'')) }
55
- attrs.concat(["message", "backtrace"])
52
+ attrs = attrs.delete_if { |method| method.end_with?('=') && attrs.include?(method.gsub('=', '')) }
53
+ attrs.concat(%w(message backtrace))
56
54
  end
57
-
55
+
58
56
  def get_fault_type_method(method_name)
59
57
  case method_name.to_s.downcase
60
- when "code"
61
- "integer"
62
- when "message", "backtrace"
63
- "string"
64
- else
65
- "string"
66
- end
58
+ when 'code'
59
+ 'integer'
60
+ when 'message', 'backtrace'
61
+ 'string'
62
+ else
63
+ 'string'
64
+ end
67
65
  end
68
-
69
-
70
- def get_fault_model_structure
66
+
67
+ def find_fault_model_structure
71
68
  h = {}
72
- get_fault_attributes.each do |method_name|
73
- method_name = method_name.to_s.end_with?("=") ? method_name.to_s.gsub("=", '') : method_name
69
+ find_fault_attributes.each do |method_name|
70
+ method_name = method_name.to_s.end_with?('=') ? method_name.to_s.gsub('=', '') : method_name
74
71
  primitive_type = get_fault_type_method(method_name)
75
- h["#{method_name}"]= {
76
- :primitive => "#{primitive_type}",
77
- :member_type => nil
72
+ h["#{method_name}"] = {
73
+ primitive: "#{primitive_type}",
74
+ member_type: nil
78
75
  }
79
76
  end
80
- return h
77
+ h
81
78
  end
82
-
83
-
84
79
  end
85
80
  end
86
81
  end
@@ -1,67 +1,61 @@
1
- require_relative "./exception_model"
1
+ require_relative './exception_model'
2
2
  module WashoutBuilder
3
3
  module Document
4
4
  class Generator
5
-
6
- @attrs = [:soap_actions, :config, :controller_name]
7
-
8
- attr_reader *@attrs
9
- attr_accessor *@attrs
10
-
5
+ attr_accessor :soap_actions, :config, :controller_name
6
+
11
7
  def initialize(controller)
12
- controller_class_name = controller_class(controller)
13
- self.config =controller_class_name.soap_config
14
- self.soap_actions = controller_class_name.soap_actions
15
- self.controller_name = controller
8
+ controller_class_name = controller_class(controller)
9
+ self.config = controller_class_name.soap_config
10
+ self.soap_actions = controller_class_name.soap_actions
11
+ self.controller_name = controller
16
12
  end
17
-
13
+
18
14
  def namespace
19
15
  config.respond_to?(:namespace) ? config.namespace : nil
20
16
  end
21
-
17
+
22
18
  def controller_class(controller)
23
19
  "#{controller}_controller".camelize.constantize
24
20
  end
25
-
26
- def endpoint
27
- namespace.blank? ? nil : namespace.gsub("/wsdl", "/action")
21
+
22
+ def endpoint
23
+ namespace.blank? ? nil : namespace.gsub('/wsdl', '/action')
28
24
  end
29
-
30
- def service
25
+
26
+ def service
31
27
  controller_name.blank? ? nil : controller_name.camelize
32
28
  end
33
-
29
+
34
30
  def service_description
35
31
  config.respond_to?(:description) ? config.description : nil
36
32
  end
37
-
33
+
38
34
  def operations
39
- soap_actions.map { |operation, formats| operation }
35
+ soap_actions.map { |operation, _formats| operation }
40
36
  end
41
-
37
+
42
38
  def sorted_operations
43
- soap_actions.sort_by { |operation, formats| operation.downcase }.uniq unless soap_actions.blank?
39
+ soap_actions.sort_by { |operation, _formats| operation.downcase }.uniq unless soap_actions.blank?
44
40
  end
45
-
41
+
46
42
  def operation_exceptions(operation_name)
47
- hash_object = soap_actions.detect {|operation, formats| operation.to_s.downcase == operation_name.to_s.downcase}
48
- unless hash_object.blank?
49
- faults = hash_object[1][:raises]
50
- faults = faults.is_a?(Array) ? faults : [faults]
51
- faults.select { |x| WashoutBuilder::Type.valid_fault_class?(x) }
52
- end
43
+ hash_object = soap_actions.find { |operation, _formats| operation.to_s.downcase == operation_name.to_s.downcase }
44
+ return if hash_object.blank?
45
+ faults = hash_object[1][:raises]
46
+ faults = faults.is_a?(Array) ? faults : [faults]
47
+ faults.select { |x| WashoutBuilder::Type.valid_fault_class?(x) }
53
48
  end
54
-
49
+
55
50
  def sort_complex_types(types, type)
56
- types.sort_by { |hash| hash[type.to_sym].to_s.downcase }.uniq {|hash| hash[type.to_sym] } unless types.blank?
51
+ types.sort_by { |hash| hash[type.to_sym].to_s.downcase }.uniq { |hash| hash[type.to_sym] } unless types.blank?
57
52
  end
58
-
59
-
53
+
60
54
  def argument_types(type)
61
- format_type = (type == "input") ? "builder_in" : "builder_out"
55
+ format_type = (type == 'input') ? 'builder_in' : 'builder_out'
62
56
  types = []
63
57
  unless soap_actions.blank?
64
- soap_actions.each do |operation, formats|
58
+ soap_actions.each do |_operation, formats|
65
59
  (formats[format_type.to_sym]).each do |p|
66
60
  types << p
67
61
  end
@@ -69,56 +63,52 @@ module WashoutBuilder
69
63
  end
70
64
  types
71
65
  end
72
-
66
+
73
67
  def input_types
74
- argument_types("input")
68
+ argument_types('input')
75
69
  end
76
-
70
+
77
71
  def output_types
78
- argument_types("output")
72
+ argument_types('output')
79
73
  end
80
-
81
- def get_soap_action_names
82
- operations.map(&:to_s).sort_by { |name| name.downcase }.uniq unless soap_actions.blank?
74
+
75
+ def all_soap_action_names
76
+ operations.map(&:to_s).sort_by(&:downcase).uniq unless soap_actions.blank?
83
77
  end
84
-
85
-
78
+
86
79
  def complex_types
87
80
  defined = []
88
81
  (input_types + output_types).each do |p|
89
- defined.concat(p.get_nested_complex_types(config, defined))
82
+ defined.concat(p.get_nested_complex_types(config, defined))
90
83
  end
91
- defined = sort_complex_types(defined, "class")
84
+ defined = sort_complex_types(defined, 'class')
92
85
  end
93
-
94
-
86
+
95
87
  def actions_with_exceptions
96
- soap_actions.select{|operation, formats| !formats[:raises].blank? }
88
+ soap_actions.select { |_operation, formats| !formats[:raises].blank? }
97
89
  end
98
-
90
+
99
91
  def exceptions_raised
100
- actions_with_exceptions.collect {|operation, formats| formats[:raises].is_a?(Array) ? formats[:raises] : [formats[:raises]] }.flatten
92
+ actions_with_exceptions.map { |_operation, formats| formats[:raises].is_a?(Array) ? formats[:raises] : [formats[:raises]] }.flatten
101
93
  end
102
-
103
-
94
+
104
95
  def filter_exceptions_raised
105
- exceptions_raised.select { |x| WashoutBuilder::Type.valid_fault_class?(x) } unless actions_with_exceptions.blank?
96
+ exceptions_raised.select { |x| WashoutBuilder::Type.valid_fault_class?(x) } unless actions_with_exceptions.blank?
106
97
  end
107
-
98
+
108
99
  def get_complex_fault_types(base_fault_array)
109
- fault_types =[]
110
- defined = filter_exceptions_raised
111
- defined = defined.blank? ? base_fault_array : defined.concat(base_fault_array)
112
- defined.each{ |exception_class| exception_class.get_fault_class_ancestors( fault_types, true)} unless defined.blank?
113
- fault_types
100
+ fault_types = []
101
+ defined = filter_exceptions_raised
102
+ defined = defined.blank? ? base_fault_array : defined.concat(base_fault_array)
103
+ defined.each { |exception_class| exception_class.get_fault_class_ancestors(fault_types, true) } unless defined.blank?
104
+ fault_types
114
105
  end
115
-
106
+
116
107
  def fault_types
117
- base_fault =[WashoutBuilder::Type.get_fault_classes.first]
108
+ base_fault = [WashoutBuilder::Type.all_fault_classes.first]
118
109
  fault_types = get_complex_fault_types(base_fault)
119
- sort_complex_types(fault_types, "fault")
110
+ sort_complex_types(fault_types, 'fault')
120
111
  end
121
-
122
112
  end
123
113
  end
124
- end
114
+ end
@@ -1,11 +1,9 @@
1
1
  module WashoutBuilder
2
2
  module Document
3
3
  module SharedComplexType
4
-
5
4
  def get_complex_type_ancestors(class_name, array)
6
- (class_name.ancestors - class_name.included_modules).delete_if{ |x| x.to_s.downcase == class_name.to_s.downcase || array.include?(x.to_s) }
5
+ (class_name.ancestors - class_name.included_modules).delete_if { |x| x.to_s.downcase == class_name.to_s.downcase || array.include?(x.to_s) }
7
6
  end
8
-
9
7
  end
10
8
  end
11
- end
9
+ end
@@ -1,8 +1,7 @@
1
1
  module WashoutBuilder
2
2
  class Engine < ::Rails::Engine
3
3
  isolate_namespace WashoutBuilder
4
- initializer "washout_builder.configuration" do |app|
5
-
4
+ initializer 'washout_builder.configuration' do |_app|
6
5
  end
7
6
  end
8
7
  end
@@ -5,8 +5,7 @@ module WashoutBuilder
5
5
  extend ActiveSupport::Concern
6
6
  include WashOut::SOAP if defined?(WashOut::SOAP)
7
7
  include WashOut::Rails::Controller if defined?(WashOut::Rails::Controller)
8
-
9
-
8
+
10
9
  module ClassMethods
11
10
  attr_accessor :soap_actions
12
11
  # Define a SOAP action +action+. The function has two required +options+:
@@ -15,9 +14,9 @@ module WashoutBuilder
15
14
  #
16
15
  # An optional option :to can be passed to allow for names of SOAP actions
17
16
  # which are not valid Ruby function names.
18
- def soap_action(action, options={})
17
+ def soap_action(action, options = {})
19
18
  original_soap_action(action, options)
20
-
19
+
21
20
  if action.is_a?(Symbol)
22
21
  if soap_config.camelize_wsdl.to_s == 'lower'
23
22
  action = action.to_s.camelize(:lower)
@@ -25,19 +24,16 @@ module WashoutBuilder
25
24
  action = action.to_s.camelize
26
25
  end
27
26
  end
28
-
29
-
30
- current_action = self.soap_actions[action]
27
+
28
+ current_action = soap_actions[action]
31
29
  current_action[:builder_in] = WashOut::Param.parse_builder_def(soap_config, options[:args])
32
30
  current_action[:builder_out] = WashOut::Param.parse_builder_def(soap_config, options[:return])
33
-
34
31
  end
35
32
  end
36
-
37
33
 
38
34
  included do
39
35
  include WashOut::Configurable if defined?(WashOut::Configurable)
40
- include WashOut::Dispatcher if defined?(WashOut::Dispatcher)
36
+ include WashOut::Dispatcher if defined?(WashOut::Dispatcher)
41
37
  self.soap_actions = {}
42
38
  end
43
39
  end
@@ -1,35 +1,21 @@
1
1
  module WashoutBuilder
2
- class Type
2
+ class Type
3
+ BASIC_TYPES = %w(string integer double boolean date datetime float time int)
3
4
 
4
- BASIC_TYPES=[
5
- "string",
6
- "integer",
7
- "double",
8
- "boolean",
9
- "date",
10
- "datetime",
11
- "float",
12
- "time",
13
- "int"
14
- ]
15
-
16
- def self.get_fault_classes
5
+ def self.all_fault_classes
17
6
  faults = []
18
7
  faults << WashOut::SOAPError if defined?(WashOut::SOAPError)
19
8
  faults << WashOut::Dispatcher::SOAPError if defined?(WashOut::Dispatcher::SOAPError)
20
9
  faults << SOAPError if defined?(SOAPError)
21
- return faults
10
+ faults
22
11
  end
23
-
24
-
25
- def self.has_ancestor_fault?(fault_class)
26
- fault_class.ancestors.detect{ |fault| get_fault_classes.include?(fault) }.present?
12
+
13
+ def self.ancestor_fault?(fault_class)
14
+ fault_class.ancestors.find { |fault| all_fault_classes.include?(fault) }.present?
27
15
  end
28
-
16
+
29
17
  def self.valid_fault_class?(fault)
30
- fault.is_a?(Class) && ( has_ancestor_fault?(fault) || get_fault_classes.include?(fault))
18
+ fault.is_a?(Class) && (ancestor_fault?(fault) || all_fault_classes.include?(fault))
31
19
  end
32
-
33
-
34
20
  end
35
21
  end
@@ -1,14 +1,14 @@
1
- module WashoutBuilder # Returns the version of the currently loaded Rails as a <tt>Gem::Version</tt>
1
+ module WashoutBuilder # Returns the version of the currently loaded Rails as a <tt>Gem::Version</tt>
2
2
  def self.gem_version
3
3
  Gem::Version.new VERSION::STRING
4
4
  end
5
5
 
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 14
9
- TINY = 1
10
- PRE = nil
8
+ MINOR = 15
9
+ TINY = 0
10
+ PRE = nil
11
11
 
12
- STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
12
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
13
13
  end
14
14
  end
@@ -1,50 +1,48 @@
1
1
  require 'spec_helper'
2
2
  mock_controller do
3
- soap_action 'dispatcher_method', :args => nil, :return => nil
4
-
3
+ soap_action 'dispatcher_method', args: nil, return: nil
4
+
5
5
  def dispatcher_method
6
- #nothing
6
+ # nothing
7
7
  end
8
8
  end
9
- describe WashoutBuilder::WashoutBuilderController, :type => :controller do
9
+ describe WashoutBuilder::WashoutBuilderController, type: :controller do
10
10
  routes { WashoutBuilder::Engine.routes }
11
-
12
- let(:soap_config) { OpenStruct.new(
11
+
12
+ let(:soap_config) do
13
+ OpenStruct.new(
13
14
  camelize_wsdl: false,
14
- namespace: "/api/wsdl",
15
- ) }
16
-
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" }}
20
-
15
+ namespace: '/api/wsdl'
16
+ )
17
+ end
18
+
19
+ let(:washout_builder) { stub(root_url: "#{request.protocol}#{request.host_with_port}/") }
20
+ let(:route) { stub(defaults: { controller: 'api' }) }
21
+ let(:params) { { name: 'some_name' } }
22
+
21
23
  before(:each) do
22
24
  ApiController.stubs(:soap_config).returns(soap_config)
23
25
  controller.stubs(:washout_builder).returns(washout_builder)
24
26
  end
25
27
 
26
- it "gets the services" do
28
+ it 'gets the services' do
27
29
  get :all
28
- assigns(:services).should eq([{'service_name'=>"Api", 'namespace'=>"/api/wsdl", 'endpoint'=>"/api/action", 'documentation_url'=>"http://test.host/Api"}])
30
+ assigns(:services).should eq([{ 'service_name' => 'Api', 'namespace' => '/api/wsdl', 'endpoint' => '/api/action', 'documentation_url' => 'http://test.host/Api' }])
29
31
  end
30
-
31
- it "renders the template" do
32
+
33
+ it 'renders the template' do
32
34
  get :all
33
- response.should render_template("wash_with_html/all_services")
35
+ response.should render_template('wash_with_html/all_services')
34
36
  end
35
-
36
-
37
- it "checks it controller is a service" do
38
- controller.send(:controller_is_a_service?,"api").should_not eq nil
37
+
38
+ it 'checks it controller is a service' do
39
+ controller.send(:controller_is_a_service?, 'api').should_not eq nil
39
40
  end
40
-
41
- it "render a service documentation" do
41
+
42
+ it 'render a service documentation' do
42
43
  controller.expects(:controller_is_a_service?).with(params[:name]).returns(route)
43
44
  WashoutBuilder::Document::Generator.expects(:new).with(route.defaults[:controller])
44
45
  get :all, params
45
- response.should render_template "wash_with_html/doc"
46
+ response.should render_template 'wash_with_html/doc'
46
47
  end
47
-
48
-
49
-
50
48
  end