Class: Hanami::CLI::Generators::App::PartContext Private
- Inherits:
-
SliceContext
- Object
- Context
- SliceContext
- Hanami::CLI::Generators::App::PartContext
- Defined in:
- lib/hanami/cli/generators/app/part_context.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #key ⇒ Object readonly private
Instance Method Summary collapse
- #camelized_name ⇒ Object private
-
#initialize(inflector, app, slice, key) ⇒ PartContext
constructor
private
A new instance of PartContext.
- #module_namespace_declaration ⇒ Object private
- #module_namespace_end ⇒ Object private
- #module_namespace_offset ⇒ Object private
- #name ⇒ Object private
- #namespaces ⇒ Object private
- #underscored_name ⇒ Object private
- #underscored_namespace ⇒ Object private
Methods inherited from SliceContext
#camelized_slice_name, #humanized_slice_name, #javascript_erb_tag, #stylesheet_erb_tag, #underscored_slice_name
Methods inherited from Context
#bundled_assets?, #bundled_views?, #camelized_app_name, #ctx, #generate_assets?, #hanami_assets_npm_package, #hanami_gem, #hanami_gem_version, #hanami_head?, #humanized_app_name, #ruby_omit_hash_values?, #underscored_app_name
Constructor Details
#initialize(inflector, app, slice, key) ⇒ PartContext
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of PartContext.
38 39 40 41 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 38 def initialize(inflector, app, slice, key) @key = key super(inflector, app, slice, nil) end |
Instance Attribute Details
#key ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
34 35 36 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 34 def key @key end |
Instance Method Details
#camelized_name ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
57 58 59 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 57 def camelized_name inflector.camelize(name) end |
#module_namespace_declaration ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
75 76 77 78 79 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 75 def module_namespace_declaration namespaces.each_with_index.map { |token, i| "#{OFFSET}#{INDENTATION * i}module #{inflector.camelize(token)}" }.join($/) end |
#module_namespace_end ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
83 84 85 86 87 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 83 def module_namespace_end namespaces.each_with_index.map { |_, i| "#{OFFSET}#{INDENTATION * i}end" }.reverse.join($/) end |
#module_namespace_offset ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
91 92 93 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 91 def module_namespace_offset "#{OFFSET}#{INDENTATION * namespaces.count}" end |
#name ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
51 52 53 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 51 def name @name ||= key.split(KEY_SEPARATOR)[-1] end |
#namespaces ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
45 46 47 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 45 def namespaces @namespaces ||= key.split(KEY_SEPARATOR)[..-2] end |
#underscored_name ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
69 70 71 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 69 def underscored_name inflector.underscore(name) end |
#underscored_namespace ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
63 64 65 |
# File 'lib/hanami/cli/generators/app/part_context.rb', line 63 def underscored_namespace namespaces.map { inflector.underscore(_1) } end |