Sha256: aca4340a4827bedf1f98563e9512d1b1d21be15d69636456c73c502da12d5576

Contents?: true

Size: 932 Bytes

Versions: 1

Compression:

Stored size: 932 Bytes

Contents

class BootstrapBuilders::Button
  def initialize(args)
    @title = args.fetch(:title)
    @mini = args[:mini]
    @class = args[:class]
    @url = args.fetch(:url)
    @args = args
    @context = args.fetch(:context)
    @icon = args.fetch(:icon)
  end

  def html
    classes = ["btn", "btn-default"]
    classes << "btn-xs" if @mini

    if @class.is_a?(String)
      classes += @class.split(/\s+/)
    elsif @class.is_a?(Array)
      classes += @class
    end

    @context.link_to @url, class: classes, data: @args[:data], method: @args[:method], remote: @args[:remote] do
      html = ""
      html << @context.content_tag(:i, class: ["fa", "fa-#{@icon}"])
      html << " #{@title}"
      html.html_safe
    end
  end

private

  def model_from_url(url)
    if url.is_a?(Array) && url.last.is_a?(ActiveRecord::Base)
      url.last
    elsif url.is_a?(ActiveRecord::Base)
      url
    else
      return nil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bootstrap_builders-0.0.1 lib/bootstrap_helpers/button.rb