mack 0.4.7 → 0.5.0

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.
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"