Class: Trestle::Table::ActionsColumn::ActionsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/trestle/table/actions_column.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column, template, instance) ⇒ ActionsBuilder

Returns a new instance of ActionsBuilder.



30
31
32
# File 'lib/trestle/table/actions_column.rb', line 30

def initialize(column, template, instance)
  @column, @template, @instance = column, template, instance
end

Instance Attribute Details

#instanceObject (readonly)

Returns the value of attribute instance.



24
25
26
# File 'lib/trestle/table/actions_column.rb', line 24

def instance
  @instance
end

Instance Method Details

#button(content, instance_or_url, options = {}) ⇒ Object Also known as: link



46
47
48
49
50
51
# File 'lib/trestle/table/actions_column.rb', line 46

def button(content, instance_or_url, options={})
  options[:class] = Array(options[:class])
  options[:class] << "btn" unless options[:class].include?("btn")

  concat admin_link_to(content, instance_or_url, options.reverse_merge(admin: table.admin))
end

#deleteObject



42
43
44
# File 'lib/trestle/table/actions_column.rb', line 42

def delete
  button(icon("fa fa-trash"), instance, action: :destroy, method: :delete, class: "btn-danger", data: { toggle: "confirm-delete", placement: "left" })
end

#editObject



38
39
40
# File 'lib/trestle/table/actions_column.rb', line 38

def edit
  button(icon("fa fa-pencil"), instance, action: :edit, class: "btn-warning")
end

#showObject



34
35
36
# File 'lib/trestle/table/actions_column.rb', line 34

def show
  button(icon("fa fa-info"), instance, action: :show, class: "btn-info")
end