module Sofav
  module Decorator
    def create_decorator(file_name, class_name, attributes)
      @attr = ''

      attributes.each do |a|
        @attr += "#{a.name} "
      end

      create_file "app/decorator/#{file_name}_decorator.rb", <<-FILE
class #{class_name}Decorator < BaseDecorator
  include EnumerizeConcern

  collection_search do
   {name: "q", search_in: [], placeholder: '', action: '/admin/#{class_name}', fuzzy: true}
  end

  collection_attributes do
    ["#", ]
  end

  permitted_class_methods do
    {index: ["new"]}
  end

  permitted_instance_methods do
    {index: ["show", "edit", "destroy"], show: ["edit"]}
  end

  form_attributes do
    {
      profiles: %w{base_info},
      base_info: %w{#{@attr}}
    }
  end

  show_page_attributes do
    {
      profiles: %w{base_info},
      base_info: %w{#{@attr}}
    }
  end
end
      FILE
    end
  end
end