class PeekAView::View
Public Class Methods
new(name, common_block = nil)
click to toggle source
# File lib/peek_a_view/view.rb, line 3 def initialize(name, common_block = nil) @name = name self.params = nil # just to initialize params @blocks = [] record(common_block) if common_block end
Public Instance Methods
fixture(name)
click to toggle source
# File lib/peek_a_view/view.rb, line 32 def fixture(name) fixture_dir = Rails.root + 'spec/fixtures/peek_a_view' # TODO config file = File.join(fixture_dir, name) File.read(file) end
layout()
click to toggle source
# File lib/peek_a_view/view.rb, line 18 def layout 'application' # TODO be smarter end
params=(new_params)
click to toggle source
Calls superclass method
# File lib/peek_a_view/view.rb, line 22 def params=(new_params) *controller, action = template.split('/') augmented = (new_params || { }).reverse_merge( controller: controller.join('/'), action: action ) super(augmented) augmented end
record(block)
click to toggle source
# File lib/peek_a_view/view.rb, line 10 def record(block) @blocks << block end
template()
click to toggle source
Calls superclass method
# File lib/peek_a_view/view.rb, line 14 def template super || @name end
variables(options = {})
click to toggle source
# File lib/peek_a_view/view.rb, line 38 def variables(options = {}) @blocks.flatten.each { |block| block.call(self, options) } self end