Sha256: 023f7dc19034b424ccc523239395dbee2a6cd6cb997449d0063dd1a6655a128c
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true require 'factory_bot_generator/version' module FactoryBotGenerator class Base QUOTE_AROUND_VALUE_TYPES = %i[string date datetime text].freeze EXCLUDE_COLUMNS = %w[created_at updated_at].freeze def self.render(record, options = {}) new(record, options).render end attr_reader :record, :options def initialize(record, options) @record = record @options = options end def render ActionView::Base.new(File.dirname(__FILE__)).render( file: 'factory_generator.erb', locals: { name: name, columns: columns, record: record, indent: indent } ) end private def name options[:name] || record_class.name.underscore end def columns @columns ||= record_class.column_names - exclude_columns end def indent @indent ||= columns.max_by(&:size).size end def record_class record.class end def exclude_columns @exclude_columns ||= (EXCLUDE_COLUMNS + options[:exclude].to_a.map(&:to_s)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
factory_bot_generator-0.1.0 | lib/factory_bot_generator.rb |