rails_assist 0.5.2 → 0.5.3
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/VERSION +1 -1
- data/lib/rails_assist.rb +3 -3
- data/lib/rails_assist/app.rb +5 -5
- data/lib/rails_assist/artifact.rb +13 -13
- data/lib/rails_assist/artifact/directory.rb +20 -10
- data/lib/rails_assist/artifact/files.rb +58 -29
- data/lib/rails_assist/artifact/path.rb +3 -3
- data/lib/rails_assist/directory.rb +19 -19
- data/lib/rails_assist/directory/app.rb +3 -3
- data/lib/rails_assist/directory/container.rb +6 -6
- data/lib/rails_assist/directory/root.rb +8 -8
- data/lib/rails_assist/file.rb +27 -23
- data/lib/rails_assist/file/application.rb +1 -1
- data/lib/rails_assist/file/environment.rb +3 -3
- data/lib/rails_assist/file/gem_file.rb +1 -1
- data/lib/rails_assist/file/routes_file.rb +1 -1
- data/lib/rails_assist/file/special.rb +8 -8
- data/lib/rails_assist/files.rb +2 -2
- data/lib/rails_assist/macro.rb +10 -10
- data/rails_assist.gemspec +10 -10
- data/spec/rails_assist/artifact/directory_spec.rb +9 -10
- data/spec/rails_assist/artifact/files_spec.rb +15 -15
- data/spec/rails_assist/file/special_spec.rb +23 -24
- data/spec/rails_assist/file_spec.rb +26 -20
- data/spec/rails_assist/files_spec.rb +10 -11
- metadata +20 -20
@@ -2,23 +2,23 @@ module RailsAssist::Directory
|
|
2
2
|
module Root
|
3
3
|
module Methods
|
4
4
|
def root_directories
|
5
|
-
[:app, :config, :db, :public, :lib, :log, :doc, :test, :spec]
|
5
|
+
[:app, :config, :db, :public, :lib, :log, :doc, :test, :spec]
|
6
6
|
end
|
7
7
|
|
8
8
|
def root_dirpath options={}
|
9
9
|
raise ArgumentError, "options argument to root_dir must be a hash, was: #{options.inspect}" if options && !options.kind_of?(Hash)
|
10
|
-
dir = options[:root_path] if options
|
10
|
+
dir = options[:root_path] if options
|
11
11
|
dir ||= RailsAssist::Directory.rails_root || Rails.root
|
12
12
|
raise "You must set the Rails app root dir: RailsAssist::App.root_dir = '/my/root/dir'" if !dir
|
13
13
|
dir.to_s.path
|
14
14
|
end
|
15
|
-
|
16
|
-
def root_dir options={}
|
15
|
+
|
16
|
+
def root_dir options={}
|
17
17
|
root_dirpath(options).dir
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
21
|
include Methods
|
22
22
|
extend Methods
|
23
23
|
end
|
24
|
-
end
|
24
|
+
end
|
data/lib/rails_assist/file.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
require_all File.dirname(__FILE__) + '/file'
|
2
|
-
# require 'sugar-high/file'
|
3
2
|
|
4
3
|
module RailsAssist
|
5
4
|
module File
|
6
5
|
module Methods
|
7
|
-
{:initializer => 'rb', :db => 'rb', :migration => 'rb', :locale => 'yml', :javascript => 'js', :stylesheet => 'css', :config => '.rb', :db => '.rb'}.each_pair do |name, ext|
|
6
|
+
{:config => 'yml', :initializer => 'rb', :db => 'rb', :migration => 'rb', :locale => 'yml', :coffee => 'coffee', :javascript => 'js', :stylesheet => 'css', :config => '.rb', :db => '.rb'}.each_pair do |name, ext|
|
8
7
|
plural_name = name.to_s.pluralize
|
9
8
|
pure_ext = ext.gsub /^\./, ''
|
10
|
-
class_eval %{
|
9
|
+
class_eval %{
|
11
10
|
def #{name}_file? name
|
12
11
|
name = name.as_filename
|
13
|
-
name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}"
|
12
|
+
name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}"
|
14
13
|
#{name}_file(name)
|
15
|
-
end
|
14
|
+
end
|
16
15
|
alias_method :has_#{name}_file?, :#{name}_file?
|
17
16
|
|
18
17
|
def #{name}_files? *names
|
@@ -20,44 +19,46 @@ module RailsAssist
|
|
20
19
|
return false if !#{name}_file?(name)
|
21
20
|
end
|
22
21
|
true
|
23
|
-
end
|
24
|
-
|
22
|
+
end
|
23
|
+
|
25
24
|
def #{name}_filepath name
|
26
25
|
name = name.as_filename
|
27
26
|
name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}"
|
28
|
-
[RailsAssist::
|
29
|
-
end
|
27
|
+
[RailsAssist::Directory.#{name}_dirpath, name].file_join
|
28
|
+
end
|
30
29
|
|
31
30
|
def #{name}_file name
|
32
|
-
name = name.as_filename
|
31
|
+
name = name.as_filename
|
33
32
|
#{name}_filepath(name).new_file
|
34
|
-
end
|
33
|
+
end
|
35
34
|
|
36
35
|
def create_#{name} name, &block
|
37
|
-
name = name.as_filename
|
36
|
+
name = name.as_filename
|
38
37
|
|
39
38
|
# create dir for artifact if it doesn't exist
|
40
|
-
|
39
|
+
path = RailsAssist::Directory.#{name}_dirpath
|
40
|
+
RailsAssist::App.create_empty_tmp(:#{name}) if !::File.directory?(path)
|
41
41
|
|
42
42
|
#{name}_file(name).overwrite do
|
43
43
|
yield
|
44
44
|
end
|
45
45
|
end
|
46
|
+
alias_method :create_#{name}_file, :create_#{name}
|
46
47
|
|
47
|
-
def read_#{name} name
|
48
|
-
name = name.as_filename
|
48
|
+
def read_#{name} name
|
49
|
+
name = name.as_filename
|
49
50
|
#{name}_file(name).read_content
|
50
51
|
end
|
51
52
|
alias_method :read_#{name}_file, :read_#{name}
|
52
53
|
|
53
54
|
def replace_#{name}_content name, args = {}, &block
|
54
|
-
name = name.as_filename
|
55
|
+
name = name.as_filename
|
55
56
|
if !(args.kind_of?(Hash) && args[:where])
|
56
57
|
raise ArgumentError, "#replace_#{name}_content Must take a hash argument with a :where option that is the content to be matched and replaced"
|
57
|
-
end
|
58
|
+
end
|
58
59
|
|
59
60
|
replace_content = block ? yield : args[:with]
|
60
|
-
if !replace_content
|
61
|
+
if !replace_content
|
61
62
|
raise ArgumentError, "#replace_#{name}_content Must take a block or a :with hash option that is the content to replace with"
|
62
63
|
end
|
63
64
|
|
@@ -65,27 +66,30 @@ module RailsAssist
|
|
65
66
|
end
|
66
67
|
|
67
68
|
def remove_all_#{plural_name}
|
68
|
-
|
69
|
+
path = RailsAssist::Directory.#{name}_dirpath
|
70
|
+
return if !::File.directory?(path)
|
69
71
|
#{name}_files.delete_all!
|
70
72
|
end
|
71
73
|
|
72
74
|
def remove_#{plural_name} *names
|
73
|
-
return remove_all_#{plural_name} if names.empty?
|
75
|
+
return remove_all_#{plural_name} if names.empty?
|
74
76
|
names.to_filenames.each do |name|
|
75
77
|
name = (name =~ /.rb$/) ? name : "\#{name}.#{pure_ext}"
|
76
78
|
#{name}_file(name).delete!
|
77
79
|
end
|
78
80
|
end
|
79
|
-
alias_method :remove_#{name}, :remove_#{plural_name}
|
81
|
+
alias_method :remove_#{name}, :remove_#{plural_name}
|
82
|
+
alias_method :remove_#{name}_file, :remove_#{name}
|
83
|
+
alias_method :remove_#{plural_name}_files, :remove_#{name}
|
80
84
|
}
|
81
85
|
end
|
82
86
|
end
|
83
87
|
|
84
88
|
include Special
|
85
89
|
extend Special
|
86
|
-
|
90
|
+
|
87
91
|
include Methods
|
88
92
|
extend Methods
|
89
93
|
end
|
90
|
-
end
|
94
|
+
end
|
91
95
|
|
@@ -9,8 +9,8 @@ module RailsAssist::File
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def insert_application_init place, statement=nil, &block
|
12
|
-
statement = block ? yield : statement
|
12
|
+
statement = block ? yield : statement
|
13
13
|
environment_file.insert statement, place => /\w+#{Regexp.escape('::Application.initialize!')}/
|
14
|
-
end
|
14
|
+
end
|
15
15
|
end
|
16
|
-
end
|
16
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_all File.dirname(__FILE__)
|
2
2
|
|
3
3
|
module RailsAssist::File
|
4
|
-
module Special
|
4
|
+
module Special
|
5
5
|
module Methods
|
6
6
|
# application_file, environment_file
|
7
7
|
[:application, :environment, :routes, :boot].each do |name|
|
@@ -14,7 +14,7 @@ module RailsAssist::File
|
|
14
14
|
#{name}_filepath.file
|
15
15
|
end
|
16
16
|
}
|
17
|
-
end
|
17
|
+
end
|
18
18
|
|
19
19
|
def database_filepath
|
20
20
|
[RailsAssist::Directory.config_dir.path, 'database.yml'].file_join
|
@@ -33,11 +33,11 @@ module RailsAssist::File
|
|
33
33
|
raise "No Seed file found at #{seed_filepath}" if !File.exist? seed_filepath
|
34
34
|
seed_filepath.new_file
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
# read_application_file
|
38
38
|
# append_to_application_file
|
39
39
|
[:application, :environment, :seed, :gem, :routes, :boot, :database].each do |name|
|
40
|
-
class_eval %{
|
40
|
+
class_eval %{
|
41
41
|
def read_#{name}_file
|
42
42
|
#{name}_file.read_content
|
43
43
|
end
|
@@ -60,19 +60,19 @@ module RailsAssist::File
|
|
60
60
|
}
|
61
61
|
end
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
include Methods
|
65
65
|
extend Methods
|
66
|
-
|
66
|
+
|
67
67
|
include RailsAssist::File::Application
|
68
68
|
include RailsAssist::File::Environment
|
69
69
|
include RailsAssist::File::Gemfile
|
70
|
-
include RailsAssist::File::Routes
|
70
|
+
include RailsAssist::File::Routes
|
71
71
|
|
72
72
|
extend RailsAssist::File::Application
|
73
73
|
extend RailsAssist::File::Environment
|
74
74
|
extend RailsAssist::File::Gemfile
|
75
|
-
extend RailsAssist::File::Routes
|
75
|
+
extend RailsAssist::File::Routes
|
76
76
|
|
77
77
|
end
|
78
78
|
end
|
data/lib/rails_assist/files.rb
CHANGED
@@ -25,7 +25,7 @@ module RailsAssist
|
|
25
25
|
|
26
26
|
def all_filepaths expr=nil
|
27
27
|
pattern = "#{RailsAssist::Directory::Root.root_dirpath}/**/*.*"
|
28
|
-
FileList[pattern].to_a.grep_it expr
|
28
|
+
FileList[pattern].to_a.grep_it expr
|
29
29
|
end
|
30
30
|
|
31
31
|
def all_files expr=nil
|
@@ -82,7 +82,7 @@ module RailsAssist
|
|
82
82
|
}
|
83
83
|
end
|
84
84
|
|
85
|
-
{:locale => :yml, :javascript => :js}.each_pair do |name, ext|
|
85
|
+
{:config => :yml, :locale => :yml, :javascript => :js, :coffee => :coffee}.each_pair do |name, ext|
|
86
86
|
class_eval %{
|
87
87
|
def #{name}_filepaths expr=nil
|
88
88
|
filepaths = rails_app_files(:#{name}, :pattern => '**/*.#{ext}', :expr => expr)
|
data/lib/rails_assist/macro.rb
CHANGED
@@ -19,9 +19,9 @@ module RailsAssist
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
22
|
-
|
23
|
-
def assist_with *types
|
24
|
-
types.each{|type| use_helper type}
|
22
|
+
|
23
|
+
def assist_with *types
|
24
|
+
types.each{|type| use_helper type}
|
25
25
|
end
|
26
26
|
alias_method :load_helpers, :assist_with
|
27
27
|
alias_method :use_helpers, :assist_with
|
@@ -33,7 +33,7 @@ module RailsAssist
|
|
33
33
|
include module_name.constantize
|
34
34
|
if [:files, :directory].include? type
|
35
35
|
module_name = "RailsAssist::Artifact::#{type.to_s.camelize}"
|
36
|
-
include module_name.constantize
|
36
|
+
include module_name.constantize
|
37
37
|
end
|
38
38
|
rescue
|
39
39
|
raise ArgumentError, "Unregistered RailsAssist library: #{type}, #{module_name}"
|
@@ -51,18 +51,18 @@ module RailsAssist
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
def use_helper type
|
56
56
|
if type == :special
|
57
57
|
class_eval do
|
58
58
|
include "RailsAssist::File::Special".constantize
|
59
|
-
end
|
59
|
+
end
|
60
60
|
return
|
61
61
|
end
|
62
62
|
|
63
|
-
return rails_assist(type) if [:file, :files, :directory, :app].include?(type)
|
63
|
+
return rails_assist(type) if [:file, :files, :directory, :app].include?(type)
|
64
64
|
artifact_assist(type)
|
65
|
-
end
|
65
|
+
end
|
66
66
|
alias_method :load_helper, :use_helper
|
67
|
-
end
|
68
|
-
end
|
67
|
+
end
|
68
|
+
end
|
data/rails_assist.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.5.
|
7
|
+
s.name = "rails_assist"
|
8
|
+
s.version = "0.5.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
11
|
+
s.authors = ["Kristian Mandrup"]
|
12
|
+
s.date = "2011-09-21"
|
13
|
+
s.description = "Basic file operation helpers for working with Rails 3 artifacts"
|
14
|
+
s.email = "kmandrup@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.markdown"
|
@@ -132,10 +132,10 @@ Gem::Specification.new do |s|
|
|
132
132
|
"spec/rails_assist_spec.rb",
|
133
133
|
"spec/spec_helper.rb"
|
134
134
|
]
|
135
|
-
s.homepage =
|
136
|
-
s.require_paths = [
|
137
|
-
s.rubygems_version =
|
138
|
-
s.summary =
|
135
|
+
s.homepage = "http://github.com/kristianmandrup/rails-assist"
|
136
|
+
s.require_paths = ["lib"]
|
137
|
+
s.rubygems_version = "1.8.10"
|
138
|
+
s.summary = "File operation helpers for Rails 3 artifacts"
|
139
139
|
|
140
140
|
if s.respond_to? :specification_version then
|
141
141
|
s.specification_version = 3
|
@@ -9,8 +9,8 @@ end
|
|
9
9
|
describe RailsAssist::Artifact::Directory do
|
10
10
|
# use_helper :directories
|
11
11
|
|
12
|
-
before do
|
13
|
-
RailsAssist::Directory.rails_root = fixtures_dir
|
12
|
+
before do
|
13
|
+
RailsAssist::Directory.rails_root = fixtures_dir
|
14
14
|
@test = ArtDir.new
|
15
15
|
end
|
16
16
|
|
@@ -23,7 +23,7 @@ describe RailsAssist::Artifact::Directory do
|
|
23
23
|
@test.#{name}_dir.path.should match /app\/\#{name}/
|
24
24
|
end
|
25
25
|
end
|
26
|
-
}
|
26
|
+
}
|
27
27
|
end
|
28
28
|
|
29
29
|
describe '#observer_dir' do
|
@@ -32,14 +32,14 @@ describe RailsAssist::Artifact::Directory do
|
|
32
32
|
@test.observer_dirpath.should match /app\/models/
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
35
|
+
|
36
36
|
describe '#migration_dir' do
|
37
37
|
it "should return migration directory name" do
|
38
38
|
CLASS.migration_dir.path.should match /db\/migrate/
|
39
39
|
@test.migration_dirpath.should match /db\/migrate/
|
40
40
|
end
|
41
|
-
end
|
42
|
-
|
41
|
+
end
|
42
|
+
|
43
43
|
[:initializer, :locale].each do |name|
|
44
44
|
eval %{
|
45
45
|
describe '##{name}_dir' do
|
@@ -48,9 +48,9 @@ describe RailsAssist::Artifact::Directory do
|
|
48
48
|
@test.#{name}_dirpath.should match /config\/\#{name}/
|
49
49
|
end
|
50
50
|
end
|
51
|
-
}
|
51
|
+
}
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
[:stylesheet, :javascript].each do |name|
|
55
55
|
eval %{
|
56
56
|
describe '##{name}_dir' do
|
@@ -59,7 +59,6 @@ describe RailsAssist::Artifact::Directory do
|
|
59
59
|
@test.#{name}_dirpath.should match /public\/\#{name}/
|
60
60
|
end
|
61
61
|
end
|
62
|
-
}
|
62
|
+
}
|
63
63
|
end
|
64
|
-
|
65
64
|
end
|
@@ -4,7 +4,7 @@ CLASS = RailsAssist::Artifact::Files
|
|
4
4
|
|
5
5
|
class ArtDir
|
6
6
|
extend RailsAssist::UseMacro
|
7
|
-
use_helper :files
|
7
|
+
use_helper :files
|
8
8
|
end
|
9
9
|
|
10
10
|
describe RailsAssist::Artifact::Files do
|
@@ -17,61 +17,61 @@ describe RailsAssist::Artifact::Files do
|
|
17
17
|
@test = ArtDir.new
|
18
18
|
end
|
19
19
|
|
20
|
-
describe '#model_files' do
|
21
|
-
it "should return :model files" do
|
20
|
+
describe '#model_files' do
|
21
|
+
it "should return :model files" do
|
22
22
|
@test.model_files.file_names.should include 'user.rb'
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
describe '#mailer_files' do
|
26
|
+
describe '#mailer_files' do
|
27
27
|
it "should return :mailer files" do
|
28
28
|
@test.mailer_files.file_names.should include 'user_mailer.rb'
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
describe '#observer_files' do
|
32
|
+
describe '#observer_files' do
|
33
33
|
it "should return :observer files" do
|
34
34
|
@test.observer_files.file_names.should include 'user_observer.rb'
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
describe '#permit_files' do
|
38
|
+
describe '#permit_files' do
|
39
39
|
it "should return :permit files" do
|
40
40
|
@test.permit_files.file_names.should include 'user_permit.rb'
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
describe '#license_files' do
|
44
|
+
describe '#license_files' do
|
45
45
|
it "should return :license files" do
|
46
46
|
@test.license_files.file_names.should include 'blogging_license.rb'
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
|
-
describe '#validator_files' do
|
50
|
+
describe '#validator_files' do
|
51
51
|
it "should return :validator files" do
|
52
52
|
@test.validator_files.file_names.should include 'email_validator.rb'
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
56
|
-
describe '#helper_files' do
|
55
|
+
|
56
|
+
describe '#helper_files' do
|
57
57
|
it "should return :helper files" do
|
58
58
|
@test.helper_files.file_names.should include 'users_helper.rb'
|
59
59
|
end
|
60
60
|
end
|
61
|
-
|
62
|
-
describe '#controller_files' do
|
61
|
+
|
62
|
+
describe '#controller_files' do
|
63
63
|
it "should return :controller files" do
|
64
64
|
@test.controller_files.file_names.should include 'users_controller.rb'
|
65
65
|
end
|
66
66
|
end
|
67
|
-
|
68
|
-
describe '#view_files' do
|
67
|
+
|
68
|
+
describe '#view_files' do
|
69
69
|
it "should return :view files" do
|
70
70
|
@test.view_files(:user).file_names.should include 'show.html.erb'
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
describe '#erb_view_files' do
|
74
|
+
describe '#erb_view_files' do
|
75
75
|
it "should return erb :view files" do
|
76
76
|
@test.erb_view_files(:user).file_names.should include 'show.html.erb'
|
77
77
|
end
|