class Golden::SingleFormPresenter

Attributes

form[R]

include Rails.application.routes.url_helpers

Public Class Methods

form_accessors(permits) click to toggle source
# File lib/golden/objects/form/single_form_presenter.rb, line 6
def form_accessors(permits)
  accessors = permits.reject do |permit|
    %w[Symbol String].exclude? permit.class.name
  end
  attr_accessor(*accessors)
end
new(form, accessors = {}) click to toggle source
# File lib/golden/objects/form/single_form_presenter.rb, line 20
def initialize(form, accessors = {})
  assign_form_attributes(form, excludes: excluded_form_accessors)
  assign_attributes(accessors || {})
end

Public Instance Methods

assign_form_attributes(form, excludes: []) click to toggle source
# File lib/golden/objects/form/single_form_presenter.rb, line 25
def assign_form_attributes(form, excludes: [])
  @form = form
  accessors = form.class.permits.reject { |permit| excludes.include?(permit) }
  self.class.form_accessors accessors
  assign_attributes form.attributes.slice(*accessors)
end
excluded_form_accessors() click to toggle source
# File lib/golden/objects/form/single_form_presenter.rb, line 32
def excluded_form_accessors
  []
end
persisted?() click to toggle source
# File lib/golden/objects/form/single_form_presenter.rb, line 36
def persisted?
  false
end