rails3_assist 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +21 -0
- data/.rspec +1 -0
- data/LICENSE +20 -0
- data/README.markdown +63 -0
- data/Rakefile +21 -0
- data/VERSION +1 -0
- data/lib/rails3_assist/app/file_names.rb +34 -0
- data/lib/rails3_assist/app/methods/crud.rb +31 -0
- data/lib/rails3_assist/app/methods/new_content.rb +11 -0
- data/lib/rails3_assist/app/rails_dirs.rb +105 -0
- data/lib/rails3_assist/app/rails_files.rb +128 -0
- data/lib/rails3_assist/app.rb +47 -0
- data/lib/rails3_assist/artifact/markers.rb +39 -0
- data/lib/rails3_assist/artifact/migration.rb +24 -0
- data/lib/rails3_assist/artifact/orm.rb +136 -0
- data/lib/rails3_assist/artifact/view.rb +67 -0
- data/lib/rails3_assist/base/class_methods.rb +11 -0
- data/lib/rails3_assist/base/create.rb +48 -0
- data/lib/rails3_assist/base/file_name.rb +17 -0
- data/lib/rails3_assist/base/insert.rb +53 -0
- data/lib/rails3_assist/base/read.rb +19 -0
- data/lib/rails3_assist/base/remove.rb +14 -0
- data/lib/rails3_assist/base.rb +49 -0
- data/lib/rails3_assist/extensions/core_ext.rb +29 -0
- data/lib/rails3_assist/rspec/macro.rb +34 -0
- data/lib/rails3_assist.rb +21 -0
- data/rails3_assist.gemspec +107 -0
- data/rails_generator.log +14 -0
- data/spec/load_spec.rb +1 -0
- data/spec/rails3_assist/app/app_dirs_spec.rb +23 -0
- data/spec/rails3_assist/app/app_file_names_spec.rb +0 -0
- data/spec/rails3_assist/app/app_files_spec.rb +0 -0
- data/spec/rails3_assist/artifact/controller/controller_spec.rb +33 -0
- data/spec/rails3_assist/artifact/helper/helper_spec.rb +33 -0
- data/spec/rails3_assist/artifact/mailer/mailer_spec.rb +33 -0
- data/spec/rails3_assist/artifact/migration/migration_spec.rb +34 -0
- data/spec/rails3_assist/artifact/model/model_spec.rb +34 -0
- data/spec/rails3_assist/artifact/observer/observer_spec.rb +34 -0
- data/spec/rails3_assist/artifact/orm/active_record_spec.rb +33 -0
- data/spec/rails3_assist/artifact/orm/mongo_mapper_spec.rb +63 -0
- data/spec/rails3_assist/artifact/orm/mongoid_spec.rb +63 -0
- data/spec/rails3_assist/artifact/view_spec/view_spec.rb +32 -0
- data/spec/spec_helper.rb +43 -0
- metadata +168 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module View
|
3
|
+
include Rails::Assist::BaseHelper
|
4
|
+
|
5
|
+
# CREATE
|
6
|
+
def create_view name, options = {}, &block
|
7
|
+
file = view_file_name(name, options[:action], options[:type])
|
8
|
+
dir = File.dirname(file)
|
9
|
+
FileUtils.mkdir_p dir if !File.directory?(dir)
|
10
|
+
content = options[:content]
|
11
|
+
# set content to block
|
12
|
+
content ||= yield if block
|
13
|
+
|
14
|
+
# abort if no content given
|
15
|
+
return if !content
|
16
|
+
|
17
|
+
# write file content of view
|
18
|
+
File.open(file, 'w') do |f|
|
19
|
+
f.puts content
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# READ
|
24
|
+
def read_view(name, options = {}, &block)
|
25
|
+
file_name = view_file_name(name, options[:action], options[:type])
|
26
|
+
debug "reading from: #{file_name}"
|
27
|
+
file = File.new(file_name)
|
28
|
+
raise "The view file: #{file} could not be found" if !file
|
29
|
+
begin
|
30
|
+
content = file.read
|
31
|
+
debug "read content: #{content}"
|
32
|
+
yield content if block
|
33
|
+
content
|
34
|
+
rescue
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
# UPDATE
|
41
|
+
def insert_into_view(name, options = {}, &block)
|
42
|
+
debug "insert_into_view: #{options}"
|
43
|
+
file = view_file_name(name, options[:action], options[:type])
|
44
|
+
debug "file insertion (view): #{file}"
|
45
|
+
marker = options[:before] || options[:after]
|
46
|
+
file_insertion(file, marker, options, &block) if marker
|
47
|
+
end
|
48
|
+
|
49
|
+
# DELETE
|
50
|
+
def remove_view name, action=nil, type=nil
|
51
|
+
file = view_file_name(name, action, type)
|
52
|
+
FileUtils.rm_f(file) if File.exist?(file)
|
53
|
+
end
|
54
|
+
|
55
|
+
def get_action action
|
56
|
+
action || 'show'
|
57
|
+
end
|
58
|
+
|
59
|
+
def get_type type
|
60
|
+
type || 'html.erb'
|
61
|
+
end
|
62
|
+
|
63
|
+
include FileName
|
64
|
+
|
65
|
+
aliases_for :view
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
def new_artifact_content name, type, content=nil, &block
|
4
|
+
content ||= yield if block
|
5
|
+
%Q{class #{marker(name, type)}
|
6
|
+
#{content}
|
7
|
+
end}
|
8
|
+
end
|
9
|
+
|
10
|
+
# CREATE
|
11
|
+
def create_artifact name, options={}, &block
|
12
|
+
type = get_type(options)
|
13
|
+
|
14
|
+
file = make_file_name name, type
|
15
|
+
return if File.exist?(file)
|
16
|
+
|
17
|
+
debug "create #{type}: #{name}, opt: #{options}"
|
18
|
+
debug "file: #{file}"
|
19
|
+
|
20
|
+
# make dir
|
21
|
+
dir = File.dirname(file)
|
22
|
+
FileUtils.mkdir_p dir if !File.directory?(dir)
|
23
|
+
|
24
|
+
content = options[:content]
|
25
|
+
content ||= yield if block
|
26
|
+
|
27
|
+
content_method = :"new_#{type}_content"
|
28
|
+
debug "inner content: #{content}, to inject using ##{content_method}"
|
29
|
+
|
30
|
+
raise "Content method #{content_method} not found #{orm_notify}" if !respond_to?(content_method)
|
31
|
+
|
32
|
+
insert_content = if type == :model
|
33
|
+
send content_method, name, options.merge(:content => content), &block
|
34
|
+
else
|
35
|
+
send content_method, name, content, &block
|
36
|
+
end
|
37
|
+
|
38
|
+
debug "content to insert: #{insert_content}"
|
39
|
+
|
40
|
+
return if insert_content.blank?
|
41
|
+
|
42
|
+
File.open(file, 'w') do |f|
|
43
|
+
f.puts insert_content
|
44
|
+
end
|
45
|
+
debug "file created and content inserted"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
include Rails::Assist::ArtifactPath
|
4
|
+
|
5
|
+
def make_file_name name, type, options={}
|
6
|
+
send :"#{type}_file_name", name, options
|
7
|
+
end
|
8
|
+
|
9
|
+
def existing_file_name name, type
|
10
|
+
# first try finder method
|
11
|
+
finder_method = :"find_#{type}"
|
12
|
+
found = send finder_method, name if respond_to? finder_method
|
13
|
+
# default
|
14
|
+
make_file_name(name, type) if !found
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
# UPDATE
|
4
|
+
def insert_content(name, options={}, &block)
|
5
|
+
type = get_type(options)
|
6
|
+
file = existing_file_name(name, type)
|
7
|
+
x_marker = marker(name, type, options)
|
8
|
+
res = file_insertion file, x_marker, options, &block
|
9
|
+
if !res
|
10
|
+
# try with :embedded option if default doesn't work
|
11
|
+
x2_marker = marker(name, type, options.merge(:model_type => :embedded))
|
12
|
+
file_insertion file, x2_marker, options, &block
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
protected
|
17
|
+
|
18
|
+
def file_insertion(file_name, marker, options={}, &block)
|
19
|
+
return nil if !marker
|
20
|
+
|
21
|
+
file = File.new(file_name)
|
22
|
+
return nil if !File.exist?(file)
|
23
|
+
|
24
|
+
insert_content = options[:content] || (yield if block)
|
25
|
+
|
26
|
+
# already inserted?
|
27
|
+
return nil if insert_content.blank? || (file.read =~ /#{insert_content}/)
|
28
|
+
|
29
|
+
place = options[:before] ? :before : :after
|
30
|
+
|
31
|
+
debug "insert #{place}: '#{marker}'"
|
32
|
+
debug "content: #{insert_content}"
|
33
|
+
|
34
|
+
return nil if !(File.new(file.path).read =~ /#{Regexp.escape(marker)}/)
|
35
|
+
|
36
|
+
mutate_file file.path, marker, place do
|
37
|
+
insert_content
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def mutate_file file, marker, place, &block
|
42
|
+
raise ArgumentError, "You must define a replacement marker for a :before or :after key" if !marker
|
43
|
+
replace_in_file file, /(#{Regexp.escape(marker)})/mi do |match|
|
44
|
+
place == :after ? "#{match}\n #{yield}" : "#{yield}\n #{match}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def replace_in_file(path, regexp, *args, &block)
|
49
|
+
content = File.read(path).gsub(regexp, *args, &block)
|
50
|
+
File.open(path, 'wb') { |file| file.write(content) }
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
# READ
|
4
|
+
def read_artifact(name, options, &block)
|
5
|
+
type = get_type(options)
|
6
|
+
file_name = existing_file_name(name, type)
|
7
|
+
debug "reading from: #{file_name}"
|
8
|
+
begin
|
9
|
+
file = File.new(file_name)
|
10
|
+
content = file.read
|
11
|
+
debug "read content: #{content}"
|
12
|
+
yield content if block
|
13
|
+
content
|
14
|
+
rescue
|
15
|
+
raise "Rails #{type} at: #{file_name} can't be read"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
|
4
|
+
# DELETE
|
5
|
+
def remove_artifact name, type
|
6
|
+
file = make_file_name name, type
|
7
|
+
debug "removed artifact: #{name}" if File.exist?(file) && FileUtils.rm_f(file)
|
8
|
+
end
|
9
|
+
|
10
|
+
def remove_artifacts type,*names
|
11
|
+
names.flatten.each{|name| send :"remove_#{type}", name }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module BaseHelper
|
3
|
+
def self.included(base)
|
4
|
+
base.extend ClassMethods
|
5
|
+
base.class_eval do
|
6
|
+
include Rails::Assist::App
|
7
|
+
include ::Thor::Actions
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def get_type options = {}
|
14
|
+
case options
|
15
|
+
when Hash
|
16
|
+
raise ArgumentError, "No artifact type specified #{options}" if !options[:type]
|
17
|
+
options[:type]
|
18
|
+
when String, Symbol
|
19
|
+
options.to_sym
|
20
|
+
else
|
21
|
+
raise ArgumentError, "Bad artifact type specified #{options}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def debug?
|
26
|
+
Rails::Assist.debug_on
|
27
|
+
end
|
28
|
+
|
29
|
+
def debug msg
|
30
|
+
puts msg if debug?
|
31
|
+
end
|
32
|
+
|
33
|
+
def set options, type
|
34
|
+
options.merge!(:type => type)
|
35
|
+
options
|
36
|
+
end
|
37
|
+
|
38
|
+
def orm_notify
|
39
|
+
''
|
40
|
+
end
|
41
|
+
|
42
|
+
def marker name, type, options={}
|
43
|
+
return send :"#{type}_marker", name, options if type
|
44
|
+
name.to_s.camelize
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
require_all File.dirname(__FILE__) + '/base'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class Module
|
2
|
+
def multi_alias name, options={}
|
3
|
+
config_options = options[:options]
|
4
|
+
options.each_pair do |original, aliases|
|
5
|
+
next if original == :options
|
6
|
+
alias_methods name, original, [aliases].flatten, config_options
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
def alias_methods name, original, aliases, config_options
|
13
|
+
aliases.each do |alias_name|
|
14
|
+
new_alias = make_name(name, alias_name.to_s, config_options)
|
15
|
+
original_name = make_name(name, original.to_s, config_options)
|
16
|
+
alias_method new_alias, original_name if respond_to? original_name
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def make_name name, alias_name, config_options
|
21
|
+
return alias_name.gsub(/X/, name.to_s) if alias_name =~ /X/
|
22
|
+
case config_options
|
23
|
+
when :after
|
24
|
+
"#{alias_name}_#{name}"
|
25
|
+
when :before
|
26
|
+
"#{name}_#{alias_name}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Rails::Assist
|
2
|
+
module UseMacro
|
3
|
+
def use_orm orm
|
4
|
+
class_eval do
|
5
|
+
begin
|
6
|
+
include "Rails::Assist::Orm::#{orm.to_s.camelize}".constantize
|
7
|
+
rescue
|
8
|
+
raise ArgumentError, "Unregistered ORM library: #{orm}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def assist_with *types
|
14
|
+
types.each{|type| use_helper type}
|
15
|
+
end
|
16
|
+
alias_method :load_helpers, :assist_with
|
17
|
+
alias_method :use_helpers, :assist_with
|
18
|
+
|
19
|
+
def use_helper type
|
20
|
+
class_eval do
|
21
|
+
begin
|
22
|
+
include "Rails::Assist::#{type.to_s.camelize}".constantize
|
23
|
+
rescue
|
24
|
+
raise ArgumentError, "Unregistered Rails3 helper library: #{type}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
alias_method :load_helper, :use_helper
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
RSpec.configure do |config|
|
33
|
+
config.extend(Rails::Assist::UseMacro)
|
34
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'require_all'
|
3
|
+
require 'active_support/inflector'
|
4
|
+
|
5
|
+
module Rails
|
6
|
+
module Assist
|
7
|
+
def self.artifacts
|
8
|
+
[:observer, :controller, :helper, :mailer, :model, :migration]
|
9
|
+
end
|
10
|
+
|
11
|
+
class << self
|
12
|
+
attr_accessor :debug_on
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
require 'rails3_assist/extensions/core_ext'
|
18
|
+
require 'rails3_assist/rspec/macro'
|
19
|
+
require 'rails3_assist/app'
|
20
|
+
require_all File.dirname(__FILE__) + '/rails3_assist/artifact'
|
21
|
+
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{rails3_assist}
|
8
|
+
s.version = "0.2.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Kristian Mandrup"]
|
12
|
+
s.date = %q{2010-08-19}
|
13
|
+
s.description = %q{Assist in operating on Rails 3 artifacts including migrations}
|
14
|
+
s.email = %q{kmandrup@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
".rspec",
|
23
|
+
"LICENSE",
|
24
|
+
"README.markdown",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/rails3_assist.rb",
|
28
|
+
"lib/rails3_assist/app.rb",
|
29
|
+
"lib/rails3_assist/app/file_names.rb",
|
30
|
+
"lib/rails3_assist/app/methods/crud.rb",
|
31
|
+
"lib/rails3_assist/app/methods/new_content.rb",
|
32
|
+
"lib/rails3_assist/app/rails_dirs.rb",
|
33
|
+
"lib/rails3_assist/app/rails_files.rb",
|
34
|
+
"lib/rails3_assist/artifact/markers.rb",
|
35
|
+
"lib/rails3_assist/artifact/migration.rb",
|
36
|
+
"lib/rails3_assist/artifact/orm.rb",
|
37
|
+
"lib/rails3_assist/artifact/view.rb",
|
38
|
+
"lib/rails3_assist/base.rb",
|
39
|
+
"lib/rails3_assist/base/class_methods.rb",
|
40
|
+
"lib/rails3_assist/base/create.rb",
|
41
|
+
"lib/rails3_assist/base/file_name.rb",
|
42
|
+
"lib/rails3_assist/base/insert.rb",
|
43
|
+
"lib/rails3_assist/base/read.rb",
|
44
|
+
"lib/rails3_assist/base/remove.rb",
|
45
|
+
"lib/rails3_assist/extensions/core_ext.rb",
|
46
|
+
"lib/rails3_assist/rspec/macro.rb",
|
47
|
+
"rails3_assist.gemspec",
|
48
|
+
"rails_generator.log",
|
49
|
+
"spec/load_spec.rb",
|
50
|
+
"spec/rails3_assist/app/app_dirs_spec.rb",
|
51
|
+
"spec/rails3_assist/app/app_file_names_spec.rb",
|
52
|
+
"spec/rails3_assist/app/app_files_spec.rb",
|
53
|
+
"spec/rails3_assist/artifact/controller/controller_spec.rb",
|
54
|
+
"spec/rails3_assist/artifact/helper/helper_spec.rb",
|
55
|
+
"spec/rails3_assist/artifact/mailer/mailer_spec.rb",
|
56
|
+
"spec/rails3_assist/artifact/migration/migration_spec.rb",
|
57
|
+
"spec/rails3_assist/artifact/model/model_spec.rb",
|
58
|
+
"spec/rails3_assist/artifact/observer/observer_spec.rb",
|
59
|
+
"spec/rails3_assist/artifact/orm/active_record_spec.rb",
|
60
|
+
"spec/rails3_assist/artifact/orm/mongo_mapper_spec.rb",
|
61
|
+
"spec/rails3_assist/artifact/orm/mongoid_spec.rb",
|
62
|
+
"spec/rails3_assist/artifact/view_spec/view_spec.rb",
|
63
|
+
"spec/spec_helper.rb"
|
64
|
+
]
|
65
|
+
s.homepage = %q{http://github.com/kristianmandrup/rails3-assist}
|
66
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
67
|
+
s.require_paths = ["lib"]
|
68
|
+
s.rubygems_version = %q{1.3.7}
|
69
|
+
s.summary = %q{Assist in operating on Rails 3 artifacts including migrations}
|
70
|
+
s.test_files = [
|
71
|
+
"spec/load_spec.rb",
|
72
|
+
"spec/rails3_assist/app/app_dirs_spec.rb",
|
73
|
+
"spec/rails3_assist/app/app_file_names_spec.rb",
|
74
|
+
"spec/rails3_assist/app/app_files_spec.rb",
|
75
|
+
"spec/rails3_assist/artifact/controller/controller_spec.rb",
|
76
|
+
"spec/rails3_assist/artifact/helper/helper_spec.rb",
|
77
|
+
"spec/rails3_assist/artifact/mailer/mailer_spec.rb",
|
78
|
+
"spec/rails3_assist/artifact/migration/migration_spec.rb",
|
79
|
+
"spec/rails3_assist/artifact/model/model_spec.rb",
|
80
|
+
"spec/rails3_assist/artifact/observer/observer_spec.rb",
|
81
|
+
"spec/rails3_assist/artifact/orm/active_record_spec.rb",
|
82
|
+
"spec/rails3_assist/artifact/orm/mongo_mapper_spec.rb",
|
83
|
+
"spec/rails3_assist/artifact/orm/mongoid_spec.rb",
|
84
|
+
"spec/rails3_assist/artifact/view_spec/view_spec.rb",
|
85
|
+
"spec/spec_helper.rb"
|
86
|
+
]
|
87
|
+
|
88
|
+
if s.respond_to? :specification_version then
|
89
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
90
|
+
s.specification_version = 3
|
91
|
+
|
92
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
93
|
+
s.add_development_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
94
|
+
s.add_runtime_dependency(%q<require_all>, [">= 1.1.0"])
|
95
|
+
s.add_runtime_dependency(%q<migration_assist>, [">= 0.1.2"])
|
96
|
+
else
|
97
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
98
|
+
s.add_dependency(%q<require_all>, [">= 1.1.0"])
|
99
|
+
s.add_dependency(%q<migration_assist>, [">= 0.1.2"])
|
100
|
+
end
|
101
|
+
else
|
102
|
+
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.19"])
|
103
|
+
s.add_dependency(%q<require_all>, [">= 1.1.0"])
|
104
|
+
s.add_dependency(%q<migration_assist>, [">= 0.1.2"])
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
data/rails_generator.log
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
-----------------------------------------------------
|
2
|
+
2010-08-18 13:38:04 +0200 -- setup generator: [basic_generator]
|
3
|
+
[BasicGenerator]
|
4
|
+
-- By default we are in info mode...
|
5
|
+
This is debugging mode!
|
6
|
+
-- Back to info mode
|
7
|
+
-----------------------------------------------------
|
8
|
+
2010-08-18 13:40:00 +0200 -- setup generator: [basic_generator]
|
9
|
+
[BasicGenerator]
|
10
|
+
-- By default we are in info mode...
|
11
|
+
-- debug lv set to: debug
|
12
|
+
This is debugging mode!
|
13
|
+
-- More info... but still in debugging mode
|
14
|
+
-- Back to info mode
|
data/spec/load_spec.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'spec_helper'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'controller' do
|
4
|
+
use_helper :app
|
5
|
+
|
6
|
+
before do
|
7
|
+
Rails::Assist::App.rails_root_dir = temp_dir('tmp_rails')
|
8
|
+
end
|
9
|
+
|
10
|
+
after do
|
11
|
+
remove_temp_dir 'tmp_rails'
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should create basic root directories" do
|
15
|
+
create_empty_tmp root_directories
|
16
|
+
root_dir.should have_dirs root_directories
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should have basic app directories" do
|
20
|
+
create_empty_tmp app_artifacts
|
21
|
+
app_dir.should have_dirs app_directories
|
22
|
+
end
|
23
|
+
end
|
File without changes
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'controller' do
|
4
|
+
use_helpers :app, :controller
|
5
|
+
|
6
|
+
before :each do
|
7
|
+
remove_controller :account
|
8
|
+
create_controller :account do
|
9
|
+
%q{
|
10
|
+
def index
|
11
|
+
end
|
12
|
+
}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
after :each do
|
17
|
+
# remove_controller :account
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have an account_controller file that contains an index method and two inserted comments" do
|
21
|
+
insert_into_controller :account, :content => '# hello'
|
22
|
+
insert_into_controller :account do
|
23
|
+
'# goodbye'
|
24
|
+
end
|
25
|
+
read_controller(:account).should have_comment 'hello'
|
26
|
+
puts read_controller(:account)
|
27
|
+
# root_dir.should have_controller :account do |controller_file|
|
28
|
+
# controller_file.should have_method :index
|
29
|
+
# controller_file.should have_comment 'hello'
|
30
|
+
# controller_file.should have_comment 'goodbye'
|
31
|
+
# end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'helper' do
|
4
|
+
use_helpers :app, :helper
|
5
|
+
|
6
|
+
before :each do
|
7
|
+
remove_helper :account
|
8
|
+
create_helper :account do
|
9
|
+
%q{
|
10
|
+
def index
|
11
|
+
end
|
12
|
+
}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
after :each do
|
17
|
+
# remove_helper :account
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have an account_helper file that contains an index method and two inserted comments" do
|
21
|
+
insert_into_helper :account, :content => '# hello'
|
22
|
+
insert_into_helper :account do
|
23
|
+
'# goodbye'
|
24
|
+
end
|
25
|
+
read_helper(:account).should have_comment 'hello'
|
26
|
+
puts read_helper(:account)
|
27
|
+
# root_dir.should have_helper :account do |helper_file|
|
28
|
+
# helper_file.should have_method :index
|
29
|
+
# helper_file.should have_comment 'hello'
|
30
|
+
# helper_file.should have_comment 'goodbye'
|
31
|
+
# end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'mailer' do
|
4
|
+
use_helpers :app, :mailer
|
5
|
+
|
6
|
+
before :each do
|
7
|
+
remove_mailer :account
|
8
|
+
create_mailer :account do
|
9
|
+
%q{
|
10
|
+
def index
|
11
|
+
end
|
12
|
+
}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
after :each do
|
17
|
+
# remove_mailer :account
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have an account_mailer file that contains an index method and two inserted comments" do
|
21
|
+
insert_into_mailer :account, :content => '# hello'
|
22
|
+
insert_into_mailer :account do
|
23
|
+
'# goodbye'
|
24
|
+
end
|
25
|
+
read_mailer(:account).should have_comment 'hello'
|
26
|
+
puts read_mailer(:account)
|
27
|
+
# root_dir.should have_mailer :account do |mailer_file|
|
28
|
+
# mailer_file.should have_method :index
|
29
|
+
# mailer_file.should have_comment 'hello'
|
30
|
+
# mailer_file.should have_comment 'goodbye'
|
31
|
+
# end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'migration' do
|
4
|
+
use_helpers :app, :migration
|
5
|
+
|
6
|
+
before :each do
|
7
|
+
remove_migration :create_account
|
8
|
+
|
9
|
+
create_migration :create_account do
|
10
|
+
%q{
|
11
|
+
def index
|
12
|
+
end
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
after :each do
|
18
|
+
# remove_migration :create_account
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should have an create_account_migration file that contains an index method and two inserted comments" do
|
22
|
+
insert_into_migration :create_account, :content => '# hello'
|
23
|
+
insert_into_migration :create_account do
|
24
|
+
'# goodbye'
|
25
|
+
end
|
26
|
+
read_migration(:create_account).should have_comment 'hello'
|
27
|
+
puts read_migration(:create_account)
|
28
|
+
# root_dir.should have_migration :create_account do |migration_file|
|
29
|
+
# migration_file.should have_method :index
|
30
|
+
# migration_file.should have_comment 'hello'
|
31
|
+
# migration_file.should have_comment 'goodbye'
|
32
|
+
# end
|
33
|
+
end
|
34
|
+
end
|