create_app_files()
click to toggle source
def create_app_files
build(:app)
end
create_config_files()
click to toggle source
def create_config_files
build(:config)
end
create_images_directory()
click to toggle source
def create_images_directory
build(:images)
end
create_javascript_files()
click to toggle source
def create_javascript_files
build(:javascripts)
end
create_lib_files()
click to toggle source
def create_lib_files
build(:lib)
end
create_public_stylesheets_files()
click to toggle source
def create_public_stylesheets_files
build(:stylesheets)
end
create_root_files()
click to toggle source
def create_root_files
build(:readme)
build(:rakefile)
build(:gemspec) unless options[:skip_gemspec]
build(:license)
build(:gitignore) unless options[:skip_git]
build(:gemfile) unless options[:skip_gemfile]
end
create_script_files()
click to toggle source
def create_script_files
build(:script)
end
create_test_dummy_files()
click to toggle source
def create_test_dummy_files
return unless with_dummy_app?
create_dummy_app
end
create_test_files()
click to toggle source
def create_test_files
build(:test) unless options[:skip_test_unit]
end
finish_template()
click to toggle source
def finish_template
build(:leftovers)
end
name()
click to toggle source
def name
@name ||= begin
underscored = original_name.dup
underscored.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
underscored.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
underscored.downcase!
underscored
end
end
app_templates_dir()
click to toggle source
def app_templates_dir
"../../app/templates"
end
application_definition()
click to toggle source
def application_definition
@application_definition ||= begin
dummy_application_path = File.expand_path("#{dummy_path}/config/application.rb", destination_root)
unless options[:pretend] || !File.exists?(dummy_application_path)
contents = File.read(dummy_application_path)
contents[(contents.index(/module ([\w]+)\n(.*)class Application/))..-1]
end
end
end
camelized()
click to toggle source
def camelized
@camelized ||= name.gsub(/\W/, '_').squeeze('_').camelize
end
create_dummy_app(path = nil)
click to toggle source
def create_dummy_app(path = nil)
dummy_path(path) if path
say_status :vendor_app, dummy_path
mute do
build(:generate_test_dummy)
store_application_definition!
build(:test_dummy_config)
build(:test_dummy_clean)
build(:script, true)
end
end
dummy_path(path = nil)
click to toggle source
def dummy_path(path = nil)
@dummy_path = path if path
@dummy_path || options[:dummy_path]
end
full?()
click to toggle source
def full?
options[:full] || options[:mountable]
end
get_builder_class()
click to toggle source
def get_builder_class
defined?(::PluginBuilder) ? ::PluginBuilder : Rails::PluginBuilder
end
mountable?()
click to toggle source
def mountable?
options[:mountable]
end
mute(&block)
click to toggle source
def mute(&block)
shell.mute(&block)
end
original_name()
click to toggle source
def original_name
@original_name ||= File.basename(destination_root)
end
rakefile_test_tasks()
click to toggle source
def rakefile_test_tasks
<<-RUBY
require 'rake/testtask'
Rake::TestTask.new(:test) do |t|
t.libs << 'lib'
t.libs << 'test'
t.pattern = 'test/**/*_test.rb'
t.verbose = false
end
RUBY
end
store_application_definition!()
valid_const?()
click to toggle source
def valid_const?
if camelized =~ /^\d/
raise Error, "Invalid plugin name #{original_name}. Please give a name which does not start with numbers."
elsif RESERVED_NAMES.include?(name)
raise Error, "Invalid plugin name #{original_name}. Please give a name which does not match one of the reserved rails words."
elsif Object.const_defined?(camelized)
raise Error, "Invalid plugin name #{original_name}, constant #{camelized} is already in use. Please choose another plugin name."
end
end
with_dummy_app?()
click to toggle source
def with_dummy_app?
options[:skip_test_unit].blank? || options[:dummy_path] != 'test/dummy'
end