Class: ApplicationController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- ApplicationController
- Defined in:
- lib/eve/trust/controller_helpers.rb
Instance Attribute Summary collapse
-
#igb ⇒ Object
readonly
Returns the value of attribute igb.
Class Method Summary collapse
Instance Method Summary collapse
- #default_template_exists?(format = response.template.template_format) ⇒ Boolean
- #deliver_trust_message(trust_message = self.class.trust_message) ⇒ Object
- #detect_igb ⇒ Object
-
#mock_methods_for_testing! ⇒ Object
a quick and dirty mocking solution.
- #prefer_trust(trust_message = self.class.trust_message) ⇒ Object
- #require_trust(trust_message = self.class.trust_message) ⇒ Object
- #set_igb ⇒ Object
- #set_igb_or_default ⇒ Object
- #template_exists?(template_name, format = response.template.template_format) ⇒ Boolean
Instance Attribute Details
#igb ⇒ Object (readonly)
Returns the value of attribute igb.
14 15 16 |
# File 'lib/eve/trust/controller_helpers.rb', line 14 def igb @igb end |
Class Method Details
.prefers_trust(message = trust_message) ⇒ Object
81 82 83 84 |
# File 'lib/eve/trust/controller_helpers.rb', line 81 def prefers_trust( = ) self. = if != before_filter :prefer_trust end |
.requires_trust(message = trust_message) ⇒ Object
76 77 78 79 |
# File 'lib/eve/trust/controller_helpers.rb', line 76 def requires_trust( = ) self. = if != before_filter :require_trust end |
Instance Method Details
#default_template_exists?(format = response.template.template_format) ⇒ Boolean
55 56 57 |
# File 'lib/eve/trust/controller_helpers.rb', line 55 def default_template_exists?(format = response.template.template_format) template_exists?(default_template_name, format) end |
#deliver_trust_message(trust_message = self.class.trust_message) ⇒ Object
32 33 34 35 |
# File 'lib/eve/trust/controller_helpers.rb', line 32 def ( = self.class.) trust_uri = "http://#{request.host}/" head 'eve.trustme' => "#{trust_uri}::#{}" end |
#detect_igb ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/eve/trust/controller_helpers.rb', line 37 def detect_igb @igb = Eve::Trust::IgbInterface.new(request) mock_methods_for_testing! if request.headers['mock_methods'] if igb.igb? set_igb_or_default end end |
#mock_methods_for_testing! ⇒ Object
a quick and dirty mocking solution. I should really make it better, but it works fine, and doesn’t interfere with anything in prod, so I’ll procrastinate a bit.
67 68 69 70 71 72 73 |
# File 'lib/eve/trust/controller_helpers.rb', line 67 def mock_methods_for_testing! #:nodoc: request.headers['mock_methods'].each do |method_name, return_value| (class << self; self; end).instance_eval do define_method(method_name) { |*not_used| return_value } end end end |
#prefer_trust(trust_message = self.class.trust_message) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/eve/trust/controller_helpers.rb', line 25 def prefer_trust( = self.class.) if igb? && !igb.trusted? () end true end |
#require_trust(trust_message = self.class.trust_message) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/eve/trust/controller_helpers.rb', line 17 def require_trust( = self.class.) if igb? && !igb.trusted? () return false end true end |
#set_igb ⇒ Object
51 52 53 |
# File 'lib/eve/trust/controller_helpers.rb', line 51 def set_igb request.format = :igb end |
#set_igb_or_default ⇒ Object
45 46 47 48 49 |
# File 'lib/eve/trust/controller_helpers.rb', line 45 def set_igb_or_default if default_template_exists? :igb set_igb end end |
#template_exists?(template_name, format = response.template.template_format) ⇒ Boolean
59 60 61 62 63 |
# File 'lib/eve/trust/controller_helpers.rb', line 59 def template_exists?(template_name, format = response.template.template_format) self.view_paths.find_template(template_name, format) rescue ActionView::MissingTemplate, Errno::ENOENT false end |