desert 0.5.0 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +3 -2
- data/VERSION.yml +1 -3
- data/lib/desert/manager.rb +1 -0
- data/lib/desert/plugin_migrations/2.1/extensions/schema_statements.rb +5 -2
- data/lib/desert/plugin_templates.rb +4 -1
- data/lib/desert/plugin_templates/2.0.0/action_mailer.rb +1 -1
- data/lib/desert/plugin_templates/2.1.0/action_view.rb +5 -2
- data/lib/desert/plugin_templates/2.2.0/action_mailer.rb +23 -0
- data/lib/desert/plugin_templates/{edge → 2.2.0}/action_view.rb +0 -0
- data/lib/desert/plugin_templates/action_view.rb +1 -1
- data/lib/desert/version_checker.rb +8 -0
- metadata +9 -6
data/Rakefile
CHANGED
@@ -20,6 +20,7 @@ def run_suite
|
|
20
20
|
end
|
21
21
|
|
22
22
|
begin
|
23
|
+
gem "pivotal-jeweler"
|
23
24
|
require 'jeweler'
|
24
25
|
Jeweler::Tasks.new do |s|
|
25
26
|
s.name = "desert"
|
@@ -27,7 +28,7 @@ begin
|
|
27
28
|
s.email = "opensource@pivotallabs.com"
|
28
29
|
s.homepage = "http://pivotallabs.com"
|
29
30
|
s.description = "Desert is a component framework for Rails that allows your plugins to be packaged as mini Rails apps."
|
30
|
-
s.authors = ["Pivotal Labs", "Brian Takita", "Parker Thompson", "Adam Milligan"]
|
31
|
+
s.authors = ["Pivotal Labs", "Brian Takita", "Parker Thompson", "Adam Milligan, Joe Moore"]
|
31
32
|
s.files = FileList[
|
32
33
|
'[A-Z]*',
|
33
34
|
'*.rb',
|
@@ -49,7 +50,7 @@ end
|
|
49
50
|
desc "Install dependencies to run the build. This task uses Git."
|
50
51
|
task :install_dependencies do
|
51
52
|
require "lib/desert/supported_rails_versions"
|
52
|
-
system("git clone git://github.com/rails/rails.git spec/rails_root/vendor/rails_versions/edge")
|
53
|
+
system("git clone git://github.com/rails/rails.git /Users/pivotal/workspace/desert/spec/rails_root/vendor/rails_versions/edge")
|
53
54
|
Dir.chdir("spec/rails_root/vendor/rails_versions/edge") do
|
54
55
|
begin
|
55
56
|
Desert::SUPPORTED_RAILS_VERSIONS.each do |version, data|
|
data/VERSION.yml
CHANGED
data/lib/desert/manager.rb
CHANGED
@@ -30,6 +30,7 @@ module Desert
|
|
30
30
|
paths << File.join(component_root, 'app','models')
|
31
31
|
paths << File.join(component_root, 'app','controllers')
|
32
32
|
paths << File.join(component_root, 'app','helpers')
|
33
|
+
paths << File.join(component_root, 'app','sweepers')
|
33
34
|
paths << File.join(component_root, 'lib')
|
34
35
|
end
|
35
36
|
dependencies.load_paths.reverse.each do |path|
|
@@ -3,7 +3,10 @@ ActiveRecord::ConnectionAdapters::SchemaStatements.module_eval do
|
|
3
3
|
initialize_schema_migrations_table_without_plugins
|
4
4
|
|
5
5
|
begin
|
6
|
-
|
6
|
+
smt = Desert::PluginMigrations::Migrator.schema_migrations_table_name
|
7
|
+
unless ActiveRecord::Base.connection.tables.include?(smt)
|
8
|
+
execute "CREATE TABLE #{smt} (plugin_name #{type_to_sql(:string)}, version #{type_to_sql(:string)})"
|
9
|
+
end
|
7
10
|
plugins_and_versions = select_all("SELECT plugin_name, version from #{Desert::PluginMigrations::Migrator.schema_info_table_name}")
|
8
11
|
plugins_and_versions.each do |plugin_data|
|
9
12
|
plugin_name, version = plugin_data["plugin_name"], plugin_data["version"]
|
@@ -30,4 +33,4 @@ ActiveRecord::ConnectionAdapters::SchemaStatements.module_eval do
|
|
30
33
|
end
|
31
34
|
end
|
32
35
|
alias_method_chain :initialize_schema_migrations_table, :plugins
|
33
|
-
end
|
36
|
+
end
|
@@ -4,7 +4,10 @@ if Desert::VersionChecker.rails_version_is_below_1990?
|
|
4
4
|
require "#{dir}/plugin_templates/1.2.0/action_mailer"
|
5
5
|
elsif Desert::VersionChecker.rails_version_is_below_rc2?
|
6
6
|
require "#{dir}/plugin_templates/1.99.0/action_mailer"
|
7
|
-
|
7
|
+
elsif Desert::VersionChecker.rails_version_is_below_220?
|
8
8
|
require "#{dir}/plugin_templates/2.0.0/action_mailer"
|
9
|
+
else
|
10
|
+
require "#{dir}/plugin_templates/2.2.0/action_mailer"
|
9
11
|
end
|
12
|
+
|
10
13
|
require "#{dir}/plugin_templates/action_view"
|
@@ -1,8 +1,11 @@
|
|
1
1
|
module ActionView #:nodoc:
|
2
2
|
class TemplateFinder #:nodoc:
|
3
3
|
def initialize_with_desert_plugins(*args)
|
4
|
-
|
5
|
-
|
4
|
+
begin
|
5
|
+
initialize_without_desert_plugins *args
|
6
|
+
rescue ActionView::TemplateFinder::InvalidViewPath
|
7
|
+
# Desert will add the missing paths next
|
8
|
+
end
|
6
9
|
Desert::Manager.plugins.reverse.each do |plugin|
|
7
10
|
append_view_path plugin.templates_path
|
8
11
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module ActionMailer #:nodoc
|
2
|
+
class Base #:nodoc:
|
3
|
+
private
|
4
|
+
def template_path_with_plugin_routing
|
5
|
+
template_paths = [template_path_without_plugin_routing]
|
6
|
+
Desert::Manager.plugins.reverse.each do |plugin|
|
7
|
+
template_paths << "#{plugin.templates_path}/#{mailer_name}"
|
8
|
+
end
|
9
|
+
"{#{template_paths * ','}}"
|
10
|
+
end
|
11
|
+
alias_method_chain :template_path, :plugin_routing
|
12
|
+
|
13
|
+
def initialize_template_class(assigns)
|
14
|
+
self.view_paths = Dir[template_path].collect do |path|
|
15
|
+
File.dirname(path)
|
16
|
+
end if self.view_paths.empty?
|
17
|
+
returning(template = ActionView::Base.new(view_paths, assigns, self)) do
|
18
|
+
template.extend ApplicationHelper
|
19
|
+
template.extend self.class.master_helper_module
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
File without changes
|
@@ -21,6 +21,14 @@ module Desert
|
|
21
21
|
def rails_version_is_1991?
|
22
22
|
current_rails_version_matches?('=1.99.1')
|
23
23
|
end
|
24
|
+
|
25
|
+
def rails_version_is_below_220?
|
26
|
+
current_rails_version_matches?('<2.2.0')
|
27
|
+
end
|
28
|
+
|
29
|
+
def rails_version_is_below_230?
|
30
|
+
current_rails_version_matches?('<2.3.0')
|
31
|
+
end
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: desert
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pivotal Labs
|
8
8
|
- Brian Takita
|
9
9
|
- Parker Thompson
|
10
|
-
- Adam Milligan
|
10
|
+
- Adam Milligan, Joe Moore
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-
|
15
|
+
date: 2009-08-26 00:00:00 -07:00
|
16
16
|
default_executable:
|
17
17
|
dependencies: []
|
18
18
|
|
@@ -55,9 +55,10 @@ files:
|
|
55
55
|
- lib/desert/plugin_templates/2.0.0/action_mailer.rb
|
56
56
|
- lib/desert/plugin_templates/2.0.2/action_view.rb
|
57
57
|
- lib/desert/plugin_templates/2.1.0/action_view.rb
|
58
|
+
- lib/desert/plugin_templates/2.2.0/action_mailer.rb
|
59
|
+
- lib/desert/plugin_templates/2.2.0/action_view.rb
|
58
60
|
- lib/desert/plugin_templates/action_controller.rb
|
59
61
|
- lib/desert/plugin_templates/action_view.rb
|
60
|
-
- lib/desert/plugin_templates/edge/action_view.rb
|
61
62
|
- lib/desert/rails.rb
|
62
63
|
- lib/desert/rails/1.2.0/initializer.rb
|
63
64
|
- lib/desert/rails/2.0.0/plugin.rb
|
@@ -71,6 +72,8 @@ files:
|
|
71
72
|
- lib/desert/version_checker.rb
|
72
73
|
has_rdoc: true
|
73
74
|
homepage: http://pivotallabs.com
|
75
|
+
licenses: []
|
76
|
+
|
74
77
|
post_install_message:
|
75
78
|
rdoc_options:
|
76
79
|
- --main
|
@@ -94,9 +97,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
97
|
requirements: []
|
95
98
|
|
96
99
|
rubyforge_project: desert
|
97
|
-
rubygems_version: 1.3.
|
100
|
+
rubygems_version: 1.3.5
|
98
101
|
signing_key:
|
99
|
-
specification_version:
|
102
|
+
specification_version: 3
|
100
103
|
summary: Desert is a component framework for Rails that allows your plugins to be packaged as mini Rails apps.
|
101
104
|
test_files: []
|
102
105
|
|