Class: Rounders::Generators::Base
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Rounders::Generators::Base
- Includes:
- Plugins::Pluggable, Thor::Actions
- Defined in:
- lib/rounders/generators/base.rb
Direct Known Subclasses
AppGenerator, HandlerGenerator, MatcherGenerator, PluginGenerator, ReceiverGenerator
Class Method Summary collapse
Methods included from Plugins::Pluggable
Class Method Details
.inherited(klass) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/rounders/generators/base.rb', line 38 def inherited(klass) klass.define_singleton_method(:source_root) do default_source_root end klass.define_singleton_method(:generator_name) do @generator_name ||= feature_name.split('_').first end klass.define_singleton_method(:default_source_root) do return unless base_name && generator_name return unless default_generator_root path = Pathname.new(default_generator_root).join('templates') path if path.exist? end klass.define_singleton_method(:base_name) do @base_name ||= begin base = name.to_s.split('::').first Rounders::Util.infrect(base).underscore unless base.nil? end end klass.define_singleton_method(:default_generator_root) do path = Pathname(__FILE__).dirname.join(generator_name). path if path.exist? end end |