Sha256: b0e194d1a681cb6366ceb2686ddc96bfb1dac2745bafc12136dab9b3eca8fc1f

Contents?: true

Size: 840 Bytes

Versions: 2

Compression:

Stored size: 840 Bytes

Contents

module WebammToRails
  module Sources
    module Migrations
      class UuidDefinition
        class Presenter
          def initialize(waml_definition:)
            @waml_definition = waml_definition
          end

          def file_name(migration_timestamp)
            "db/migrate/#{migration_timestamp}_enable_uuid.rb"
          end

          def render
            template_path = File.expand_path('template.erb', __dir__)
            template_content = File.read(template_path)
            raw_content = ERB.new(template_content, trim_mode: '-').result(instance_eval { binding })

            ::WebammToRails::Utils::FormatCode.call(raw_content)
          end

          def render?
            @waml_definition.database.schema.any? { |table| table.options&.use_uuid.present? }
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webamm_to_rails-7.0.1 lib/webamm_to_rails/sources/migrations/uuid_definition/presenter.rb
webamm_to_rails-7.0.0 lib/webamm_to_rails/sources/migrations/uuid_definition/presenter.rb