Sha256: 806d2793f299391b8a9fc61fbf1bcbaa9c6f3460dc7190a3b5c7518577f685af
Contents?: true
Size: 960 Bytes
Versions: 1
Compression:
Stored size: 960 Bytes
Contents
require 'active_support/core_ext/string/inflections' module EacLauncher module Stereotype class << self attr_reader :stereotypes def included(base) @stereotypes ||= [] @stereotypes << base base.extend(ClassMethods) end def git_stereotypes stereotypes.select { |c| c.name.demodulize.downcase.match('git') } end def nogit_stereotypes stereotypes - git_stereotypes end end module ClassMethods def stereotype_name name.gsub(/^.*::/, '') end def stereotype_name_in_color stereotype_name.send(color) end def publish_class sub_class('Publish') end def warp_class sub_class('Warp') end private def sub_class(sub_class_name) klass = const_get(sub_class_name) klass.is_a?(Class) ? klass : nil rescue NameError nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eac_launcher-0.6.0 | lib/eac_launcher/stereotype.rb |