tog-desert 0.3.4
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/CHANGES +28 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +295 -0
- data/Rakefile +100 -0
- data/generators/desert_plugin/USAGE +14 -0
- data/generators/desert_plugin/desert_plugin_generator.rb +73 -0
- data/generators/desert_plugin/templates/empty_file +0 -0
- data/generators/desert_plugin/templates/plugin_migration.rb +11 -0
- data/generators/desert_plugin/templates/routes.rb +4 -0
- data/generators/desert_plugin/templates/spec_helper.rb +8 -0
- data/init.rb +0 -0
- data/lib/desert/manager.rb +116 -0
- data/lib/desert/plugin.rb +74 -0
- data/lib/desert/plugin_migrations/extensions/1.0/schema_statements.rb +34 -0
- data/lib/desert/plugin_migrations/extensions/2.1/schema_statements.rb +12 -0
- data/lib/desert/plugin_migrations/extensions/schema_statements.rb +6 -0
- data/lib/desert/plugin_migrations/migrator.rb +54 -0
- data/lib/desert/plugin_migrations.rb +3 -0
- data/lib/desert/plugin_templates/1.2.0/action_mailer.rb +21 -0
- data/lib/desert/plugin_templates/1.2.0/action_view.rb +53 -0
- data/lib/desert/plugin_templates/1.99.0/action_mailer.rb +25 -0
- data/lib/desert/plugin_templates/1.99.0/action_view.rb +38 -0
- data/lib/desert/plugin_templates/2.0.0/action_mailer.rb +23 -0
- data/lib/desert/plugin_templates/2.0.2/action_view.rb +26 -0
- data/lib/desert/plugin_templates/2.1.0/action_view.rb +13 -0
- data/lib/desert/plugin_templates/action_controller.rb +14 -0
- data/lib/desert/plugin_templates/action_view.rb +16 -0
- data/lib/desert/plugin_templates/edge/action_view.rb +10 -0
- data/lib/desert/plugin_templates.rb +10 -0
- data/lib/desert/rails/1.2.0/initializer.rb +20 -0
- data/lib/desert/rails/2.0.0/plugin.rb +22 -0
- data/lib/desert/rails/dependencies.rb +87 -0
- data/lib/desert/rails/migration.rb +36 -0
- data/lib/desert/rails/observer.rb +22 -0
- data/lib/desert/rails/route_set.rb +23 -0
- data/lib/desert/rails.rb +11 -0
- data/lib/desert/ruby/object.rb +34 -0
- data/lib/desert/ruby.rb +2 -0
- data/lib/desert/supported_rails_versions.rb +9 -0
- data/lib/desert/version_checker.rb +26 -0
- data/lib/desert.rb +14 -0
- metadata +95 -0
data/lib/desert/rails.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
if Desert::VersionChecker.rails_version_is_below_1990?
|
3
|
+
require "#{dir}/rails/1.2.0/initializer"
|
4
|
+
else
|
5
|
+
require "#{dir}/rails/2.0.0/plugin"
|
6
|
+
end
|
7
|
+
require "#{dir}/rails/dependencies"
|
8
|
+
require "#{dir}/rails/migration"
|
9
|
+
|
10
|
+
require "#{dir}/rails/route_set"
|
11
|
+
require "#{dir}/rails/observer"
|
@@ -0,0 +1,34 @@
|
|
1
|
+
class Object
|
2
|
+
def require_with_desert(path)
|
3
|
+
relative_include_path = (path =~ /\.rb$/) ? path : "#{path}.rb"
|
4
|
+
if $".include?(relative_include_path)
|
5
|
+
return false
|
6
|
+
else
|
7
|
+
__each_matching_file(path) do |expanded_path|
|
8
|
+
require_without_desert expanded_path
|
9
|
+
end
|
10
|
+
$" << relative_include_path
|
11
|
+
return true
|
12
|
+
end
|
13
|
+
end
|
14
|
+
alias_method_chain :require, :desert
|
15
|
+
|
16
|
+
def load_with_desert(file)
|
17
|
+
__each_matching_file(file) do |file|
|
18
|
+
load_without_desert file
|
19
|
+
end
|
20
|
+
end
|
21
|
+
alias_method_chain :load, :desert
|
22
|
+
|
23
|
+
private
|
24
|
+
def __each_matching_file(file)
|
25
|
+
files = Desert::Manager.instance.files_on_load_path(file)
|
26
|
+
desert_file_exists = files.empty? ? false : true
|
27
|
+
files.each do |component_file|
|
28
|
+
yield(component_file)
|
29
|
+
end
|
30
|
+
|
31
|
+
return true if desert_file_exists
|
32
|
+
yield(file)
|
33
|
+
end
|
34
|
+
end
|
data/lib/desert/ruby.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
module Desert
|
2
|
+
SUPPORTED_RAILS_VERSIONS = {
|
3
|
+
"1.2.5" => {'version' => '1.2.5', 'git_tag' => 'v1.2.5'},
|
4
|
+
"1.99.0" => {'version' => '1.99.0', 'git_tag' => 'v2.0.0_RC1'},
|
5
|
+
"2.0.2" => {'version' => '2.0.2', 'git_tag' => 'v2.0.2'},
|
6
|
+
"2.1.0" => {'version' => '2.1.0', 'git_tag' => 'v2.1.0'},
|
7
|
+
"edge" => {'version' => 'edge', 'git_tag' => 'master'},
|
8
|
+
}
|
9
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Desert
|
2
|
+
class VersionChecker
|
3
|
+
class << self
|
4
|
+
def current_rails_version_matches?(version_requirement)
|
5
|
+
version_matches?(::Rails::VERSION::STRING, version_requirement)
|
6
|
+
end
|
7
|
+
|
8
|
+
def version_matches?(version, version_requirement)
|
9
|
+
Gem::Version::Requirement.new([version_requirement]).satisfied_by?(Gem::Version.new(version))
|
10
|
+
end
|
11
|
+
|
12
|
+
def rails_version_is_below_1990?
|
13
|
+
result = current_rails_version_matches?('<1.99.0')
|
14
|
+
result
|
15
|
+
end
|
16
|
+
|
17
|
+
def rails_version_is_below_rc2?
|
18
|
+
current_rails_version_matches?('<1.99.1')
|
19
|
+
end
|
20
|
+
|
21
|
+
def rails_version_is_1991?
|
22
|
+
current_rails_version_matches?('=1.99.1')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/desert.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "active_support"
|
2
|
+
require "active_record"
|
3
|
+
require "action_controller"
|
4
|
+
require "action_mailer"
|
5
|
+
|
6
|
+
dir = File.dirname(__FILE__)
|
7
|
+
require "#{dir}/desert/supported_rails_versions"
|
8
|
+
require "#{dir}/desert/plugin"
|
9
|
+
require "#{dir}/desert/manager"
|
10
|
+
require "#{dir}/desert/version_checker"
|
11
|
+
require "#{dir}/desert/rails"
|
12
|
+
require "#{dir}/desert/ruby"
|
13
|
+
require "#{dir}/desert/plugin_migrations"
|
14
|
+
require "#{dir}/desert/plugin_templates"
|
metadata
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tog-desert
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Pivotal Labs
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-09-08 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: Desert is a component framework for Rails that allows your plugins to be packaged as mini Rails apps.
|
17
|
+
email: opensource@pivotallabs.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
24
|
+
files:
|
25
|
+
- CHANGES
|
26
|
+
- MIT-LICENSE
|
27
|
+
- Rakefile
|
28
|
+
- README.rdoc
|
29
|
+
- init.rb
|
30
|
+
- lib/desert/manager.rb
|
31
|
+
- lib/desert/plugin.rb
|
32
|
+
- lib/desert/plugin_migrations/extensions/1.0/schema_statements.rb
|
33
|
+
- lib/desert/plugin_migrations/extensions/2.1/schema_statements.rb
|
34
|
+
- lib/desert/plugin_migrations/extensions/schema_statements.rb
|
35
|
+
- lib/desert/plugin_migrations/migrator.rb
|
36
|
+
- lib/desert/plugin_migrations.rb
|
37
|
+
- lib/desert/plugin_templates/1.2.0/action_mailer.rb
|
38
|
+
- lib/desert/plugin_templates/1.2.0/action_view.rb
|
39
|
+
- lib/desert/plugin_templates/1.99.0/action_mailer.rb
|
40
|
+
- lib/desert/plugin_templates/1.99.0/action_view.rb
|
41
|
+
- lib/desert/plugin_templates/2.0.0/action_mailer.rb
|
42
|
+
- lib/desert/plugin_templates/2.0.2/action_view.rb
|
43
|
+
- lib/desert/plugin_templates/2.1.0/action_view.rb
|
44
|
+
- lib/desert/plugin_templates/action_controller.rb
|
45
|
+
- lib/desert/plugin_templates/action_view.rb
|
46
|
+
- lib/desert/plugin_templates/edge/action_view.rb
|
47
|
+
- lib/desert/plugin_templates.rb
|
48
|
+
- lib/desert/rails/1.2.0/initializer.rb
|
49
|
+
- lib/desert/rails/2.0.0/plugin.rb
|
50
|
+
- lib/desert/rails/dependencies.rb
|
51
|
+
- lib/desert/rails/migration.rb
|
52
|
+
- lib/desert/rails/observer.rb
|
53
|
+
- lib/desert/rails/route_set.rb
|
54
|
+
- lib/desert/rails.rb
|
55
|
+
- lib/desert/ruby/object.rb
|
56
|
+
- lib/desert/ruby.rb
|
57
|
+
- lib/desert/supported_rails_versions.rb
|
58
|
+
- lib/desert/version_checker.rb
|
59
|
+
- lib/desert.rb
|
60
|
+
- generators/desert_plugin
|
61
|
+
- generators/desert_plugin/desert_plugin_generator.rb
|
62
|
+
- generators/desert_plugin/templates
|
63
|
+
- generators/desert_plugin/templates/empty_file
|
64
|
+
- generators/desert_plugin/templates/plugin_migration.rb
|
65
|
+
- generators/desert_plugin/templates/routes.rb
|
66
|
+
- generators/desert_plugin/templates/spec_helper.rb
|
67
|
+
- generators/desert_plugin/USAGE
|
68
|
+
has_rdoc: true
|
69
|
+
homepage: http://pivotallabs.com
|
70
|
+
post_install_message:
|
71
|
+
rdoc_options: []
|
72
|
+
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
version:
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: "0"
|
86
|
+
version:
|
87
|
+
requirements: []
|
88
|
+
|
89
|
+
rubyforge_project: desert
|
90
|
+
rubygems_version: 1.2.0
|
91
|
+
signing_key:
|
92
|
+
specification_version: 2
|
93
|
+
summary: Desert is a component framework for Rails that allows your plugins to be packaged as mini Rails apps.
|
94
|
+
test_files: []
|
95
|
+
|