class Textacular::MigrationGenerator

Public Class Methods

new(filename, content) click to toggle source
# File lib/textacular/migration_generator.rb, line 4
def initialize(filename, content)
  @filename = filename
  @content = content
  @output_stream = nil
end

Public Instance Methods

generate_migration() click to toggle source
# File lib/textacular/migration_generator.rb, line 10
def generate_migration
  stream_output do |io|
    io.puts(@content)
  end
end
stream_output(now = Time.now.utc) { |output_stream| ... } click to toggle source
# File lib/textacular/migration_generator.rb, line 16
def stream_output(now = Time.now.utc, &block)
  if !@output_stream && defined?(Rails)
    FileUtils.mkdir_p(File.dirname(migration_file_name(now)))
    File.open(migration_file_name(now), 'w', &block)
  else
    @output_stream ||= $stdout

    yield @output_stream
  end
end

Private Instance Methods

migration_file_name(now = Time.now.utc) click to toggle source
# File lib/textacular/migration_generator.rb, line 29
def migration_file_name(now = Time.now.utc)
  File.join(Rails.root, 'db', 'migrate',"#{now.strftime('%Y%m%d%H%M%S')}_#{@filename}.rb")
end