Class: ViewSpec::Preview

Inherits:
Object
  • Object
show all
Defined in:
lib/view_spec/preview.rb

Direct Known Subclasses

GroupPreview, ScenarioPreview

Instance Method Summary collapse

Constructor Details

#initialize(entry, params: {}, assigns: {}, layout: false, identifier: nil) ⇒ Preview

Returns a new instance of Preview.



3
4
5
6
7
8
# File 'lib/view_spec/preview.rb', line 3

def initialize(entry, params: {}, assigns: {}, layout: false, identifier: nil)
  @entry = entry
  @params = params
  @assigns = assigns
  @layout = layout
end

Instance Method Details

#call(view_context = nil) ⇒ Object



22
23
24
# File 'lib/view_spec/preview.rb', line 22

def call(view_context = nil)
  raise "ViewSpec::Preview subclasses must implement the `call` method"
end

#layoutObject



30
31
32
# File 'lib/view_spec/preview.rb', line 30

def layout
  @entry.determine_layout(@layout)
end

#params(validate: false) ⇒ Object



26
27
28
# File 'lib/view_spec/preview.rb', line 26

def params(validate: false)
  @entry.resolve_params(@params)
end

#render_in(view_context) ⇒ Object



18
19
20
# File 'lib/view_spec/preview.rb', line 18

def render_in(view_context)
  call(view_context)
end

#to_path(params: @params.to_h) ⇒ Object



10
11
12
# File 'lib/view_spec/preview.rb', line 10

def to_path(params: @params.to_h)
  url_helpers.view_spec_preview_path(@entry.spec, @entry, {params:})
end

#to_url(params: @params.to_h) ⇒ Object



14
15
16
# File 'lib/view_spec/preview.rb', line 14

def to_url(params: @params.to_h)
  url_helpers.view_spec_preview_url(@entry.spec, @entry, {params:})
end