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.



4
5
6
7
# File 'lib/simple_cells/base_cell.rb', line 4

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



36
37
38
# File 'lib/simple_cells/base_cell.rb', line 36

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

#[]=(key, value) ⇒ Object



40
41
42
# File 'lib/simple_cells/base_cell.rb', line 40

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

#paramsObject



44
45
46
# File 'lib/simple_cells/base_cell.rb', line 44

def params
  @_simple_cell_view_context.params
end

#render(args) ⇒ Object



48
49
50
# File 'lib/simple_cells/base_cell.rb', line 48

def render(args)
  @_simple_cell_view_to_render = args
end

#render_simple_cell_view(cell_name, action_name) ⇒ Object



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

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)


52
53
54
# File 'lib/simple_cells/base_cell.rb', line 52

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

#simple_cell_argumentsObject



56
57
58
# File 'lib/simple_cells/base_cell.rb', line 56

def simple_cell_arguments
  @_simple_cell_arguments
end

#t(key) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/simple_cells/base_cell.rb', line 60

def t(key)
  if key.start_with?(".")
    I18n.t("simple_cells.#{cell_name}#{key}")
  else
    I18n.t(key)
  end
end

#view_contextObject



68
69
70
# File 'lib/simple_cells/base_cell.rb', line 68

def view_context
  @_simple_cell_view_context
end