Module: GenericFormFor::Actions::Base
  
  
  
  
  
  
  
      - Extended by:
- ActiveSupport::Autoload
      - Includes:
- I18n
    - Included in:
- ButtonAction, InputAction
    - Defined in:
- lib/generic_form_for/actions/base.rb,
 lib/generic_form_for/actions/base/icon.rb
 
Defined Under Namespace
  
    
      Modules: Icon
    
  
    
  
  Instance Attribute Summary collapse
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  Methods included from I18n
  #translate, #translate_action, #translate_hint, #translate_label, #translate_legend, #translate_placeholder
  
    Instance Attribute Details
    
      
      
      
  
  
    #builder  ⇒ Object 
  
  
  
  
    
Returns the value of attribute builder.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def builder
  @builder
end | 
 
    
      
      
      
  
  
    #method  ⇒ Object 
  
  
  
  
    
Returns the value of attribute method.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def method
  @method
end | 
 
    
      
      
      
  
  
    #object  ⇒ Object 
  
  
  
  
    
Returns the value of attribute object.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def object
  @object
end | 
 
    
      
      
      
  
  
    #object_name  ⇒ Object 
  
  
  
  
    
Returns the value of attribute object_name.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def object_name
  @object_name
end | 
 
    
      
      
      
  
  
    #options  ⇒ Object 
  
  
  
  
    
Returns the value of attribute options.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def options
  @options
end | 
 
    
      
      
      
  
  
    #template  ⇒ Object 
  
  
  
  
    
Returns the value of attribute template.
   
 
  
  
    | 
15
16
17 | # File 'lib/generic_form_for/actions/base.rb', line 15
def template
  @template
end | 
 
    
   
  
    Instance Method Details
    
      
  
  
    #action_html_options  ⇒ Object 
  
  
  
  
    | 
37
38
39 | # File 'lib/generic_form_for/actions/base.rb', line 37
def action_html_options
  default_action_options.merge(options[:html] || {}).merge(action_options)
end | 
 
    
      
  
  
    #action_options  ⇒ Object 
  
  
  
  
    | 
45
46
47 | # File 'lib/generic_form_for/actions/base.rb', line 45
def action_options
  options.except(*form_builder_options)
end | 
 
    
      
  
  
    #button_text  ⇒ Object 
  
  
  
  
    | 
53
54
55 | # File 'lib/generic_form_for/actions/base.rb', line 53
def button_text
  translate_action(options[:label] || method)
end | 
 
    
      
  
  
    #default_action_options  ⇒ Object 
  
  
  
  
    | 
41
42
43 | # File 'lib/generic_form_for/actions/base.rb', line 41
def default_action_options
  {:name => method, :type => method }
end | 
 
    
      
  
  
    | 
49
50
51 | # File 'lib/generic_form_for/actions/base.rb', line 49
def form_builder_options
  [:as, :url, :icon, :icon_html]
end | 
 
    
      
  
  
    #initialize(builder, template, object, object_name, method, options)  ⇒ Object 
  
  
  
  
    | 
17
18
19
20
21
22
23
24
25 | # File 'lib/generic_form_for/actions/base.rb', line 17
def initialize(builder, template, object, object_name, method, options)
  @output_buffer = ""
  @builder = builder
  @template = template
  @object = object
  @object_name = object_name
  @method = method
  @options = options.dup
end | 
 
    
      
  
  
    #merge_action_html_options(runtime_options, config_options)  ⇒ Object 
  
  
  
  
    | 
32
33
34
35 | # File 'lib/generic_form_for/actions/base.rb', line 32
def merge_action_html_options(runtime_options,config_options)
  runtime_options[:class] = [*runtime_options[:class], *config_options[:class]].compact.join(' ').strip
  config_options.merge(runtime_options)
end | 
 
    
      
  
  
    #to_html  ⇒ Object 
  
  
  
  
    | 
27
28
29
30 | # File 'lib/generic_form_for/actions/base.rb', line 27
def to_html
  instance_exec &builder.action_wrapper_proc
  ""
end | 
 
    
      
  
  
    #wrap_in(*args, &block)  ⇒ Object 
  
  
  
  
    | 
6
7
8
9
10
11
12
13 | # File 'lib/generic_form_for/actions/base.rb', line 6
def wrap_in(*args, &block)
  wrap_options = args.last.is_a?(Hash) ? args.pop : {}
  wrap_options[:class] = [*"#{options[:as]}-action", *wrap_options[:class], *(options[:wrapper_html]||{})[:class]].join(' ').strip
  wrap_options.merge!((options[:wrapper_html] || {}).except(:class))
  template.concat( template.content_tag(wrap_options.delete(:tag) || :div, wrap_options) do
    template.capture(&block) if block_given?
  end.html_safe)
end |