Sha256: b50714788c3de8afb8a430193b947ec0967602f4e59e2eb3b82ed48f31e455aa

Contents?: true

Size: 873 Bytes

Versions: 3

Compression:

Stored size: 873 Bytes

Contents

module Tableficate
  class ThemeGenerator < Rails::Generators::NamedBase
    desc('Create a Tableficate theme.')

    VIEW_PATH = 'app/views/tableficate'

    source_root File.expand_path("../../../../../#{VIEW_PATH}", __FILE__)

    argument :partial, required: false

    def create_theme
      empty_directory(VIEW_PATH)

      if partial
        if partial =~ /\//
          partial =~ /^(.*)\/(.*)$/
          extra_dirs   = $1
          partial_name = $2

          empty_directory("#{VIEW_PATH}/#{file_name}/#{extra_dirs}")

          copy_file("#{extra_dirs}/_#{partial_name}.html.erb", "#{VIEW_PATH}/#{file_name}/#{extra_dirs}/_#{partial_name}.html.erb")
        else
          copy_file("_#{partial}.html.erb", "#{VIEW_PATH}/#{file_name}/_#{partial}.html.erb")
        end
      else
        directory('', "#{VIEW_PATH}/#{file_name}")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tableficate-0.3.2 lib/generators/tableficate/theme/theme_generator.rb
tableficate-0.3.1 lib/generators/tableficate/theme/theme_generator.rb
tableficate-0.3.0 lib/generators/tableficate/theme/theme_generator.rb