Sha256: 28857de7802a48b527f77e5c86b7aedf926e0488e2ee48ada1c0c173db58a712
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 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 TEMPLATE_PATH = File.join(File.dirname(__FILE__), 'factory_bot_generator.erb') TEMPLATE = File.read(TEMPLATE_PATH) def self.render(record, options = {}) new(record, options).render end def initialize(record, options) @record = record @options = options end attr_reader :record, :options def render ERB.new(TEMPLATE, trim_mode: '-').result(binding) 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 + 1 end def record_class @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.3.0 | lib/factory_bot_generator.rb |