Sha256: c5d2828797d0194a18d4e6d3472bff16d801e8752aa46ffb7f8bb8ab357e64ee

Contents?: true

Size: 1.7 KB

Versions: 2

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

require 'rails/generators'
require 'rails/generators/migration'

require_relative 'templates/tochka_cyclops_error_model_template'
require_relative 'templates/tochka_cyclops_request_model_template'
require_relative 'templates/tochka_cyclops_response_model_template'
require_relative 'templates/tochka_cyclops_errors_migration_template'
require_relative 'templates/tochka_cyclops_requests_migration_template'
require_relative 'templates/tochka_cyclops_responses_migration_template'

module TochkaCyclopsApi
  module Generators
    # Class for core generators
    class ModelsGenerator < Rails::Generators::Base
      include Rails::Generators::Migration

      source_root File.expand_path('templates', __dir__)

      def create_model_file
        require 'active_record'

        template 'tochka_cyclops_error_model_template.rb', 'app/models/tochka_cyclops_error.rb'
        template 'tochka_cyclops_request_model_template.rb', 'app/models/tochka_cyclops_request.rb'
        template 'tochka_cyclops_response_model_template.rb', 'app/models/tochka_cyclops_response.rb'
      end

      def create_migration_file
        migration_template 'tochka_cyclops_errors_migration_template.rb',
                           'db/migrate/create_tochka_cyclops_errors.rb'
        migration_template 'tochka_cyclops_requests_migration_template.rb',
                           'db/migrate/create_tochka_cyclops_requests.rb'
        migration_template 'tochka_cyclops_responses_migration_template.rb',
                           'db/migrate/create_tochka_cyclops_responses.rb'
      end

      def self.next_migration_number(_path)
        sleep(1)
        Time.now.utc.strftime('%Y%m%d%H%M%S')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tochka_cyclops_api-0.4.0 lib/tochka_cyclops_api/generators/models_generator.rb
tochka_cyclops_api-0.3.0 lib/tochka_cyclops_api/generators/models_generator.rb