class MegaBar::MegaBarModelsGenerator

Public Instance Methods

create_controller_file() click to toggle source

in generators, all public methods are run. Weird, huh?

# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 11
def create_controller_file
  @@notices << "You will have to copy your controller manually over to the megabar gem" if gem_path == '' && modyule == 'MegaBar'
  template 'generic_controller.rb', "#{gem_path}#{the_controller_file_path}#{the_controller_file_name}.rb"
end
create_controller_spec_file() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 30
def create_controller_spec_file
  template 'generic_controller_spec.rb', "#{gem_path}#{the_controller_spec_file_path}#{the_controller_spec_file_name}.rb"
  @@notices <<  "You will have to copy the spec file yourself manually to the megabar repo's spec/controllers directory" if gem_path == '' && modyule == 'MegaBar'
end
create_factory() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 35
def create_factory
  @@notices <<  "You will have to copy the factory file yourself manually to the megabar repo's spec/internal/factories directory" if gem_path == '' && modyule == 'MegaBar'
  template 'generic_factory.rb', "#{gem_path}#{the_factory_file_path}#{the_model_file_name}.rb"
end
create_model_file() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 15
def create_model_file
  template 'generic_model.rb', "#{gem_path}#{the_model_file_path}#{the_model_file_name}.rb"
  @@notices <<  "You will have to copy your model files manually over to the megabar gem" if gem_path == '' && modyule == 'MegaBar'
  template "generic_tmp_model.rb", "#{gem_path}#{the_model_file_path}tmp_#{the_model_file_name}.rb" if modyule == 'MegaBar'
end
generate_migration() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 20
def generate_migration
  if the_module_name
    generate 'migration create_' + the_table_name + ' created_at:datetime updated_at:datetime'
    generate 'migration create_' + 'mega_bar_tmp_' + classname.underscore.downcase.pluralize + ' created_at:datetime updated_at:datetime' if modyule == 'MegaBar'
    @@notices <<  "You will have to copy your Migrations manually over to the megabar gem"
  else
    generate 'migration create_' + the_table_name + ' created_at:datetime updated_at:datetime'
  end
end
write_notices() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 40
def write_notices
  # todo .. take @@notices and write it to a db? or a file? hmm..
end

Private Instance Methods

gem_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 47
def gem_path
  return 'spec/internal/' if Rails.env == 'test'
  File.directory?(Rails.root + '../megabar/')  && modyule == 'MegaBar' ? Rails.root + '../megabar/' : ''
end
the_controller_file_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 53
def the_controller_file_name
  classname.pluralize.underscore + "_controller"
end
the_controller_file_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 57
def the_controller_file_path
  if the_module_name
    'app/controllers/' + the_module_path + '/'
  else
    'app/controllers/'
  end
end
the_controller_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 65
def the_controller_name
  classname.pluralize + 'Controller'
end
the_controller_spec_file_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 69
def the_controller_spec_file_name
  classname.pluralize.underscore + "_controller_spec"
end
the_controller_spec_file_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 73
def the_controller_spec_file_path
  if the_module_name && gem_path == ''
    'spec/controllers/' + the_module_path + '/'
  else
    'spec/controllers/'
  end
end
the_factory_file_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 81
def the_factory_file_path
  if the_module_name == 'MegaBar'
    'spec/internal/factories/'
  else
    'spec/factories/'
  end
end
the_model_file_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 89
def the_model_file_name
  classname.to_s.singularize.underscore
end
the_model_file_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 93
def the_model_file_path
  if the_module_name
    'app/models/' + the_module_path + '/'
  else
    'app/models/'
  end
end
the_module_array() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 101
def the_module_array
  the_module_name.nil? || the_module_name.empty? ? [] : the_module_name.split('::')
end
the_module_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 105
def the_module_name
  modyule == 'no_mod' ? nil : modyule
end
the_module_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 109
def the_module_path
  return '' if modyule == 'no_mod'
  the_module_name.split('::').map { |m| m.underscore }.join('/')
end
the_route_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 114
def the_route_name
  classname.pluralize.underscore
end
the_route_path() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 118
def the_route_path
   the_route_name.include?('_') ? the_route_name.gsub('_', '-') : the_route_name
end
the_table_name() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 122
def the_table_name
  prefix = the_module_name.nil? || the_module_name.empty? ? '' : the_module_name.split('::').map { | m | m.underscore }.join('_') + '_'
  prefix + classname.pluralize.underscore
end
use_route() click to toggle source
# File lib/generators/mega_bar/mega_bar_models/mega_bar_models_generator.rb, line 127
def use_route
  return '' if the_module_name.nil? || the_module_name.empty?
  the_module_name.split('::').size == 1 ? 'use_route: ' + the_module_name + ', ' : '' #else might could be improved for other modules.
end