Class: InvestorTierForm

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Model, Validator
Defined in:
app/form_models/investor_tier_form.rb

Defined Under Namespace

Modules: Validator

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#investor_accountObject

Returns the value of attribute investor_account.



5
6
7
# File 'app/form_models/investor_tier_form.rb', line 5

def 
  @investor_account
end

#memberObject

Returns the value of attribute member.



5
6
7
# File 'app/form_models/investor_tier_form.rb', line 5

def member
  @member
end

Class Method Details

.find(id) ⇒ Object



10
11
12
13
14
15
# File 'app/form_models/investor_tier_form.rb', line 10

def find(id)
  member = Member.find id
  form = self.new member.attributes.merge(member. && member..attributes || {})
  form.set_model id
  return form
end

.sanitized_params(params) ⇒ Object



27
28
29
# File 'app/form_models/investor_tier_form.rb', line 27

def sanitized_params(params)
  return params
end

.update(params) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'app/form_models/investor_tier_form.rb', line 17

def update(params)
  if params[:model_id].blank?
    raise 'Model ID not found'
  end
  form = self.new sanitized_params(params)
  form.set_model params[:model_id]
  form.persist(params)
  return form
end

Instance Method Details

#persist(params) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'app/form_models/investor_tier_form.rb', line 38

def persist(params)
  params.each do |k,v|
    setter_method = "#{k}="
    if @member.respond_to? setter_method
      @member.send setter_method, v
    end
    if @investor_account.respond_to? setter_method
      @investor_account.send setter_method, v
    end
  end
  @member.save!
  @investor_account.save!
end

#set_model(member_id) ⇒ Object



32
33
34
35
36
# File 'app/form_models/investor_tier_form.rb', line 32

def set_model(member_id)
  @model_id = (member_id.respond_to? :id)? member_id.id : member_id
  @member = Member.find member_id
  @investor_account = @member.investor.blank?? InvestorAccount.create!(member: @member) : @member.investor
end