mack 0.4.7 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/CHANGELOG +21 -2
  2. data/README +1 -4
  3. data/bin/mack +2 -2
  4. data/lib/errors/errors.rb +1 -10
  5. data/lib/generators/mack_application_generator/manifest.yml +5 -1
  6. data/lib/generators/mack_application_generator/templates/config/database.yml.template +45 -1
  7. data/lib/generators/mack_application_generator/templates/test/test_helper.rb.template +1 -1
  8. data/lib/generators/plugin_generator/templates/vendor/plugins/{<%= @plugin_name %> → %=@plugin_name%}/init.rb.template +0 -0
  9. data/lib/generators/plugin_generator/templates/vendor/plugins/{<%= @plugin_name %>/lib/<%= @plugin_name %>.rb.template → %=@plugin_name%/lib/%=@plugin_name%.rb.template} +0 -0
  10. data/lib/generators/plugin_generator/templates/vendor/plugins/{<%= @plugin_name %>/lib/tasks/<%= @plugin_name %>_tasks.rake.template → %=@plugin_name%/lib/tasks/%=@plugin_name%_tasks.rake.template} +0 -0
  11. data/lib/initialization/configuration.rb +28 -6
  12. data/lib/initialization/console.rb +2 -0
  13. data/lib/initialization/initializer.rb +23 -36
  14. data/lib/initialization/initializers/logging.rb +2 -2
  15. data/lib/initialization/initializers/orm_support.rb +4 -63
  16. data/lib/initialization/initializers/plugins.rb +1 -1
  17. data/lib/initialization/server/simple_server.rb +0 -2
  18. data/lib/mack.rb +2 -2
  19. data/lib/mack_tasks.rb +6 -0
  20. data/lib/rendering/base.rb +1 -1
  21. data/lib/rendering/classes/action.rb +1 -1
  22. data/lib/rendering/classes/public.rb +1 -1
  23. data/lib/rendering/classes/url.rb +1 -0
  24. data/lib/rendering/classes/xml.rb +1 -1
  25. data/lib/sea_level/controller_base.rb +19 -10
  26. data/lib/sea_level/helpers/view_helpers/html_helpers.rb +96 -11
  27. data/lib/sea_level/helpers/view_helpers/string_helpers.rb +22 -0
  28. data/lib/sea_level/uploaded_file.rb +1 -0
  29. data/lib/sea_level/view_binder.rb +14 -11
  30. data/lib/tasks/cachetastic_tasks.rake +11 -11
  31. data/lib/tasks/mack_server_tasks.rake +3 -3
  32. data/lib/tasks/mack_tasks.rake +2 -5
  33. data/lib/tasks/rake_rules.rake +1 -2
  34. data/lib/tasks/test_tasks.rake +22 -1
  35. data/lib/test_extensions/test_case.rb +50 -0
  36. data/lib/test_extensions/test_helpers.rb +22 -5
  37. metadata +30 -30
  38. data/lib/generators/genosaurus_helpers.rb +0 -38
  39. data/lib/generators/migration_generator/migration_generator.rb +0 -67
  40. data/lib/generators/migration_generator/templates/db/migrations/<%=@migration_name%>.rb.template +0 -31
  41. data/lib/generators/model_column.rb +0 -55
  42. data/lib/generators/model_generator/manifest.yml +0 -11
  43. data/lib/generators/model_generator/model_generator.rb +0 -93
  44. data/lib/generators/model_generator/templates/active_record.rb.template +0 -2
  45. data/lib/generators/model_generator/templates/data_mapper.rb.template +0 -11
  46. data/lib/generators/model_generator/templates/test.rb.template +0 -9
  47. data/lib/generators/scaffold_generator/manifest.yml +0 -31
  48. data/lib/generators/scaffold_generator/scaffold_generator.rb +0 -43
  49. data/lib/generators/scaffold_generator/templates/generic/app/controllers/controller.rb.template +0 -50
  50. data/lib/generators/scaffold_generator/templates/generic/app/views/edit.html.erb.template +0 -20
  51. data/lib/generators/scaffold_generator/templates/generic/app/views/index.html.erb.template +0 -41
  52. data/lib/generators/scaffold_generator/templates/generic/app/views/new.html.erb.template +0 -19
  53. data/lib/generators/scaffold_generator/templates/generic/app/views/show.html.erb.template +0 -12
  54. data/lib/generators/scaffold_generator/templates/no_orm/controller.rb.template +0 -38
  55. data/lib/generators/scaffold_generator/templates/test.rb.template +0 -9
  56. data/lib/sea_level/helpers/view_helpers/orm_helpers.rb +0 -87
  57. data/lib/tasks/db_tasks.rake +0 -94
  58. data/lib/utils/html.rb +0 -104
data/CHANGELOG CHANGED
@@ -1,5 +1,24 @@
1
+ ===0.5.0
2
+ * Added rake db:create and db:create:all rake tasks.
3
+ * Refactored out constants, such as MACK_ROOT and MACK_ENV and made them into Mack::Configuration.env, Mack::Configuration.root, etc...
4
+ * Added test:stats and test:coverage Rake tasks.
5
+ * Removed support for ActiveRecord and DataMapper and moved them into their own gems.
6
+ * Fixed a bug where yields in ERB weren't giving the desired results.
7
+ * DataMapper database.yml file can now be nested, and is generated as such.
8
+ * Cleaned up some tests, and refactored the HTML generation stuff.
9
+ * Fixed a bug with the scaffold generating 'bad' methods instead of 'post'
10
+ * Made error_messages_for more compatible with DataMapper.
11
+ * Fixed a bug loading url.rb and uploaded_file.rb found by Phil Darnowsky
12
+ * [dsutedja] Render method (in controller_base) now accepts response status code.
13
+ * gem: mack_ruby_core_extensions 0.1.23
14
+ * gem: genosaurus 1.1.4
15
+ * gem: datamapper 0.3.2
16
+ * gem: rcov 0.8.1.2.0
17
+ * gem: mack-data_mapper 0.5.0
18
+ * gem: erubis 2.6.0
19
+
1
20
  ===0.4.7
2
- * Added Mack::Request::UploadFile class to make dealing with file uploads easy.
21
+ * Added Mack::Request::UploadedFile class to make dealing with file uploads easy.
3
22
  * Fixed bug where if a controller didn't exist it wasn't checking the public directory.
4
23
  * Generated DataMapper models no longer extend DataMapper::Base, but rather 'include DataMapper::Persistence'. This corresponds to the 0.9.0 upcoming release of DataMapper.
5
24
  * Fixed a bug in request.params that was making file uploads into strings.
@@ -9,7 +28,7 @@
9
28
  * model generator now creates a stub unit test.
10
29
  * Rake tasks in plugins now show up in the Rake tasks list.
11
30
  * All generators, including the 'mack' binary are now using Genosaurus.
12
- * [dsutedja] initializer will load MACK_APP/controllers/default_controller.rb if it exists
31
+ * [dsutedja] initializer will load Mack::Configuration.app_directory/controllers/default_controller.rb if it exists
13
32
  * [dsutedja] added link_image_to and image_tag to html helper.
14
33
  * gem: thin 0.8.1
15
34
  * gem: genosaurus 1.1.1
data/README CHANGED
@@ -10,9 +10,6 @@ Mack is also about performance. Because Mack uses technologies like Thin[http://
10
10
  ==Getting Started
11
11
  First things first, let's generate your application:
12
12
  $ mack <app_name>
13
-
14
- If you'd like to configure your application to use an ORM, then when you generate it, use the following command:
15
- $ mack <app_name> -o <data_mapper|active_record>
16
13
 
17
14
  To run a Mack application:
18
15
  $ rake script:server
@@ -23,7 +20,7 @@ It will try and run the app using the following servers in this order:
23
20
  * WEBrick
24
21
 
25
22
  rake script:server takes the following options:
26
- $ rake script:server PORT=<port> MACK_ENV=<environment> HANDLER=<rack_handler>
23
+ $ rake script:server PORT=<port> Mack::Configuration.env=<environment> HANDLER=<rack_handler>
27
24
 
28
25
  The port and rack_handler flags don't apply if you're using Thin[http://code.macournoyer.com/thin] to run the app, which is the default if it is installed. Use the thin.yml file in your application's config directory to configure Thin. The rack_handler one will allow you to switch which server is used to run the app. See Rack for more Rack::Handlers.
29
26
 
data/bin/mack CHANGED
@@ -13,7 +13,7 @@ raise "You must specify a name for this application!" if app.nil?
13
13
 
14
14
  options = OpenStruct.new
15
15
  options.orm = "data_mapper"
16
- options.version = "0.4.7"
16
+ options.version = "0.5.0"
17
17
 
18
18
  opts = OptionParser.new do |opts|
19
19
 
@@ -25,4 +25,4 @@ end
25
25
 
26
26
  opts.parse!(ARGV)
27
27
 
28
- MackApplicationGenerator.run({"orm" => options.orm, "version" => options.version, "app" => app})
28
+ MackApplicationGenerator.run({"version" => options.version, "app" => app, "orm" => options.orm})
data/lib/errors/errors.rb CHANGED
@@ -58,7 +58,7 @@ module Mack
58
58
  class UnknownLayout < StandardError
59
59
  # Takes a layout name.
60
60
  def initialize(layout)
61
- super("Could not find layout in: #{File.join(MACK_ROOT, "app", "views", layout.to_s + ".html.erb")}")
61
+ super("Could not find layout in: #{File.join(Mack::Configuration.root, "app", "views", layout.to_s + ".html.erb")}")
62
62
  end
63
63
  end
64
64
 
@@ -103,14 +103,5 @@ module Mack
103
103
  end
104
104
  end
105
105
 
106
- # Raised if there are migrations that need to be run before a task is performed.
107
- class UnrunMigrations < StandardError
108
- # Taks the number of migrations that need to be run.
109
- def initialize(number)
110
- super("You currently have #{number} #{number == 1 ? "migration" : "migrations"} that #{number == 1 ? "needs" : "need"} to be run.")
111
- end
112
-
113
- end
114
-
115
106
  end # Errors
116
107
  end # Mack
@@ -21,7 +21,11 @@ application_layout:
21
21
  template_path: <%= File.join(templates_directory_path, "config", "app_config", "#{env}.yml.template") %>
22
22
  output_path: <%= File.join(app_name, "config", "app_config", "#{env}.yml") %>
23
23
  <% end -%>
24
- <% ["database.yml", "routes.rb", "thin.ru", "thin.yml"].each do |f| -%>
24
+ database_yml:
25
+ type: file
26
+ template_path: <%= File.join(templates_directory_path, "config", "database.yml.template") %>
27
+ output_path: <%= File.join(app_name, "config", "database.yml") %>
28
+ <% ["routes.rb", "thin.ru", "thin.yml"].each do |f| -%>
25
29
  <%= f %>_config_file:
26
30
  type: file
27
31
  template_path: <%= File.join(templates_directory_path, "config", "#{f}.template") %>
@@ -1,3 +1,46 @@
1
+ <%
2
+ case @options["orm"]
3
+ when "data_mapper"
4
+ -%>
5
+ # development:
6
+ # default:
7
+ # adapter: mysql
8
+ # database: <%= @options["app"].downcase %>_development
9
+ # host: localhost
10
+ # username: root
11
+ # password:
12
+ #
13
+ # test:
14
+ # default:
15
+ # adapter: mysql
16
+ # database: <%= @options["app"].downcase %>_test
17
+ # host: localhost
18
+ # username: root
19
+ # password:
20
+ #
21
+ # production:
22
+ # default:
23
+ # adapter: mysql
24
+ # database: <%= @options["app"].downcase %>_production
25
+ # host: localhost
26
+ # username: root
27
+ # password:
28
+
29
+ development:
30
+ default:
31
+ adapter: sqlite3
32
+ database: db/<%= @options["app"].downcase %>_development.db
33
+
34
+ test:
35
+ default:
36
+ adapter: sqlite3
37
+ database: db/<%= @options["app"].downcase %>_test.db
38
+
39
+ production:
40
+ default:
41
+ adapter: sqlite3
42
+ database: db/<%= @options["app"].downcase %>_production.db
43
+ <% else -%>
1
44
  # development:
2
45
  # adapter: mysql
3
46
  # database: <%= @options["app"].downcase %>_development
@@ -29,4 +72,5 @@ test:
29
72
 
30
73
  production:
31
74
  adapter: sqlite3
32
- database: db/<%= @options["app"].downcase %>_production.db
75
+ database: db/<%= @options["app"].downcase %>_production.db
76
+ <% end -%>
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require "test/unit"
3
3
  require 'fileutils'
4
4
 
5
- ENV["MACK_ENV"] = "test"
5
+ ENV["_mack_env"] = "test"
6
6
 
7
7
  # load the mack framework:
8
8
  load(File.join(File.dirname(__FILE__), "..", "Rakefile"))
@@ -1,9 +1,31 @@
1
1
  module Mack
2
+
2
3
  # All configuration for the Mack subsystem happens here. Each of the default environments,
3
4
  # production, development, and test have their own default configuration options. These
4
5
  # get merged with overall default options.
5
6
  module Configuration # :nodoc:
6
7
 
8
+ def self.method_missing(sym, *args)
9
+ ev = "_mack_#{sym}".downcase
10
+ return ENV[ev]
11
+ end
12
+
13
+ def self.set(name, value)
14
+ ENV["_mack_#{name.to_s.downcase}"] = value
15
+ end
16
+
17
+ self.set(:env, "development") if self.env.nil?
18
+ self.set(:root, FileUtils.pwd) if self.root.nil?
19
+ self.set(:public_directory, File.join(self.root, "public")) if self.public_directory.nil?
20
+ self.set(:app_directory, File.join(self.root, "app")) if self.app_directory.nil?
21
+ self.set(:lib_directory, File.join(self.root, "lib")) if self.lib_directory.nil?
22
+ self.set(:config_directory, File.join(self.root, "config")) if self.config_directory.nil?
23
+ self.set(:views_directory, File.join(self.app_directory, "views")) if self.views_directory.nil?
24
+ self.set(:layouts_directory, File.join(self.views_directory, "layouts")) if self.layouts_directory.nil?
25
+ self.set(:plugins, File.join(self.root, "vendor", "plugins")) if self.plugins.nil?
26
+
27
+
28
+
7
29
  # use local memory and store stuff for 24 hours:
8
30
  # use file for sessions and store them for 4 hours:
9
31
  DEFAULTS_PRODUCTION = {
@@ -15,12 +37,12 @@ module Mack
15
37
  "debug" => false,
16
38
  "adapter" => "file",
17
39
  "store_options" =>
18
- {"dir" => File.join(MACK_ROOT, "tmp")},
40
+ {"dir" => File.join(Mack::Configuration.root, "tmp")},
19
41
  "expiry_time" => 14400,
20
42
  "logging" => {
21
43
  "logger_1" => {
22
44
  "type" => "file",
23
- "file" => File.join(MACK_ROOT, "log", "cachetastic_caches_mack_session_cache.log")
45
+ "file" => File.join(Mack::Configuration.root, "log", "cachetastic_caches_mack_session_cache.log")
24
46
  }
25
47
  }
26
48
  }
@@ -58,7 +80,7 @@ module Mack
58
80
  "logging" => {
59
81
  "logger_1" => {
60
82
  "type" => "file",
61
- "file" => File.join(MACK_ROOT, "log", "cachetastic.log")
83
+ "file" => File.join(Mack::Configuration.root, "log", "cachetastic.log")
62
84
  }
63
85
  }
64
86
  },
@@ -73,12 +95,12 @@ module Mack
73
95
  "log::file" => true,
74
96
  "log::console_format" => "%l:\t[%d]\t%M",
75
97
  "log::file_format" => "%l:\t[%d]\t%M"
76
- }.merge(eval("DEFAULTS_#{MACK_ENV.upcase}"))
98
+ }.merge(eval("DEFAULTS_#{Mack::Configuration.env.upcase}"))
77
99
  end
78
100
 
79
101
  app_config.load_hash(DEFAULTS, "mack_defaults")
80
- app_config.load_file(File.join(MACK_CONFIG, "app_config", "default.yml"))
81
- app_config.load_file(File.join(MACK_CONFIG, "app_config", "#{MACK_ENV}.yml"))
102
+ app_config.load_file(File.join(Mack::Configuration.config_directory, "app_config", "default.yml"))
103
+ app_config.load_file(File.join(Mack::Configuration.config_directory, "app_config", "#{Mack::Configuration.env}.yml"))
82
104
  # app_config.reload
83
105
 
84
106
  end
@@ -5,6 +5,8 @@
5
5
  # * Mack::TestHelpers
6
6
  # * Mack::Routes::Urls
7
7
 
8
+ require File.join(File.dirname(__FILE__), "initializer")
9
+
8
10
  fl = File.join(File.dirname(__FILE__), "..")
9
11
 
10
12
  require File.join(fl, "test_extensions", "test_helpers")
@@ -17,33 +17,13 @@ require 'erubis'
17
17
  require 'erb'
18
18
  require 'genosaurus'
19
19
 
20
- # Set up Mack constants, if they haven't already been set up.
21
- unless Object.const_defined?("MACK_ENV")
22
- (Object::MACK_ENV = (ENV["MACK_ENV"] ||= "development")).to_sym
23
- end
24
- (Object::MACK_ROOT = (ENV["MACK_ROOT"] ||= FileUtils.pwd)) unless Object.const_defined?("MACK_ROOT")
20
+ require File.join(File.dirname(__FILE__), "configuration.rb")
25
21
 
26
- Object::MACK_PUBLIC = File.join(MACK_ROOT, "public") unless Object.const_defined?("MACK_PUBLIC")
27
- Object::MACK_APP = File.join(MACK_ROOT, "app") unless Object.const_defined?("MACK_APP")
28
- Object::MACK_LIB = File.join(MACK_ROOT, "lib") unless Object.const_defined?("MACK_LIB")
29
- Object::MACK_CONFIG = File.join(MACK_ROOT, "config") unless Object.const_defined?("MACK_CONFIG")
30
- Object::MACK_VIEWS = File.join(MACK_APP, "views") unless Object.const_defined?("MACK_VIEWS")
31
- Object::MACK_LAYOUTS = File.join(MACK_VIEWS, "layouts") unless Object.const_defined?("MACK_LAYOUTS")
32
- Object::MACK_PLUGINS = File.join(MACK_ROOT, "vendor", "plugins") unless Object.const_defined?("MACK_PLUGINS")
33
-
34
- unless Object.const_defined?("MACK_INITIALIZED")
35
- puts "Starting application in #{MACK_ENV} mode."
36
- puts "Mack root: #{MACK_ROOT}"
22
+ unless Mack::Configuration.initialized
37
23
 
38
- Object::MACK_INITIALIZED = true
24
+ puts "Starting application in #{Mack::Configuration.env} mode."
25
+ puts "Mack root: #{Mack::Configuration.root}"
39
26
 
40
- # Set up 'Rails' constants to allow for easier use of existing gems/plugins like application_configuration.
41
- # I would like to take these out eventually, but for right now, it's not doing too much harm.
42
- # Object::RAILS_ENV = MACK_ENV unless Object.const_defined?("RAILS_ENV")
43
- # Object::RAILS_ROOT = MACK_ROOT unless Object.const_defined?("RAILS_ROOT")
44
-
45
- require File.join(File.dirname(__FILE__), "configuration.rb")
46
-
47
27
  require File.join(File.dirname(__FILE__), "initializers", "logging.rb")
48
28
 
49
29
  require File.join(File.dirname(__FILE__), "initializers", "orm_support.rb")
@@ -65,10 +45,10 @@ unless Object.const_defined?("MACK_INITIALIZED")
65
45
  # set up application stuff:
66
46
 
67
47
  # set up routes:
68
- require File.join(MACK_CONFIG, "routes")
48
+ require File.join(Mack::Configuration.config_directory, "routes")
69
49
 
70
50
  # set up initializers:
71
- Dir.glob(File.join(MACK_CONFIG, "initializers", "**/*.rb")) do |d|
51
+ Dir.glob(File.join(Mack::Configuration.config_directory, "initializers", "**/*.rb")) do |d|
72
52
  require d
73
53
  end
74
54
  Mack::Utils::GemManager.instance.do_requires
@@ -77,26 +57,31 @@ unless Object.const_defined?("MACK_INITIALIZED")
77
57
  require File.join(File.dirname(__FILE__), "initializers", "plugins.rb")
78
58
 
79
59
  # make sure that default_controller is available to other controllers
80
- path = File.join(MACK_APP, "controllers", "default_controller.rb")
60
+ path = File.join(Mack::Configuration.app_directory, "controllers", "default_controller.rb")
81
61
  require path if File.exists?(path)
82
62
 
83
63
  # require 'app' files:
84
- Dir.glob(File.join(MACK_APP, "**/*.rb")).each do |d|
64
+ Dir.glob(File.join(Mack::Configuration.app_directory, "**/*.rb")).each do |d|
65
+ # puts "d: #{d}"
85
66
  begin
86
67
  require d
87
68
  rescue NameError => e
88
- mod = e.message.gsub("uninitialized constant ", "")
89
- x =%{
90
- module ::#{mod}
91
- end
92
- }
93
- eval(x)
94
- require d
69
+ if e.message.match("uninitialized constant")
70
+ mod = e.message.gsub("uninitialized constant ", "")
71
+ x =%{
72
+ module ::#{mod}
73
+ end
74
+ }
75
+ eval(x)
76
+ require d
77
+ else
78
+ raise e
79
+ end
95
80
  end
96
81
  end
97
82
 
98
83
  # require 'lib' files:
99
- Dir.glob(File.join(MACK_LIB, "**/*.rb")).each do |d|
84
+ Dir.glob(File.join(Mack::Configuration.lib_directory, "**/*.rb")).each do |d|
100
85
  require d
101
86
  end
102
87
 
@@ -120,4 +105,6 @@ unless Object.const_defined?("MACK_INITIALIZED")
120
105
  h = "Mack::ViewHelpers::#{cont}".constantize
121
106
  h.include_safely_into(Mack::ViewBinder)
122
107
  end
108
+
109
+ Mack::Configuration.set(:initialized, "true") if Mack::Configuration.initialized.nil?
123
110
  end
@@ -3,7 +3,7 @@
3
3
  #++
4
4
  include Log4r
5
5
 
6
- log_dir_loc = File.join(MACK_ROOT, "log")
6
+ log_dir_loc = File.join(Mack::Configuration.root, "log")
7
7
  FileUtils.mkdir_p(log_dir_loc)
8
8
 
9
9
  unless Object.const_defined?("MACK_DEFAULT_LOGGER")
@@ -17,7 +17,7 @@ unless Object.const_defined?("MACK_DEFAULT_LOGGER")
17
17
  # file:
18
18
  if app_config.log.file
19
19
  file_format = PatternFormatter.new(:pattern => app_config.log.file_format)
20
- log.add(FileOutputter.new('fileOutputter', :filename => File.join(log_dir_loc, "#{MACK_ENV}.log"), :trunc => false, :formatter => file_format))
20
+ log.add(FileOutputter.new('fileOutputter', :filename => File.join(log_dir_loc, "#{Mack::Configuration.env}.log"), :trunc => false, :formatter => file_format))
21
21
  end
22
22
 
23
23
  Object::MACK_DEFAULT_LOGGER = log
@@ -1,63 +1,4 @@
1
- #--
2
- # setup ORM:
3
- #++
4
-
5
- unless app_config.orm.nil?
6
- dbs = YAML::load(Erubis::Eruby.new(IO.read(File.join(MACK_CONFIG, "database.yml"))).result)
7
- case app_config.orm
8
- when 'active_record'
9
- when 'data_mapper'
10
- else
11
- MACK_DEFAULT_LOGGER.warn("Attempted to configure an unknown ORM: #{app_config.orm}")
12
- end
13
- else
14
- MACK_DEFAULT_LOGGER.warn("No ORM has been configured!")
15
- end
16
-
17
- if app_config.orm == 'active_record'
18
-
19
- begin
20
-
21
- module ActiveRecord # :nodoc:
22
- end
23
-
24
- require 'activerecord'
25
-
26
- ActiveRecord::Base.establish_connection(dbs[MACK_ENV])
27
- class ArSchemaInfo < ActiveRecord::Base # :nodoc:
28
- set_table_name :schema_info
29
- end
30
-
31
- rescue Exception => e
32
- end
33
-
34
- end
35
-
36
- begin
37
-
38
- module DataMapper # :nodoc:
39
- end
40
-
41
- require 'data_mapper'
42
-
43
- DataMapper::Database.setup(dbs[MACK_ENV])
44
- class DmSchemaInfo # :nodoc:
45
- include DataMapper::Persistence
46
-
47
- set_table_name "schema_info"
48
- property :version, :integer, :default => 0
49
- end
50
-
51
- rescue Exception => e
52
- end
53
-
54
-
55
- # Returns true if the system is setup to use ActiveRecord
56
- def using_active_record?
57
- app_config.orm == 'active_record'
58
- end
59
-
60
- # Returns true if the system is setup to use DataMapper
61
- def using_data_mapper?
62
- app_config.orm == 'data_mapper'
63
- end
1
+ orm = app_config.orm || 'data_mapper'
2
+
3
+ require "mack-#{orm}"
4
+ require "mack-#{orm}_tasks"