Class: Shiny::Plugin::PluginGeneratorBase

Inherits:
Rails::Generators::AppBase
  • Object
show all
Defined in:
lib/generators/shiny/plugin/plugin_generator_base.rb

Overview

rubocop:disable Metrics/ClassLength

Direct Known Subclasses

PluginGenerator

Instance Method Summary collapse

Instance Method Details

#nameObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/shiny/plugin/plugin_generator_base.rb', line 26

def name
  @name ||=
    begin
      # same as ActiveSupport::Inflector#underscore except not replacing '-'
      underscored = original_name.dup
      underscored.gsub!( /([A-Z]+)([A-Z][a-z])/, '\1_\2' )
      underscored.gsub!( /([a-z\d])([A-Z])/, '\1_\2' )
      underscored.downcase!

      underscored = 'shinycms' if underscored == 'shiny_cms'

      underscored
    end
end

#namespaced_nameObject



51
52
53
# File 'lib/generators/shiny/plugin/plugin_generator_base.rb', line 51

def namespaced_name
  @namespaced_name ||= name.tr( '-', '/' )
end

#underscored_nameObject



41
42
43
44
45
46
47
48
49
# File 'lib/generators/shiny/plugin/plugin_generator_base.rb', line 41

def underscored_name
  return @underscored_name if @underscored_name

  @underscored_name = original_name.underscore

  @underscored_name = 'shinycms' if @underscored_name == 'shiny_cms'

  @underscored_name
end