class Abyme::Generators::ViewGenerator
Public Instance Methods
create_partial_file()
click to toggle source
:nocov:
# File lib/generators/abyme/view/view_generator.rb, line 12 def create_partial_file create_file partial_file_path if defined?(SimpleForm) insert_fields(:simple_form) else insert_fields end end
Private Instance Methods
default_keys()
click to toggle source
# File lib/generators/abyme/view/view_generator.rb, line 61 def default_keys %( <%= f.hidden_field :_destroy %> <%= remove_associated_record content: "Remove #{association.downcase.singularize}" %> ) end
header()
click to toggle source
# File lib/generators/abyme/view/view_generator.rb, line 57 def header "<%# Partial for #{association.downcase.singularize} fields %>\n" end
insert_fields(builder = nil)
click to toggle source
:nocov:
# File lib/generators/abyme/view/view_generator.rb, line 29 def insert_fields(builder = nil) return unless File.exist? partial_file_path if builder == :simple_form insert_into_file(partial_file_path, simple_form_fields) else insert_into_file(partial_file_path, "<%# Insert #{association.downcase} fields below %>\n" << default_keys) end end
partial_file_path()
click to toggle source
:nocov:
# File lib/generators/abyme/view/view_generator.rb, line 24 def partial_file_path Rails.root.join("app", "views", "abyme", "_#{association.downcase.singularize}_fields.html.erb") end
rejected_keys(keys)
click to toggle source
# File lib/generators/abyme/view/view_generator.rb, line 53 def rejected_keys(keys) keys.reject { |key| ["id", "created_at", "updated_at"].include?(key) || key.match(/_id/) } end
simple_form_fields()
click to toggle source
:nocov:
# File lib/generators/abyme/view/view_generator.rb, line 39 def simple_form_fields inputs = if attributes.include?("all_attributes") rejected_keys(association.classify.constantize.new.attributes.keys).map do |key| "<%= f.input :#{key} %>" end else attributes.map do |key| "<%= f.input :#{key} %>" end end inputs.prepend(header) inputs.push(default_keys).join("\n") end