Sha256: 39ffa4fd540cc9fd44cdcd59dd2ace52bdaf7190bec79051fa518ba30fa0413a

Contents?: true

Size: 968 Bytes

Versions: 22

Compression:

Stored size: 968 Bytes

Contents

require 'eucalypt/generate/namespaces/generate-model/generators/model'
require 'eucalypt/app'
require 'eucalypt/errors'
require 'eucalypt/helpers'

module Eucalypt
  class Generate < Thor
    include Eucalypt::Helpers
    using Colorize
    option :table, type: :boolean, default: true, desc: "Generate table migration"
    option :spec, type: :boolean, default: true, desc: "Include a model spec file"
    desc "model [NAME] *[COLUMN∶TYPE]", "Generates a model".colorize(:grey)
    def model(name, *columns)
      directory = File.expand_path('.')
      if Eucalypt.app? directory
        validation = Eucalypt::Helpers::Migration::Validation.new columns
        return if validation.any_invalid?
        model = Eucalypt::Generators::Model.new
        model.destination_root = directory
        model.generate(name: name, spec: options[:spec], table: options[:table], columns: columns)
      else
        Eucalypt::Error.wrong_directory
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
eucalypt-0.9.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.8.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.7.2 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.7.1 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.7.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.6.2 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.6.1 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.6.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.5.4 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.5.3 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.5.2 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.5.1 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.5.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.4.2 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.4.1 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.4.0 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.3.5 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.3.4 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.3.3 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb
eucalypt-0.3.2 lib/eucalypt/generate/namespaces/generate-model/cli/generate-model.rb