class MockleyCrew::Data

Attributes

builders[RW]

Public Class Methods

new(params = []) click to toggle source
# File lib/mockley_crew/data.rb, line 5
def initialize params = []
  raise Errors::InvalidDataError unless params.is_a? Array

  params.each do |p|
    raise Errors::InvalidDataError unless p.is_a? Hash
    
    builders.push FactoryBuilder.new(p)
  end
end

Public Instance Methods

as_json() click to toggle source
# File lib/mockley_crew/data.rb, line 32
def as_json
  @builders.map do |b|
    h = {
      "factory" => b.factory,
      "options" => b.options
    }
    unless b.errors.blank?
      h["errors"] = b.errors
    end
    h
  end
end
save() click to toggle source
# File lib/mockley_crew/data.rb, line 19
def save
  success = true
  ActiveRecord::Base.transaction do
    @builders.each do |b|
      unless b.save
        success = false
      end
    end
    raise ActiveRecord::Rollback unless success
  end
  return success
end