Skip to content

Instantly share code, notes, and snippets.

@hamiltop
Created March 25, 2013 04:48
Show Gist options
  • Save hamiltop/5234986 to your computer and use it in GitHub Desktop.
Save hamiltop/5234986 to your computer and use it in GitHub Desktop.
I am trying to build a datamapper adapter and I'm having trouble getting started. With the following files, I get the resulting NameError when I run rspec spec/dm-mongolitedb-adapter_spec.rb
lib/dm-mongolitedb-adapter.rb
1 require 'dm-core'
2 require 'dm-core/adapters/abstract_adapter'
3 require 'mongolitedb'
4
5 module DataMapper
6 module Adapters
7 class MongoLiteDBAdapter < AbstractAdapter
8 private
9 def initialize(name, options = {})
10 super
11 @db = MongoLiteDB.new
12 end
13 end
14 const_added(:MongoLiteDBAdapter)
15 end
16 end
spec/dm-mongolitedb-adapter_spec.rb
1 require 'dm-core/spec/shared/adapter_spec'
2 require_relative '../lib/dm-mongolitedb-adapter.rb'
3
4 describe 'Adapter' do
5 describe 'DataMapper::Adapters::MongoLiteDBAdapter' do
6 before :all do
7 @adapter = DataMapper.setup(:default, :adapter => 'mongolitedb')
8 end
9 it_should_behave_like 'An Adapter'
10 end
11 end
/Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/dm-core-1.2.0/lib/dm-core/spec/shared/adapter_spec.rb:21:in `block in adapter_supports?': undefined local variable or method `described_type' for #<Class:0x007fc9c727ef78> (NameError)
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/dm-core-1.2.0/lib/dm-core/spec/shared/adapter_spec.rb:15:in `each'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/dm-core-1.2.0/lib/dm-core/spec/shared/adapter_spec.rb:15:in `all?'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/dm-core-1.2.0/lib/dm-core/spec/shared/adapter_spec.rb:15:in `adapter_supports?'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/dm-core-1.2.0/lib/dm-core/spec/shared/adapter_spec.rb:45:in `block in <top (required)>'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/extensions/module_eval_with_args.rb:13:in `module_exec'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/extensions/module_eval_with_args.rb:13:in `module_eval_with_args'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:167:in `find_and_eval_shared'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:116:in `block in it_should_behave_like'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `module_eval'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `subclass'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:228:in `describe'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:115:in `it_should_behave_like'
from /Users/peter/repos/dm-mongolitedb-adapter/spec/dm-mongolitedb-adapter_spec.rb:11:in `block (2 levels) in <top (required)>'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `module_eval'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `subclass'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:228:in `describe'
from /Users/peter/repos/dm-mongolitedb-adapter/spec/dm-mongolitedb-adapter_spec.rb:7:in `block in <top (required)>'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `module_eval'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:242:in `subclass'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:228:in `describe'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/dsl.rb:18:in `describe'
from /Users/peter/repos/dm-mongolitedb-adapter/spec/dm-mongolitedb-adapter_spec.rb:6:in `<top (required)>'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
from /Users/peter/.rvm/gems/ruby-2.0.0-p0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment