Sha256: 53c72a73970d824b9bda3e0140a4e3ceda5355fb474c6e7b30fa30e48747c98c

Contents?: true

Size: 934 Bytes

Versions: 2

Compression:

Stored size: 934 Bytes

Contents

module FlexaLib
  class CocoonViewGenerator < Rails::Generators::NamedBase
    
    argument :nested, :type => :string, :required => true
    argument :campos, :type => :array, :required => true
  
    source_root File.expand_path('../templates', __FILE__)
    
    def initialize(args, *options)
      
      super(args, *options)
      initialize_views_variables
    end
    
    def generate_lookup
      template "cocoon_view.erb", File.join('app/views', @controller_file_path, "_#{nested.singularize.underscore}_fields.html.erb")
    end
    
  protected
    
    def initialize_views_variables
      @controller_file_path = extract_modules(name)
    end
    
    def extract_modules(name)
      modules = name.include?('/') ? name.split('/') : name.split('::')
      name    = modules.pop
      path    = modules.map { |m| m.underscore }
      file_path = (path + [name.underscore]).join('/')

      file_path
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flexa_lib-0.5.2 lib/generators/flexa_lib/cocoon_view/cocoon_view_generator.rb
flexa_lib-0.5.1 lib/generators/flexa_lib/cocoon_view/cocoon_view_generator.rb