Sha256: 68c53dc2754ee60ffae0d31bced78343e9fe7981b926ea62497d69ab4be7c888

Contents?: true

Size: 656 Bytes

Versions: 3

Compression:

Stored size: 656 Bytes

Contents

module PlanB
  class TemplateCreator
    def initialize itinerary, itinerary_params
      @itinerary = itinerary
      @templates = []
      @itinerary_params = extract_templates(itinerary_params)
    end

    def save
      @itinerary.update_attributes(@itinerary_params) && create_templates
    end

    def extract_templates itinerary_params
      @templates << itinerary_params.delete(:hiking_templates)
      itinerary_params
    end

    def create_templates
      @itinerary.itinerary_templates.destroy_all
      @templates.each do |t|
        @itinerary.itinerary_templates.create(template: PlanB::HikingTemplate.new(t))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
plan_b-0.0.2.pre1 app/models/plan_b/template_creator.rb
plan_b-0.0.1.pre1 app/models/plan_b/template_creator.rb
plan_b-0.0.1.pre app/models/plan_b/template_creator.rb