Sha256: a2739cfcf12e25994b53834774edc56cdabd99b3d60f1a6c735acff33167f80a

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

require 'generators/datalab'

module Datalab
  module Generators
    class LayoutGenerator < Base
      argument :layout_name, :type => :string, :default => 'application', :banner => 'layout_name'

      class_option :admin, :desc => 'Generate basic admin layout elements.', :type => :boolean
      
      class_option :public, :desc => 'Generate basic public layout elements.', :type => :boolean

      def create_layout
        if options.admin?
          template 'admin.html.erb', "app/views/layouts/#{file_name}.html.erb"
          copy_file 'admin.css.scss', "app/assets/stylesheets/#{file_name}.css.scss"
          copy_file 'admin_helper.rb', 'app/helpers/admin_helper.rb'
        elsif options.public?
          template 'public.html.erb', "app/views/layouts/#{file_name}.html.erb"
          copy_file 'public.css.scss', "app/assets/stylesheets/#{file_name}.css.scss"
          copy_file 'public_helper.rb', 'app/helpers/public_helper.rb'
        else
          template 'layout.html.erb', "app/views/layouts/#{file_name}.html.erb"
          copy_file 'stylesheet.css.scss', "app/assets/stylesheets/#{file_name}.css.scss"
          copy_file 'layout_helper.rb', 'app/helpers/layout_helper.rb'
        end
      end

      private

      def file_name
        layout_name.underscore
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
datalab-generators-0.1.0 lib/generators/datalab/layout/layout_generator.rb