Sha256: be62ebeb2580e4e45110dfa83f44abf9091e5e218ed02b578c90a280a060652b
Contents?: true
Size: 1.33 KB
Versions: 58
Compression:
Stored size: 1.33 KB
Contents
module Origen module CodeGenerators class Klass < Origen::CodeGenerators::Base def self.banner 'origen new class NAME' end desc <<-END This generator creates a plain old Ruby class within your application's lib directory. The NAME of the class should be given, in lower case, optionally indicating the presence of any namespacing you want it to be created under. Examples: origen new class counter # Creates app/lib/my_application/counter.rb origen new class helpers/counter # Creates app/lib/my_application/helpers/counter.rb END def validate_args if args.size > 1 || args.size == 0 msg = args.size > 1 ? 'Only one' : 'One' msg << " argument is expected by the class generator, e.g. 'origen new class counter', 'origen new class helpers/counter'" puts msg exit 1 end validate_resource_name(args.first) end def create_class_file @resource_path = args.first klass = resource_path_to_class(args.first) @namespaces = klass.split('::').map(&:underscore) @name = @namespaces.pop @namespaces = add_type_to_namespaces(@namespaces) @root_class = true file = class_name_to_lib_file(klass) template 'templates/code_generators/class.rb', file end end end end
Version data entries
58 entries across 58 versions & 1 rubygems