Class: SimpleCells::BaseCell

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_cells/base_cell.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ BaseCell

Returns a new instance of BaseCell.



2
3
4
5
# File 'lib/simple_cells/base_cell.rb', line 2

def initialize(args)
  @_simple_cell_arguments = args.fetch(:simple_cell_arguments)
  @_simple_cell_view_context = args.fetch(:view_context)
end

Instance Method Details

#[](key) ⇒ Object



34
35
36
# File 'lib/simple_cells/base_cell.rb', line 34

def [](key)
  @_simple_cell_arguments.fetch(key)
end

#[]=(key, value) ⇒ Object



38
39
40
# File 'lib/simple_cells/base_cell.rb', line 38

def []=(key, value)
  @_simple_cell_arguments[key] = value
end

#render(args) ⇒ Object



42
43
44
# File 'lib/simple_cells/base_cell.rb', line 42

def render(args)
  @_simple_cell_view_to_render = args
end

#render_simple_cell_view(cell_name, action_name) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/simple_cells/base_cell.rb', line 7

def render_simple_cell_view(cell_name, action_name)
  @_simple_cell_name = cell_name
  @_simple_cell_action_name = action_name

  if @_simple_cell_view_to_render
    if @_simple_cell_view_to_render[:view]
      cell_to_render = {
        file: File.join("/", "simple_cells", cell_name.to_s, @_simple_cell_view_to_render[:view]).to_s
      }
    else
      cell_to_render = @_simple_cell_view_to_render
    end
  else
    cell_to_render = {
      file: File.join("/", "simple_cells", cell_name.to_s, action_name.to_s).to_s
    }
  end

  @_simple_cell_view_context.render(
    {
      locals: {
        simple_cell: self
      }
    }.merge(cell_to_render)
  )
end

#simple_cell_argument?(argument_name) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/simple_cells/base_cell.rb', line 46

def simple_cell_argument?(argument_name)
  @_simple_cell_arguments.key?(argument_name)
end

#simple_cell_argumentsObject



50
51
52
# File 'lib/simple_cells/base_cell.rb', line 50

def simple_cell_arguments
  @_simple_cell_arguments
end

#view_contextObject



54
55
56
# File 'lib/simple_cells/base_cell.rb', line 54

def view_context
  @_simple_cell_view_context
end