Module: Lockdown::Frameworks::Rails::Environment

Defined in:
lib/lockdown/frameworks/rails.rb

Overview

class block

Instance Method Summary collapse

Instance Method Details

#add_controller_method(code) ⇒ Object

cache_classes is true in production and testing, need to do an instance eval instead



83
84
85
# File 'lib/lockdown/frameworks/rails.rb', line 83

def add_controller_method(code)
  Lockdown.controller_parent.class_eval code, __FILE__,__LINE__ +1
end

#caching?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/lockdown/frameworks/rails.rb', line 77

def caching?
  ::Rails.configuration.cache_classes
end

#controller_class_name(str) ⇒ Object



87
88
89
90
91
92
93
94
# File 'lib/lockdown/frameworks/rails.rb', line 87

def controller_class_name(str)
  str = "#{str}Controller"
  if str.include?("__")
    str.split("__").collect{|p| Lockdown.camelize(p)}.join("::")
  else
    Lockdown.camelize(str)
  end
end

#controller_parentObject

cache_classes is true in production and testing, need to modify the ApplicationController



69
70
71
72
73
74
75
# File 'lib/lockdown/frameworks/rails.rb', line 69

def controller_parent
  if caching?
    ApplicationController
  else
    ActionController::Base
  end
end

#fetch_controller_class(str) ⇒ Object



96
97
98
# File 'lib/lockdown/frameworks/rails.rb', line 96

def fetch_controller_class(str)
  eval("::#{controller_class_name(str)}")
end

#init_fileObject



59
60
61
# File 'lib/lockdown/frameworks/rails.rb', line 59

def init_file
  "#{project_root}/lib/lockdown/init.rb"
end

#project_rootObject



55
56
57
# File 'lib/lockdown/frameworks/rails.rb', line 55

def project_root
  ::RAILS_ROOT
end

#view_helperObject



63
64
65
# File 'lib/lockdown/frameworks/rails.rb', line 63

def view_helper
  ::ActionView::Base 
end