rad_core 0.2.6 → 0.2.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.
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,8 +1,8 @@
1
- module Rad::Html::JavascriptHelper
1
+ module Rad::Html::JavascriptHelper
2
2
  def javascript_include_tag *scripts
3
3
  scripts.collect{|script|
4
4
  tag :script, '', src: "#{script}", type: "text/javascript"
5
- }.join("\n")
5
+ }.join("\n")
6
6
  end
7
7
 
8
8
  def javascript_tag script = nil, options = {}, &block
@@ -13,15 +13,15 @@ module Rad::Html::JavascriptHelper
13
13
  html = tag :script, script, {type: "text/javascript"}
14
14
  block ? concat(html) : html
15
15
  end
16
-
16
+
17
17
  def call_deferred_js
18
18
  javascript_tag 'rad.callDeferred();', defer: false
19
19
  end
20
20
 
21
21
  # Escape
22
22
  def js obj; obj.to_s.js_escape end
23
-
24
-
23
+
24
+
25
25
  def self.defer; @defer ||= true end
26
- def self.defer= value; @defer = value end
26
+ def self.defer= value; @defer = value end
27
27
  end
@@ -5,18 +5,18 @@ class Rad::Html::ModelHelper
5
5
  self.template, self.form_helper, self.model_name, self.model, self.options = template, form_helper, model_name, model, options
6
6
  end
7
7
 
8
-
9
- #
8
+
9
+ #
10
10
  # Helpers
11
- #
12
- def check_box name, options = {}
11
+ #
12
+ def check_box name, options = {}
13
13
  render_attribute name, options do |fname, value, o|
14
14
  html = form_helper.hidden_field_tag(fname, '0') + "\n"
15
15
  html += form_helper.check_box_tag fname, !!value, o
16
16
  html
17
17
  end
18
18
  end
19
-
19
+
20
20
  def file_field name, options = {}
21
21
  render_attribute name, options do |fname, value, o|
22
22
  form_helper.file_field_tag fname, o
@@ -65,7 +65,7 @@ class Rad::Html::ModelHelper
65
65
  end
66
66
 
67
67
  def error_messages
68
- merrors = errors[:base]
68
+ merrors = errors[:base]
69
69
  form_helper.error_messages merrors.to_a unless merrors.blank?
70
70
  end
71
71
 
@@ -79,11 +79,11 @@ class Rad::Html::ModelHelper
79
79
  name.must_be.a Symbol
80
80
  ferrors = errors_for(name)
81
81
 
82
- options = insert_human_readable_label name, options
82
+ options = insert_human_readable_label name, options
83
83
 
84
84
  value = value_of name
85
85
  field_name = field_name_for name, value
86
-
86
+
87
87
  if form_helper.respond_to? :field_with_errors
88
88
  field_html = block.call field_name, value, options
89
89
  unless ferrors.blank?
@@ -92,7 +92,7 @@ class Rad::Html::ModelHelper
92
92
  field_html
93
93
  end
94
94
  else
95
- options[:errors] = ferrors
95
+ options[:errors] = ferrors
96
96
  block.call field_name, value, options
97
97
  end
98
98
  end
@@ -101,17 +101,17 @@ class Rad::Html::ModelHelper
101
101
  unless @errors
102
102
  @errors = {}
103
103
  (
104
- (model.respond_to?(:errors) && model.errors) ||
105
- (model.respond_to?(:[]) && (model['errors'] || model[:errors])) ||
104
+ (model.respond_to?(:errors) && model.errors) ||
105
+ (model.respond_to?(:[]) && (model['errors'] || model[:errors])) ||
106
106
  {}
107
107
  ).each do |k, v|
108
108
  @errors[k.to_sym] = Array.wrap(v)
109
- end
109
+ end
110
110
  end
111
111
  @errors
112
112
  end
113
113
 
114
- def errors_for name
114
+ def errors_for name
115
115
  name.must_be.a Symbol
116
116
  errors[name]
117
117
  end
@@ -124,16 +124,16 @@ class Rad::Html::ModelHelper
124
124
  end
125
125
  end
126
126
 
127
- def value_of name
128
- if model.respond_to? name
127
+ def value_of name
128
+ if model.respond_to? name
129
129
  model.send name
130
130
  elsif model.respond_to? :[]
131
131
  model[name.to_sym] || model[name.to_s]
132
132
  else
133
- raise "Model not respond to :#{name} nor to :[]!"
133
+ raise "model does not respond to :#{name} nor to :[] (#{model.inspect})!"
134
134
  end
135
135
  end
136
-
136
+
137
137
  def insert_human_readable_label name, options
138
138
  unless options.include?(:label)
139
139
  options[:label] = model.t(name) if model.respond_to? :t
@@ -5,7 +5,7 @@ end
5
5
 
6
6
  %w(
7
7
  _flash
8
-
8
+
9
9
  _helpers/basic_html_helper
10
10
  _helpers/form_helper
11
11
  _helpers/model_helper
@@ -6,15 +6,15 @@ class PrepareFlash < Rad::Conveyors::Processor
6
6
  def call
7
7
  workspace.request.must_be.present
8
8
  workspace.params.must_be.defined
9
-
9
+
10
10
  previous_messages = workspace.request.session.delete 'flash'
11
11
  if previous_messages.present?
12
12
  previous_messages = JSON.load previous_messages
13
13
  rad[:flash] = Rad::Html::Flash.new workspace.params.format, previous_messages
14
14
  end
15
-
15
+
16
16
  next_processor.call
17
-
17
+
18
18
  if rad.include? :flash
19
19
  flash = rad[:flash]
20
20
  messages = flash.messages_for_next_request
@@ -1,15 +1,15 @@
1
1
  rad.html
2
2
 
3
3
  # Converts {'model[attribute]' => value} into {'model' => {'attribute' => value}}
4
- class ScopedParams < Rad::Conveyors::Processor
4
+ class ScopedParams < Rad::Conveyors::Processor
5
5
  def call
6
6
  if workspace.params?
7
7
  to_delete = []
8
8
  to_add = {}
9
9
  workspace.params.each do |name, value|
10
10
  name.to_s.scan /(.+)\[(.+)\]/ do |scope_name, name_in_scope|
11
- logger.warn "RAD owerriding :#{scope} param!" if workspace.params.include? scope_name
12
- scope = to_add[scope_name.to_sym] ||= {}
11
+ logger.warn "RAD owerriding :#{scope} param!" if workspace.params.include? scope_name
12
+ scope = to_add[scope_name.to_sym] ||= {}
13
13
  scope[name_in_scope] = value
14
14
  to_delete << name
15
15
  end
@@ -17,7 +17,7 @@ class ScopedParams < Rad::Conveyors::Processor
17
17
  workspace.params.merge! to_add
18
18
  to_delete.each{|n| workspace.params.delete n}
19
19
  end
20
-
20
+
21
21
  next_processor.call
22
22
  end
23
23
  end
@@ -1,15 +1,15 @@
1
1
  class Rad::Http
2
2
  # inject environment: :environment
3
3
  attr_reader :rack_adapter, :http_adapter
4
-
4
+
5
5
  attr_writer :browser_generated_types, :browser_generated_formats
6
6
  def browser_generated_types; @browser_generated_types ||= [] end
7
7
  def browser_generated_formats; @browser_generated_formats ||= [] end
8
-
8
+
9
9
  def initialize
10
10
  @rack_adapter, @http_adapter = Rad::Http::RackAdapter.new, Rad::Http::HttpAdapter.new
11
- end
12
-
11
+ end
12
+
13
13
  delegate :configure_rack!, :stack, :run, to: :rack_adapter
14
14
  delegate :call, to: :http_adapter
15
15
  end
@@ -7,18 +7,18 @@ class Rad::Http::HttpAdapter
7
7
  {env: env, response: Rad::Http::Response.new}.merge(workspace),
8
8
  &block
9
9
  )
10
-
10
+
11
11
  response = workspace.response.must_be.defined
12
12
  result = response.finish
13
-
13
+
14
14
  result
15
15
  end
16
16
  # synchronize_method :call
17
17
 
18
18
  # def mock_call env = {}, workspace = {}, &block
19
19
  # env['PATH_INFO'] ||= '/'
20
- # env['rack.input'] ||= StringIO.new
21
- #
20
+ # env['rack.input'] ||= StringIO.new
21
+ #
22
22
  # call env, workspace, &block
23
- # end
23
+ # end
24
24
  end
@@ -3,11 +3,11 @@ class Rad::Http::Request < Rack::Request
3
3
  # def accept
4
4
  # @env['HTTP_ACCEPT'].to_s.split(',').map { |a| a.split(';')[0].strip }
5
5
  # end
6
- #
6
+ #
7
7
  # def secure?
8
8
  # (@env['HTTP_X_FORWARDED_PROTO'] || @env['rack.url_scheme']) == 'https'
9
9
  # end
10
-
10
+
11
11
  # Returns all the \subdomains as an array, so <tt>["dev", "www"]</tt> would be
12
12
  # returned for "dev.www.rubyonrails.org". You can specify a different <tt>tld_length</tt>,
13
13
  # such as 2 to catch <tt>["www"]</tt> instead of <tt>["www", "rubyonrails"]</tt>
@@ -31,21 +31,21 @@ class Rad::Http::Request < Rack::Request
31
31
  @cookies_with_memory ||= cookies_without_memory
32
32
  end
33
33
  alias_method_chain :cookies, :memory
34
-
34
+
35
35
  def normalized_domain
36
36
  return nil unless named_host?(host)
37
37
  host.sub('www.', '').downcase
38
38
  end
39
-
39
+
40
40
  def from_browser?
41
41
  # format = workspace.params.format
42
42
  # (format.present? and !rad.http.browser_generated_formats.include?(format)) or
43
43
  content_type.present? and rad.http.browser_generated_types.include?(content_type.downcase)
44
44
  end
45
45
 
46
- #
46
+ #
47
47
  # Need this to access original, not normalized with Utils.normalize_params params
48
- #
48
+ #
49
49
  def raw_params
50
50
  post = {}
51
51
  @env['rack.input'].read.split('&').each do |tuple|
@@ -56,13 +56,13 @@ class Rad::Http::Request < Rack::Request
56
56
  rescue EOFError
57
57
  self.GET
58
58
  end
59
-
60
- class << self
59
+
60
+ class << self
61
61
  def stub url = '/'
62
62
  env = stub_environment(url)
63
63
  Rad::Http::Request.new env
64
64
  end
65
-
65
+
66
66
  def stub_environment url = nil
67
67
  env = {
68
68
  'rack.url_scheme' => 'http',
@@ -77,14 +77,14 @@ class Rad::Http::Request < Rack::Request
77
77
  # 'REQUEST_PATH' => uri.path,
78
78
  'PATH_INFO' => uri.path,
79
79
  # 'REQUEST_URI' => uri.path,
80
- 'QUERY_STRING' => uri.query
80
+ 'QUERY_STRING' => uri.query
81
81
  )
82
82
  end
83
83
  env
84
84
  end
85
85
  end
86
86
 
87
- protected
87
+ protected
88
88
  def named_host?(host)
89
89
  !(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host))
90
90
  end
@@ -1,14 +1,14 @@
1
- #
1
+ #
2
2
  # Dependencies
3
- #
3
+ #
4
4
  require 'rack'
5
5
  require 'rack/builder'
6
6
 
7
7
  class Rad::Http
8
8
  attr_accessor :host, :port, :static, :url_root, :default_format, :session
9
9
  attr_required :host, :port, :url_root, :default_format
10
- def static?; !!@static end
11
-
10
+ def static?; !!@static end
11
+
12
12
  attr_writer :public_path
13
13
  def public_path
14
14
  @public_path || "#{rad.runtime_path}/public"
@@ -16,18 +16,18 @@ class Rad::Http
16
16
  def public_path?; !!public_path end
17
17
  end
18
18
 
19
- %w(
19
+ %w(
20
20
  rack_adapter
21
21
  fixes
22
22
  ).each{|f| require "rad/http/_support/rack/#{f}"}
23
23
 
24
24
 
25
- #
25
+ #
26
26
  # Libraries
27
- #
27
+ #
28
28
  %w(
29
29
  _request
30
30
  _response
31
31
  _http_adapter
32
- _http
32
+ _http
33
33
  ).each{|f| require "rad/http/#{f}"}
@@ -1,5 +1,5 @@
1
1
  class Rad::Http::Response < Rack::Response
2
- include ::OpenConstructor
2
+ include RubyExt::OpenConstructor
3
3
 
4
4
  STATUS_MESSAGES = {
5
5
  ok: 200,
@@ -23,7 +23,7 @@ class Rad::Http::Response < Rack::Response
23
23
 
24
24
  # def to_a
25
25
  # [status, headers, body]
26
- # end
26
+ # end
27
27
 
28
28
  def body_as_string
29
29
  if @body.is_a? String
@@ -44,13 +44,13 @@ class Rad::Http::Response < Rack::Response
44
44
  def cookies
45
45
  self['Set-Cookie']
46
46
  end
47
-
47
+
48
48
  def clear
49
49
  @status = 200
50
- @header = Rack::Utils::HeaderHash.new("Content-Type" => nil)
50
+ @header = Rack::Utils::HeaderHash.new("Content-Type" => nil)
51
51
  @length = 0
52
52
  @body = []
53
- end
53
+ end
54
54
 
55
55
  def status= code_or_message
56
56
  @status = if code_or_message.is_a? Numeric
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Rack doesn't works well with ruby 1.9.2
3
3
  # there's no :each method in String anymore
4
- #
4
+ #
5
5
  class Rack::Response
6
6
  def each(&callback)
7
7
  if @body.is_a? String
@@ -19,9 +19,9 @@ class Rack::Request
19
19
  def params
20
20
  @params ||= encode_in_utf8(params_with_wrong_encoding)
21
21
  end
22
-
22
+
23
23
  # it returns "application/x-www-form-urlencoded; charset=UTF-8" instead of "application/x-www-form-urlencoded"
24
- def content_type_with_fix
24
+ def content_type_with_fix
25
25
  content_type_without_fix && content_type_without_fix.split(';').first
26
26
  end
27
27
  alias_method_chain :content_type, :fix
@@ -8,12 +8,12 @@ class Rad::Http::RackAdapter
8
8
 
9
9
  # class << self
10
10
  inject logger: :logger
11
-
11
+
12
12
  def configure_rack! builder
13
13
  raise "Rack stack not defined! Use profiles (see rad/profiles/web.rb), or use your own configuration!" if stack.empty?
14
14
  stack.each{|conf| conf.call builder}
15
15
  end
16
-
16
+
17
17
  def stack
18
18
  @rack_stack ||= []
19
19
  end
@@ -33,10 +33,10 @@ class Rad::Http::RackAdapter
33
33
  def quit!(server, handler_name)
34
34
  ## Use thins' hard #stop! if available, otherwise just #stop
35
35
  server.respond_to?(:stop!) ? server.stop! : server.stop
36
- puts "\nRad stopped" unless handler_name =~/cgi/i
36
+ puts "\nRad stopped" unless handler_name =~/cgi/i
37
37
  end
38
38
 
39
- protected
39
+ protected
40
40
  def detect_rack_handler
41
41
  return Rack::Handler.get('thin')
42
42
  SERVERS.each do |server_name|
@@ -48,6 +48,6 @@ class Rad::Http::RackAdapter
48
48
  end
49
49
  fail " Server handler (#{SERVERS.join(', ')}) not found."
50
50
  end
51
-
51
+
52
52
  # end
53
53
  end
@@ -1,19 +1,19 @@
1
1
  rad.http
2
2
 
3
3
  class EvaluateFormat < Rad::Conveyors::Processor
4
- def call
4
+ def call
5
5
  path = workspace.path.must_be.defined
6
6
  params = workspace.params.must_be.defined
7
- parts = path.split('.')
7
+ parts = path.split('.')
8
8
  if parts.size > 1
9
9
  format = parts.last
10
- logger.warn "RAD two :format parameters!" if params.include?(:format)
10
+ logger.warn "RAD two :format parameters!" if params.include?(:format)
11
11
  workspace.params = params.clone
12
12
  workspace.params.format = format
13
13
  else
14
14
  params.format ||= rad.http.default_format
15
15
  end
16
-
16
+
17
17
  next_processor.call
18
18
  end
19
19
  end