class Datatable::Generator

Attributes

name[RW]

Public Class Methods

new(name) click to toggle source
# File lib/datatable/generator.rb, line 5
def initialize(name)
  @name = name
  @dirname = 'app/datatables'
end

Public Instance Methods

templates() click to toggle source
# File lib/datatable/generator.rb, line 18
def templates
  Datatable.templates
end
up() click to toggle source
# File lib/datatable/generator.rb, line 10
def up
  # The first is to create folder in case it does not exist.
  create_folder
  create_principal
  create_file
  copy_datatable_js
end

Private Instance Methods

copy_datatable_js() click to toggle source
# File lib/datatable/generator.rb, line 47
def copy_datatable_js
  result = generate_template('datatable.coffee')
  puts result
  File.open("app/assets/javascripts/datatable.coffee", 'w') { |file| file.write(result) }
  puts "Created new file datatable.coffee in folder :app/assets/stylesheets/"
end
create_file() click to toggle source
# File lib/datatable/generator.rb, line 36
def create_file
  if File.exist?("#{@dirname}/#{@name.downcase}_datatable.rb")
    puts "Ya existe el archivo: #{@dirname}/#{@name.downcase}_datatable.rb, intenta con otro nombre"
    return
  end
  result = generate_template('template_datatable.erb')
  puts result
  File.open("#{@dirname}/#{@name.downcase}_datatable.rb", 'w') { |file| file.write(result) }
  puts "Created new file #{@name}_datatable.rb in folder datatables"
end
create_folder() click to toggle source
# File lib/datatable/generator.rb, line 24
def create_folder
  FileUtils.mkdir_p(@dirname) unless File.directory?(@dirname)
end
create_principal() click to toggle source
# File lib/datatable/generator.rb, line 28
def create_principal
  return if File.exist?("#{@dirname}/application_datatable.rb")
  result = generate_template('application_datatable.erb')
  puts result
  File.open("#{@dirname}/application_datatable.rb", 'w') { |file| file.write(result) }
  puts "Created principal class application_datatable.rb"
end
generate_template(name_template) click to toggle source
# File lib/datatable/generator.rb, line 54
def generate_template name_template
  ERB.new(File.read("#{templates}/#{name_template}"), nil, '-').result(binding)
end