Hi
I've managed to get my head around setting things up for slice
development, but it seems that there are many tools missing - e.g. rake
tasks. Is there a reason why developing a slice differs from developing
an app? I mean, one still needs most of the same tools in either
environments. Some general guidlines on how to approach slice
development, what to expect etc., will help remove the confusion...
As an example:
I've followed the instructions on the Merb Wiki and added this to my Rakefile:
===== init.rb ======
require 'rubygems'
require 'rake/gempackagetask'
require 'merb-core'
require 'merb-core/tasks/merb'
dependency 'dm-core'
dependency 'merb_datamapper'
# Load the basic runtime dependencies; this will include
# any plugins and therefore plugin rake tasks.
init_env = ENV['MERB_ENV'] || 'development'
Merb.load_dependencies(:environment => init_env)
# Get Merb plugins and dependencies
Merb::Plugins.rakefiles.each { |r| require r }
===== end ======
I can see the extra tasks from DataMapper etc, but rake still ignores
tasks in lib/myslice/slicetasks.rb, even though they seem to be
imported. I tested like so:
===== slice -i ======
irb: warn: can't alias context from irb_context.
>> Merb::Plugins.rakefiles.each { |r| puts r }
merb-slices/merbtasks
merb_datamapper/merbtasks
blog_slice/merbtasks
blog_slice/slicetasks
blog_slice/spectasks
=> ["merb-slices/merbtasks", "merb_datamapper/merbtasks",
"blog_slice/merbtasks", "blog_slice/slicetasks", "blog_slice/spectasks"]
===== end ======
But worse, when trying to run db:automigrate, I get:
===== rake db:automigrate ======
Loading init file from /Users/uri/Projects/test/blog_slice/config/init.rb
rake aborted!
Don't know how to build task 'merb_env'
(See full trace by running task with --trace)
===== end ======
My init.rb had this included before trying to make rake tasks work, but
I get the same even with the default init.rb. I guess I still need this
in init.rb to get the generators to create DataMapper related code (and
to automigrate as well)?
===== init.rb ======
dm_gems_version = "0.9.8"
dependency "dm-core", dm_gems_version
dependency "dm-aggregates", dm_gems_version
dependency "dm-migrations", dm_gems_version
dependency "dm-timestamps", dm_gems_version
dependency "dm-types", dm_gems_version
dependency "dm-validations", dm_gems_version
use_orm :datamapper
Merb::BootLoader.before_app_loads do
DataMapper.setup(:default, 'sqlite3::memory:')
DataMapper.auto_migrate!
DataObjects::Sqlite3.logger = DataObjects::Logger.new('log/dm.log', 0)
end
===== code ======
Thanks
Uri
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"merb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/merb?hl=en
-~----------~----~----~----~------~----~------~--~---