Class: CommitFilter::Presenters::Frameworks::TwitterBootstrap::Version3Presenter

Inherits:
ApplicationPresenter
  • Object
show all
Defined in:
app/presenters/commit_filter/presenters/frameworks/twitter_bootstrap/version3_presenter.rb

Instance Method Summary collapse

Instance Method Details

#flash_messagesObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/presenters/commit_filter/presenters/frameworks/twitter_bootstrap/version3_presenter.rb', line 2

def flash_messages
  flash_messages = []
  
  flash.each do |type, message|
    flash.delete(type)
    content =  (
      :button, 
      (:span, raw('×'), 'aria-hidden' => 'true'), 
      class: 'close', 'data-dismiss' => 'alert', 'aria-label' => 'Close'
    )
    type = :success if ['notice'].include? type.to_s
    type = :danger   if ['alert'].include? type.to_s
    content += raw(message)
    text = (:div, content, class: "alert fade in alert-#{type}") 
    flash_messages << text if message
  end
  
  flash_messages.join('\n').html_safe
end

#form_field(filter, name, options = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'app/presenters/commit_filter/presenters/frameworks/twitter_bootstrap/version3_presenter.rb', line 22

def form_field(filter, name, options = {})
  options[:placeholder] = t("commit_filter.filters.form.fields.#{name}.placeholder", default: 'NULL')
  options.delete :placeholder if options[:placeholder] == 'NULL'
  hint = t("commit_filter.filters.form.fields.#{name}.hint", default: 'NULL')
  hint = nil if hint == 'NULL'
  error = (filter.errors || {})[name]
  field = options.delete(:field)
  
   :div, class: 'form-group' + (error ? ' has-error' : '') do
    content = []
    content << label_tag("filter[#{name}]", t("commit_filter.filters.form.fields.#{name}.title"), class: 'col-sm-3 control-label')
    
    content << (:div, class: 'col-sm-8') do
      controls = []
       
      if field.present?
        controls << field
      else 
        controls << text_field_tag("filter[#{name}]", filter.send(name), { class: 'form-control' }.merge(options))
      end
      
      controls << (:p, hint, class: 'help-block') if hint
      controls << (:span, error, class: 'help-inline') if error
      raw controls.join(' ')
    end
    
    raw content.join(' ')
  end
end