Sha256: 09b26c000027c558b59bb756c3afca38615b2b56de6f6317f73603e7f1b586e5

Contents?: true

Size: 1 KB

Versions: 11

Compression:

Stored size: 1 KB

Contents

class RegistrationRepository
  
  def find(key=rand(100))
    form = RegistrationFormBuilder.new.build(key)
    registration = find_registration(key)
    return form unless registration
    update_form(form, registration)
  end
    
  def save(form)
    registration = find_registration(form[:key])
    registration = create_registration unless registration
    update_registration(registration, form)
    registration.save
    form.update(:key => registration.id)
  end

  private
  
    def find_registration(key)
      registration = Registration[:id => key] 
    end
    
    def create_registration
      registration = Registration.new
      registration
    end
    
    def update_form(form, registration)
      form.update(:name => registration.name, :address => registration.address, :email => registration.email)
      form
    end
    
    def update_registration(registration, form)
      registration.name = form[:name]
      registration.address = form[:address]
      registration.email = form[:email]
    end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
starapor-slippers-0.0.2 examples/forms/model/registration_repository.rb
starapor-slippers-0.0.3 examples/forms/model/registration_repository.rb
starapor-slippers-0.0.5 examples/forms/model/registration_repository.rb
starapor-slippers-0.0.6 examples/forms/model/registration_repository.rb
starapor-slippers-0.0.8 examples/forms/model/registration_repository.rb
starapor-slippers-0.0.9 examples/forms/model/registration_repository.rb
slippers-0.0.14 examples/forms/model/registration_repository.rb
slippers-0.0.13 examples/forms/model/registration_repository.rb
slippers-0.0.12 examples/forms/model/registration_repository.rb
slippers-0.0.11 examples/forms/model/registration_repository.rb
slippers-0.0.10 examples/forms/model/registration_repository.rb