Sha256: b8b647336811a6d52f3ac8a27e28e4eec1dd72970e5236ff310e4666808a814c

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 Bytes

Contents

module Eman
  class NameGenerator

    attr_accessor :resource, :verb, :name
    attr_reader :type

    def initialize(type)
      @type = type
      @resource = ''
      @verb = ''
      @name = ''
    end

    def run
      ask_resource
      ask_verb if type == 'Service'
      generate_name
      print_name
    end

    private

      def ask_resource
        puts "What is the resource that you are dealing with? (e.g. User, Session, Order, etc.)"
        @resource = $stdin.gets.chomp
      end

      def ask_verb
        puts "What is the primary action you are performing on '#{resource}'?"
        @verb = $stdin.gets.chomp
      end

      def generate_name
        @name = ::Eman::NameFormatter.new(@resource, @verb, @type).camel_case!
      end

      def print_name
        puts "#{type} name : '#{name}'"
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eman-0.0.2 lib/eman/name_generator.rb