rad_core 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. data/Rakefile +2 -2
  2. data/bin/rad +20 -25
  3. data/lib/components/config.rb +1 -1
  4. data/lib/components/configurators.rb +2 -2
  5. data/lib/components/controller.rb +2 -2
  6. data/lib/components/conveyors.rb +2 -2
  7. data/lib/components/environment.rb +1 -1
  8. data/lib/components/environment.yml +28 -28
  9. data/lib/components/flash.rb +1 -1
  10. data/lib/components/html.rb +1 -1
  11. data/lib/components/http.rb +1 -1
  12. data/lib/components/http.yml +1 -1
  13. data/lib/components/logger.rb +2 -2
  14. data/lib/components/mailer.rb +2 -2
  15. data/lib/components/remote.rb +1 -1
  16. data/lib/components/router.rb +3 -3
  17. data/lib/components/template.rb +2 -2
  18. data/lib/components/web.rb +3 -3
  19. data/lib/rad.rb +1 -1
  20. data/lib/rad/_support/active_support.rb +7 -7
  21. data/lib/rad/_support/active_support/locales/ru/actionview.yml +8 -8
  22. data/lib/rad/_support/active_support/locales/ru/activesupport.yml +4 -4
  23. data/lib/rad/_support/active_support/locales/ru/datetime.yml +5 -5
  24. data/lib/rad/_support/active_support/time.rb +2 -2
  25. data/lib/rad/_support/addressable.rb +6 -6
  26. data/lib/rad/_support/class_loader.rb +1 -1
  27. data/lib/rad/_support/extensions.rb +5 -5
  28. data/lib/rad/_support/filters.rb +13 -13
  29. data/lib/rad/_support/hacks_and_fixes.rb +5 -5
  30. data/lib/rad/_support/mime.rb +4 -4
  31. data/lib/rad/_support/module.rb +11 -11
  32. data/lib/rad/_support/require.rb +5 -5
  33. data/lib/rad/_support/rson.rb +4 -4
  34. data/lib/rad/_support/string.rb +9 -9
  35. data/lib/rad/cli/helper.rb +5 -5
  36. data/lib/rad/configurators/_require.rb +2 -2
  37. data/lib/rad/configurators/abstract.rb +5 -5
  38. data/lib/rad/configurators/web.rb +8 -8
  39. data/lib/rad/controller/_abstract.rb +15 -14
  40. data/lib/rad/controller/_abstract/miscellaneous.rb +5 -5
  41. data/lib/rad/controller/_abstract/render.rb +40 -40
  42. data/lib/rad/controller/_abstract/responder.rb +1 -1
  43. data/lib/rad/controller/_context.rb +1 -1
  44. data/lib/rad/controller/_http.rb +11 -11
  45. data/lib/rad/controller/_require.rb +6 -6
  46. data/lib/rad/controller/processors/controller_caller.rb +3 -3
  47. data/lib/rad/controller/processors/controller_error_handling.rb +14 -14
  48. data/lib/rad/controller/processors/controller_logger.rb +1 -1
  49. data/lib/rad/conveyors/_conveyor.rb +9 -9
  50. data/lib/rad/conveyors/_conveyors.rb +4 -4
  51. data/lib/rad/conveyors/_params.rb +5 -5
  52. data/lib/rad/conveyors/_processor.rb +2 -2
  53. data/lib/rad/conveyors/_workspace.rb +5 -5
  54. data/lib/rad/conveyors/processors/conveyor_logger.rb +3 -3
  55. data/lib/rad/environment/_config.rb +4 -4
  56. data/lib/rad/environment/_environment.rb +10 -10
  57. data/lib/rad/environment/_files_helper.rb +5 -5
  58. data/lib/rad/environment/_logger.rb +9 -9
  59. data/lib/rad/environment/_require.rb +4 -4
  60. data/lib/rad/gems.rb +14 -14
  61. data/lib/rad/html/_flash.rb +5 -5
  62. data/lib/rad/html/_helpers/basic_html_helper.rb +12 -12
  63. data/lib/rad/html/_helpers/form_helper.rb +19 -19
  64. data/lib/rad/html/_helpers/javascript_helper.rb +6 -6
  65. data/lib/rad/html/_helpers/model_helper.rb +17 -17
  66. data/lib/rad/html/_require.rb +1 -1
  67. data/lib/rad/html/processors/prepare_flash.rb +3 -3
  68. data/lib/rad/html/processors/scoped_params.rb +4 -4
  69. data/lib/rad/http/_http.rb +4 -4
  70. data/lib/rad/http/_http_adapter.rb +5 -5
  71. data/lib/rad/http/_request.rb +11 -11
  72. data/lib/rad/http/_require.rb +8 -8
  73. data/lib/rad/http/_response.rb +5 -5
  74. data/lib/rad/http/_support/rack/fixes.rb +3 -3
  75. data/lib/rad/http/_support/rack/rack_adapter.rb +5 -5
  76. data/lib/rad/http/processors/evaluate_format.rb +4 -4
  77. data/lib/rad/http/processors/http_logger.rb +3 -3
  78. data/lib/rad/http/processors/http_writer.rb +7 -7
  79. data/lib/rad/http/processors/prepare_params.rb +5 -5
  80. data/lib/rad/mailer/_letter.rb +1 -1
  81. data/lib/rad/mailer/_mailer.rb +1 -1
  82. data/lib/rad/mailer/_mailer_controller.rb +6 -6
  83. data/lib/rad/mailer/_require.rb +1 -1
  84. data/lib/rad/mailer/processors/letter_builder.rb +6 -6
  85. data/lib/rad/profiles/mailer.rb +2 -2
  86. data/lib/rad/profiles/web.rb +13 -13
  87. data/lib/rad/remote/processors/remote_caller.rb +10 -10
  88. data/lib/rad/remote/processors/remote_logger.rb +1 -1
  89. data/lib/rad/router/_abstract_router.rb +9 -9
  90. data/lib/rad/router/_alias_router.rb +34 -34
  91. data/lib/rad/router/_basic_router.rb +12 -12
  92. data/lib/rad/router/_configurator.rb +6 -6
  93. data/lib/rad/router/_core_routing_helper.rb +4 -4
  94. data/lib/rad/router/_object_router.rb +45 -45
  95. data/lib/rad/router/_require.rb +8 -8
  96. data/lib/rad/router/_restful_router.rb +25 -25
  97. data/lib/rad/router/_router.rb +78 -78
  98. data/lib/rad/router/_simple_router.rb +5 -5
  99. data/lib/rad/router/processors/router.rb +6 -6
  100. data/lib/rad/spec/controller.rb +9 -9
  101. data/lib/rad/spec/environment.rb +7 -7
  102. data/lib/rad/spec/http.rb +2 -2
  103. data/lib/rad/spec/http_controller.rb +22 -22
  104. data/lib/rad/spec/mailer.rb +4 -4
  105. data/lib/rad/spec/remote.rb +1 -1
  106. data/lib/rad/spec/router.rb +4 -4
  107. data/lib/rad/spec/template.rb +2 -2
  108. data/lib/rad/tasks.rb +2 -2
  109. data/lib/rad/template/_context.rb +15 -15
  110. data/lib/rad/template/_relative_path_resolver.rb +1 -1
  111. data/lib/rad/template/_support/tilt.rb +17 -17
  112. data/lib/rad/template/_support/tilt_fixes.rb +3 -3
  113. data/lib/rad/template/_template.rb +47 -47
  114. data/lib/rad/web/_ajax_helper.rb +4 -4
  115. data/lib/rad/web/_controller_miscellaneous_helper.rb +5 -5
  116. data/lib/rad/web/_ensure_no_www.rb +5 -5
  117. data/lib/rad/web/_protect_from_forgery.rb +18 -18
  118. data/lib/rad/web/_require.rb +7 -7
  119. data/lib/rad/web/_router/abstract_routing_helper.rb +4 -4
  120. data/lib/rad/web/_router/controller_routing_helper.rb +15 -15
  121. data/lib/rad/web/_router/view_routing_helper.rb +12 -12
  122. data/readme.md +5 -5
  123. data/spec/controller/abstract_spec.rb +29 -29
  124. data/spec/controller/context_spec.rb +32 -32
  125. data/spec/controller/error_handling_spec.rb +31 -31
  126. data/spec/controller/helper_spec.rb +13 -13
  127. data/spec/controller/http_spec.rb +32 -32
  128. data/spec/controller/render_spec.rb +59 -59
  129. data/spec/conveyors/conveyors_spec.rb +32 -32
  130. data/spec/environment/config_spec.rb +6 -6
  131. data/spec/environment/environment_spec.rb +7 -7
  132. data/spec/environment/minimal_app_spec.rb +4 -4
  133. data/spec/environment/standard_app_spec.rb +10 -10
  134. data/spec/html/basic_html_helper_spec.rb +6 -6
  135. data/spec/html/form_helper_spec.rb +5 -5
  136. data/spec/html/javascript_helper_spec.rb +4 -4
  137. data/spec/html/model_helper_spec.rb +12 -12
  138. data/spec/html/scoped_params_spec.rb +2 -2
  139. data/spec/html/spec_helper.rb +3 -3
  140. data/spec/http/http_spec.rb +9 -9
  141. data/spec/http/miscellaneous_spec.rb +2 -2
  142. data/spec/mailer/mail_controller_spec.rb +23 -23
  143. data/spec/remote/remote_spec.rb +26 -26
  144. data/spec/router/alias_router_spec.rb +22 -22
  145. data/spec/router/basic_router_spec.rb +8 -8
  146. data/spec/router/configurator_spec.rb +4 -4
  147. data/spec/router/integration_spec.rb +17 -17
  148. data/spec/router/object_router_spec.rb +47 -47
  149. data/spec/router/persistent_params_spec.rb +18 -18
  150. data/spec/router/restful_router_spec.rb +39 -39
  151. data/spec/router/router_spec.rb +37 -37
  152. data/spec/router/routing_helper_spec.rb +18 -18
  153. data/spec/support/filters_spec.rb +11 -13
  154. data/spec/template/template_spec.rb +43 -45
  155. data/spec/template/template_spec/views/layout/content_for/content.erb +3 -1
  156. data/spec/template/template_spec/views/layout/content_for/layout.erb +1 -1
  157. data/spec/template/tilt_spec.rb +24 -24
  158. data/spec/web/basic_spec.rb +25 -25
  159. data/spec/web/controller_routing_helper_spec.rb +26 -26
  160. data/spec/web/flash_spec.rb +31 -31
  161. data/spec/web/protect_from_forgery_spec.rb +44 -44
  162. data/spec/web/spec_helper_spec.rb +16 -16
  163. data/spec/web/view_routing_helper_spec.rb +31 -31
  164. metadata +46 -49
  165. data/lib/rad/_support/callbacks.rb +0 -166
  166. data/lib/rad/_support/ruby_ext_with_active_support.rb +0 -4
  167. data/spec/support/callbacks_spec.rb +0 -157
@@ -1,7 +1,7 @@
1
1
  module Rad::Controller::Abstract::Miscellaneous
2
- #
2
+ #
3
3
  # respond_to
4
- #
4
+ #
5
5
  def respond_to &block
6
6
  @_responder.must_be.nil
7
7
  @_responder = Rad::Controller::Abstract::Responder.new
@@ -12,9 +12,9 @@ module Rad::Controller::Abstract::Miscellaneous
12
12
  end
13
13
 
14
14
  module ClassMethods
15
- #
15
+ #
16
16
  # filter_parameter_logging
17
- #
17
+ #
18
18
  inheritable_accessor :filter_parameter_logging, []
19
19
  def filter_parameter_logging_with_sugar *parameters
20
20
  if parameters.empty?
@@ -22,6 +22,6 @@ module Rad::Controller::Abstract::Miscellaneous
22
22
  else
23
23
  filter_parameter_logging_without_sugar.push *parameters.collect(&:to_s)
24
24
  end
25
- end
25
+ end
26
26
  end
27
27
  end
@@ -1,11 +1,11 @@
1
- module Rad::Controller::Abstract::Render
1
+ module Rad::Controller::Abstract::Render
2
2
  SPECIAL_FORMAT_HANDLERS = {
3
3
  json: lambda{|o| o.to_json},
4
4
  xml: lambda{|o| o.to_xml},
5
- js: lambda{|o| o},
5
+ js: lambda{|o| o},
6
6
  }
7
7
 
8
- def _layout *args
8
+ def _layout *args
9
9
  @_layout = *args unless args.empty?
10
10
  @_layout
11
11
  end
@@ -14,24 +14,24 @@ module Rad::Controller::Abstract::Render
14
14
  end
15
15
 
16
16
  def render *args
17
- options = rad.template.parse_arguments *args
18
-
19
- instance_variables = {
17
+ options = rad.template.parse_arguments *args
18
+
19
+ instance_variables = {
20
20
  controller_name: self.class.controller_name
21
21
  }
22
22
 
23
23
  instance_variable_names.each do |name|
24
24
  instance_variables[name[1..-1]] = instance_variable_get name unless name =~ /^@_/
25
25
  end
26
-
26
+
27
27
  instance_variables[:action_name] = options[:action] if options[:action]
28
-
29
- context = self.class.context_class.new(instance_variables, self)
30
-
28
+
29
+ context = self.class.context_class.new(instance_variables, self)
30
+
31
31
  options.reverse_merge! \
32
32
  context: context,
33
33
  format: params.format,
34
- exact_format: true,
34
+ exact_format: true,
35
35
  relative_path_resolver: self.class
36
36
 
37
37
  content = render_content options
@@ -41,37 +41,37 @@ module Rad::Controller::Abstract::Render
41
41
  end
42
42
 
43
43
  protected
44
- def render_content options
45
- if special_format = SPECIAL_FORMAT_HANDLERS.keys.find{|f| options.include? f}
44
+ def render_content options
45
+ if special_format = SPECIAL_FORMAT_HANDLERS.keys.find{|f| options.include? f}
46
46
  handler = SPECIAL_FORMAT_HANDLERS[special_format]
47
47
  if special_format.to_s != params.format
48
48
  raise "You trying responing with '#{special_format}' to the '#{params.format}' requested format!"
49
49
  end
50
50
  handler.call options[special_format]
51
- elsif options.include? :inline
51
+ elsif options.include? :inline
52
52
  options[:inline]
53
53
  elsif options[:template] == :nothing
54
54
  ''
55
- else
56
- if action = options.delete(:action)
57
- options[:template].must_be.blank
55
+ else
56
+ if action = options.delete(:action)
57
+ options[:template].must_be.blank
58
58
  options[:template] = action
59
-
59
+
60
60
  options.reverse_merge! \
61
61
  prefixes: [''],
62
62
  if_not_exist: '/rad_default_templates/blank_template'
63
63
  end
64
64
  options[:template].must_be.present
65
- options[:template] = options[:template].to_s
66
-
65
+ options[:template] = options[:template].to_s
66
+
67
67
  rad.template.render options
68
68
  end
69
69
  end
70
-
70
+
71
71
  def render_layout content, options
72
72
  layout = options.include?(:layout) ? options[:layout] : self._layout
73
-
74
- if layout and rad.template.exist? layout, options
73
+
74
+ if layout and rad.template.exist? layout, options
75
75
  options = options.merge template: layout
76
76
  rad.template.render options do |*args|
77
77
  if args.empty?
@@ -81,7 +81,7 @@ module Rad::Controller::Abstract::Render
81
81
  variable_name = args.first.to_s
82
82
  options[:context].content_variables[variable_name]
83
83
  end
84
- end
84
+ end
85
85
  else
86
86
  content
87
87
  end
@@ -93,11 +93,11 @@ module Rad::Controller::Abstract::Render
93
93
  controller._layout = layout
94
94
  end
95
95
  end
96
-
96
+
97
97
  def context_class
98
98
  unless @context_class
99
99
  parent_context_class = nil
100
- ancestors[1..-1].each do |anc|
100
+ ancestors[1..-1].each do |anc|
101
101
  break if parent_context_class = anc.respond_to(:context_class)
102
102
  end
103
103
  parent_context_class ||= Rad::Controller::Context
@@ -110,36 +110,36 @@ module Rad::Controller::Abstract::Render
110
110
  end
111
111
  @context_class
112
112
  end
113
-
113
+
114
114
  def find_relative_template *args
115
115
  return _find_relative_template *args unless rad.production?
116
-
116
+
117
117
  # use cache
118
- @relative_template ||= {}
119
- unless @relative_template.include? args
118
+ @relative_template ||= {}
119
+ unless @relative_template.include? args
120
120
  @relative_template[args] = _find_relative_template *args
121
121
  end
122
122
  @relative_template[args]
123
123
  end
124
-
124
+
125
125
  def _find_relative_template tname, prefixes, format, exact_format, current_dir
126
126
  tname.must_be.present
127
-
127
+
128
128
  path = nil
129
-
129
+
130
130
  # own templates
131
- ["/#{controller_name.underscore}/#{tname}", "/#{controller_name.gsub('::', '/')}/#{tname}"].each do |name|
131
+ ["/#{controller_name.underscore}/#{tname}", "/#{controller_name.gsub('::', '/')}/#{tname}"].each do |name|
132
132
  path ||= rad.template.find_file(name, prefixes, format, exact_format, rad.template.paths)
133
133
  end
134
-
135
- # own :actions templates
134
+
135
+ # own :actions templates
136
136
  ["/#{controller_name.underscore}/actions", "/#{controller_name.gsub('::', '/')}/actions"].each do |name|
137
137
  unless path
138
138
  path = rad.template.find_file(name, prefixes, format, exact_format, rad.template.paths)
139
139
  path = nil if path and (File.read(path) !~ /^.*when.+[^_a-zA-Z0-9]#{tname}[^_a-zA-Z0-9].*$/)
140
140
  end
141
141
  end
142
-
142
+
143
143
  # superclasses templates
144
144
  unless path
145
145
  parent = ancestors[1..-1].find{|a| a.respond_to?(:find_relative_template)} # and a.instance_methods.include?(action)
@@ -147,12 +147,12 @@ module Rad::Controller::Abstract::Render
147
147
  path = parent.find_relative_template(tname, prefixes, format, exact_format, current_dir)
148
148
  end
149
149
  end
150
-
150
+
151
151
  # relative template
152
- if !path and current_dir
152
+ if !path and current_dir
153
153
  path = rad.template.relative_path_resolver.find_relative_template(tname, prefixes, format, exact_format, current_dir)
154
154
  end
155
-
155
+
156
156
  return path
157
157
  end
158
158
 
@@ -5,7 +5,7 @@ class Rad::Controller::Abstract::Responder < BasicObject
5
5
  @handlers = {}
6
6
  end
7
7
 
8
- protected
8
+ protected
9
9
  def method_missing m, *args, &block
10
10
  args.must_be.empty
11
11
  handlers[m.to_s] = block || lambda{} #.must_be.defined
@@ -1,7 +1,7 @@
1
1
  class Rad::Controller::Context < Rad::Template::Context
2
2
  attr_reader :controller, :controller_name, :action_name
3
3
  delegate :params, :request, :response, to: :controller
4
-
4
+
5
5
  def initialize instance_variables, controller
6
6
  super instance_variables
7
7
  @controller = controller
@@ -5,7 +5,7 @@ module Rad::Controller::Http
5
5
  def response; rad.workspace? ? workspace.response : nil end
6
6
 
7
7
  def render *args
8
- if args.size == 1 and (status = Rad::Http::Response.decode_status_message(args.first))
8
+ if args.size == 1 and (status = Rad::Http::Response.decode_status_message(args.first))
9
9
  response.set! status: status
10
10
  throw :halt, ""
11
11
  else
@@ -17,36 +17,36 @@ module Rad::Controller::Http
17
17
  def render_content options
18
18
  if response
19
19
  response.set!(
20
- status: options[:status] || :ok,
20
+ status: options[:status] || :ok,
21
21
  content_type: options[:content_type] || Mime[params.format]
22
22
  )
23
23
  end
24
-
24
+
25
25
  if options[:location]
26
26
  redirect_to options[:location]
27
- else
27
+ else
28
28
  super
29
29
  end
30
30
  end
31
31
 
32
- module ClassMethods
32
+ module ClassMethods
33
33
  inheritable_accessor :actions_allowed_for_get_request, []
34
-
34
+
35
35
  def allow_get_for *methods
36
36
  methods = methods.first if methods.first.is_a? Array
37
-
38
- enable_protection_from_get_requests!
37
+
38
+ enable_protection_from_get_requests!
39
39
  actions_allowed_for_get_request.push *(methods.collect(&:to_sym))
40
40
  end
41
-
41
+
42
42
  private
43
43
  def enable_protection_from_get_requests!
44
44
  unless respond_to? :protect_from_get_request
45
45
  define_method :protect_from_get_request do
46
- get = !(request.post? or request.put? or request.delete?)
46
+ get = !(request.post? or request.put? or request.delete?)
47
47
  if get and !self.class.actions_allowed_for_get_request.include?(action_name)
48
48
  raise "GET request not allowed for :#{action_name} action!"
49
- end
49
+ end
50
50
  end
51
51
  before :protect_from_get_request
52
52
  end
@@ -1,19 +1,19 @@
1
- #
1
+ #
2
2
  # Libraries
3
- #
3
+ #
4
4
  class Rad::Controller
5
5
  attr_accessor :development_error_template, :production_error_template, :test_error_template
6
-
6
+
7
7
  module Abstract
8
8
  end
9
9
  end
10
10
 
11
- %w(
11
+ %w(
12
12
  _abstract/render
13
13
  _abstract/responder
14
- _abstract/miscellaneous
14
+ _abstract/miscellaneous
15
15
  _abstract
16
16
  _context
17
-
17
+
18
18
  _http
19
19
  ).each{|f| require "rad/controller/#{f}"}
@@ -1,11 +1,11 @@
1
1
  rad.controller
2
2
 
3
3
  class ControllerCaller < Rad::Conveyors::Processor
4
- def call
4
+ def call
5
5
  # prepare
6
6
  response = workspace.response.must_be.defined
7
7
  klass = workspace.class.must_be.present
8
- raise "The controller class #{klass} must be a Rad::Controller::Abstract!" unless klass.is? Rad::Controller::Abstract
8
+ raise "The controller class #{klass} must be a Rad::Controller::Abstract!" unless klass.is? Rad::Controller::Abstract
9
9
  action_name = workspace.action_name = workspace.method_name
10
10
  format = workspace.params.format
11
11
 
@@ -13,6 +13,6 @@ class ControllerCaller < Rad::Conveyors::Processor
13
13
  controller = workspace.controller = klass.new
14
14
  controller.set! params: workspace.params, action_name: workspace.action_name
15
15
  workspace.content = controller.call action_name
16
- end
16
+ end
17
17
 
18
18
  end
@@ -1,11 +1,11 @@
1
1
  rad.controller
2
2
 
3
- class ControllerErrorHandling < Rad::Conveyors::Processor
4
- def call
3
+ class ControllerErrorHandling < Rad::Conveyors::Processor
4
+ def call
5
5
  workspace.response.must_be.defined
6
-
6
+
7
7
  begin
8
- next_processor.call
8
+ next_processor.call
9
9
  rescue StandardError => e
10
10
  if rad.test?
11
11
  # e.set_backtrace e.backtrace.sfilter(Exception.filters)
@@ -16,29 +16,29 @@ class ControllerErrorHandling < Rad::Conveyors::Processor
16
16
  else
17
17
  error_shown_to_user = e
18
18
  end
19
-
20
- workspace.response.clear if workspace.response
19
+
20
+ workspace.response.clear if workspace.response
21
21
  format = workspace.params.format
22
22
  handler = SPECIAL_ERROR_HANDLERS[format] || DEFAULT_ERROR_HANDLER
23
23
  workspace.content = handler.call error_shown_to_user, format
24
-
25
-
24
+
25
+
26
26
  logger.error e
27
27
  logger.info "\n"
28
28
  end
29
- end
29
+ end
30
30
 
31
31
  SPECIAL_ERROR_HANDLERS = {
32
- 'json' => lambda{|e, format|
32
+ 'json' => lambda{|e, format|
33
33
  {error: e.message}.to_json
34
34
  }
35
35
  }
36
-
37
- DEFAULT_ERROR_HANDLER = lambda{|e, format|
36
+
37
+ DEFAULT_ERROR_HANDLER = lambda{|e, format|
38
38
  tname = rad.controller.send("#{rad.mode}_error_template")
39
39
  if tname and rad.template.exist?(tname, format: format, exact_format: true)
40
- data = rad.template.render(tname,
41
- format: format,
40
+ data = rad.template.render(tname,
41
+ format: format,
42
42
  locals: {error: e}
43
43
  )
44
44
  else
@@ -1,7 +1,7 @@
1
1
  rad.controller
2
2
 
3
3
  class ControllerLogger < Rad::Conveyors::Processor
4
- def call
4
+ def call
5
5
  if (klass = workspace.class) and (method = workspace.method_name)
6
6
  logger.info "RAD processing #{klass.name}.#{method} with #{workspace.params.inspect}"
7
7
  end
@@ -4,14 +4,14 @@ class Rad::Conveyors::Conveyor
4
4
  def definitions
5
5
  @definitions ||= []
6
6
  end
7
-
7
+
8
8
  def use processor_class, *initialization_arguments
9
9
  definitions << [processor_class, initialization_arguments]
10
10
  end
11
11
 
12
12
  def build!
13
- @chain = lambda{}
14
- definitions.reverse.collect do |klass, args|
13
+ @chain = lambda{}
14
+ definitions.reverse.collect do |klass, args|
15
15
  klass.must_be.a Class
16
16
  @chain = klass.new @chain, *args
17
17
  end
@@ -19,18 +19,18 @@ class Rad::Conveyors::Conveyor
19
19
 
20
20
  def call workspace_content = {}, &block
21
21
  build! unless @chain
22
-
22
+
23
23
  scope = (rad.custom_scopes[:cycle] || {}).clone
24
24
  rad.activate :cycle, scope do
25
25
  self.workspace = ::Rad::Conveyors::Workspace.new unless self.workspace?
26
- workspace.merge! workspace_content
27
-
26
+ workspace.merge! workspace_content
27
+
28
28
  if block
29
29
  block.call(@chain)
30
30
  else
31
31
  @chain.call
32
32
  end
33
-
33
+
34
34
  workspace
35
35
  end
36
36
  end
@@ -43,7 +43,7 @@ class Rad::Conveyors::Conveyor
43
43
  # start_time = Time.now
44
44
  # block.call
45
45
  # (workspace.trace ||= []) << [name, Time.now - start_time]
46
- # end
46
+ # end
47
47
 
48
48
  protected
49
49
  # def build_chain
@@ -64,7 +64,7 @@ class Rad::Conveyors::Conveyor
64
64
  # raise "Can't find Processor '#{name}'!" unless index
65
65
  # insert index, *Array(processors)
66
66
  # end
67
- #
67
+ #
68
68
  # def add_after key, *processors
69
69
  # index = rindex{|processor| processor.name == key or processor.class == key}
70
70
  # raise "Can't find Processor '#{name}'!" unless index