Merge branch 'bundler' of github.com:couchrest/couchrest_model into bundler
This commit is contained in:
commit
6545ba9e12
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -6,3 +6,5 @@ Gemfile*
|
||||||
.rvmrc
|
.rvmrc
|
||||||
.bundle
|
.bundle
|
||||||
couchdb.std*
|
couchdb.std*
|
||||||
|
*.*~
|
||||||
|
|
||||||
|
|
38
Rakefile
38
Rakefile
|
@ -1,9 +1,9 @@
|
||||||
|
require 'bundler'
|
||||||
|
Bundler::GemHelper.install_tasks
|
||||||
|
|
||||||
require 'rake'
|
require 'rake'
|
||||||
require "rake/rdoctask"
|
require "rake/rdoctask"
|
||||||
|
|
||||||
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
|
||||||
require 'couchrest_model'
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
require 'rspec'
|
require 'rspec'
|
||||||
require 'rspec/core/rake_task'
|
require 'rspec/core/rake_task'
|
||||||
|
@ -15,41 +15,15 @@ EOS
|
||||||
exit(0)
|
exit(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
begin
|
|
||||||
require 'jeweler'
|
|
||||||
Jeweler::Tasks.new do |gemspec|
|
|
||||||
gemspec.name = "couchrest_model"
|
|
||||||
gemspec.summary = "Extends the CouchRest Document for advanced modelling."
|
|
||||||
gemspec.description = "CouchRest Model provides aditional features to the standard CouchRest Document class such as properties, view designs, associations, callbacks, typecasting and validations."
|
|
||||||
gemspec.email = "jchris@apache.org"
|
|
||||||
gemspec.homepage = "http://github.com/couchrest/couchrest_model"
|
|
||||||
gemspec.authors = ["J. Chris Anderson", "Matt Aimonetti", "Marcos Tapajos", "Will Leinweber", "Sam Lown"]
|
|
||||||
gemspec.extra_rdoc_files = %w( README.md LICENSE THANKS.md )
|
|
||||||
gemspec.files = %w( LICENSE README.md Rakefile THANKS.md history.txt couchrest.gemspec) + Dir["{examples,lib,spec}/**/*"] - Dir["spec/tmp"]
|
|
||||||
gemspec.has_rdoc = true
|
|
||||||
gemspec.add_dependency("couchrest", "~> 1.0.1")
|
|
||||||
gemspec.add_dependency("mime-types", "~> 1.15")
|
|
||||||
gemspec.add_dependency("activemodel", "~> 3.0.0.rc")
|
|
||||||
gemspec.add_dependency("tzinfo", "~> 0.3.22")
|
|
||||||
gemspec.add_dependency('railties', "~> 3.0.0.rc")
|
|
||||||
gemspec.add_development_dependency('rspec', '~> 2.0.0.beta.19')
|
|
||||||
gemspec.version = CouchRest::Model::VERSION
|
|
||||||
gemspec.date = Time.now.strftime("%Y-%m-%d")
|
|
||||||
gemspec.require_path = "lib"
|
|
||||||
end
|
|
||||||
rescue LoadError
|
|
||||||
puts "Jeweler not available. Install it with: gem install jeweler"
|
|
||||||
end
|
|
||||||
|
|
||||||
desc "Run all specs"
|
desc "Run all specs"
|
||||||
Rspec::Core::RakeTask.new(:spec) do |spec|
|
Rspec::Core::RakeTask.new(:spec) do |spec|
|
||||||
spec.spec_opts = ["--color"]
|
spec.rspec_opts = ["--color"]
|
||||||
spec.pattern = 'spec/**/*_spec.rb'
|
spec.pattern = 'spec/**/*_spec.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
desc "Print specdocs"
|
desc "Print specdocs"
|
||||||
Rspec::Core::RakeTask.new(:doc) do |spec|
|
Rspec::Core::RakeTask.new(:doc) do |spec|
|
||||||
spec.spec_opts = ["--format", "specdoc"]
|
spec.rspec_opts = ["--format", "specdoc"]
|
||||||
spec.pattern = 'spec/*_spec.rb'
|
spec.pattern = 'spec/*_spec.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,159 +1,35 @@
|
||||||
# Generated by jeweler
|
|
||||||
# DO NOT EDIT THIS FILE DIRECTLY
|
|
||||||
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
|
||||||
# -*- encoding: utf-8 -*-
|
# -*- encoding: utf-8 -*-
|
||||||
|
|
||||||
Gem::Specification.new do |s|
|
Gem::Specification.new do |s|
|
||||||
s.name = %q{couchrest_model}
|
s.name = %q{couchrest_model}
|
||||||
s.version = "1.0.0.beta8"
|
s.version = "1.0.0"
|
||||||
|
|
||||||
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
||||||
s.authors = ["J. Chris Anderson", "Matt Aimonetti", "Marcos Tapajos", "Will Leinweber", "Sam Lown"]
|
s.authors = ["J. Chris Anderson", "Matt Aimonetti", "Marcos Tapajos", "Will Leinweber", "Sam Lown"]
|
||||||
s.date = %q{2010-10-23}
|
s.date = %q{2011-01-16}
|
||||||
s.description = %q{CouchRest Model provides aditional features to the standard CouchRest Document class such as properties, view designs, associations, callbacks, typecasting and validations.}
|
s.description = %q{CouchRest Model provides aditional features to the standard CouchRest Document class such as properties, view designs, associations, callbacks, typecasting and validations.}
|
||||||
s.email = %q{jchris@apache.org}
|
s.email = %q{jchris@apache.org}
|
||||||
s.extra_rdoc_files = [
|
s.extra_rdoc_files = [
|
||||||
"LICENSE",
|
"LICENSE",
|
||||||
"README.md",
|
"README.md",
|
||||||
"THANKS.md"
|
"THANKS.md"
|
||||||
]
|
|
||||||
s.files = [
|
|
||||||
"LICENSE",
|
|
||||||
"README.md",
|
|
||||||
"Rakefile",
|
|
||||||
"THANKS.md",
|
|
||||||
"history.txt",
|
|
||||||
"lib/couchrest/model.rb",
|
|
||||||
"lib/couchrest/model/associations.rb",
|
|
||||||
"lib/couchrest/model/base.rb",
|
|
||||||
"lib/couchrest/model/callbacks.rb",
|
|
||||||
"lib/couchrest/model/casted_array.rb",
|
|
||||||
"lib/couchrest/model/casted_model.rb",
|
|
||||||
"lib/couchrest/model/class_proxy.rb",
|
|
||||||
"lib/couchrest/model/collection.rb",
|
|
||||||
"lib/couchrest/model/configuration.rb",
|
|
||||||
"lib/couchrest/model/design_doc.rb",
|
|
||||||
"lib/couchrest/model/document_queries.rb",
|
|
||||||
"lib/couchrest/model/errors.rb",
|
|
||||||
"lib/couchrest/model/extended_attachments.rb",
|
|
||||||
"lib/couchrest/model/persistence.rb",
|
|
||||||
"lib/couchrest/model/properties.rb",
|
|
||||||
"lib/couchrest/model/property.rb",
|
|
||||||
"lib/couchrest/model/property_protection.rb",
|
|
||||||
"lib/couchrest/model/support/couchrest.rb",
|
|
||||||
"lib/couchrest/model/support/hash.rb",
|
|
||||||
"lib/couchrest/model/typecast.rb",
|
|
||||||
"lib/couchrest/model/validations.rb",
|
|
||||||
"lib/couchrest/model/validations/casted_model.rb",
|
|
||||||
"lib/couchrest/model/validations/locale/en.yml",
|
|
||||||
"lib/couchrest/model/validations/uniqueness.rb",
|
|
||||||
"lib/couchrest/model/views.rb",
|
|
||||||
"lib/couchrest/railtie.rb",
|
|
||||||
"lib/couchrest_model.rb",
|
|
||||||
"lib/rails/generators/couchrest_model.rb",
|
|
||||||
"lib/rails/generators/couchrest_model/model/model_generator.rb",
|
|
||||||
"lib/rails/generators/couchrest_model/model/templates/model.rb",
|
|
||||||
"spec/couchrest/assocations_spec.rb",
|
|
||||||
"spec/couchrest/attachment_spec.rb",
|
|
||||||
"spec/couchrest/base_spec.rb",
|
|
||||||
"spec/couchrest/casted_model_spec.rb",
|
|
||||||
"spec/couchrest/casted_spec.rb",
|
|
||||||
"spec/couchrest/class_proxy_spec.rb",
|
|
||||||
"spec/couchrest/configuration_spec.rb",
|
|
||||||
"spec/couchrest/inherited_spec.rb",
|
|
||||||
"spec/couchrest/persistence_spec.rb",
|
|
||||||
"spec/couchrest/property_protection_spec.rb",
|
|
||||||
"spec/couchrest/property_spec.rb",
|
|
||||||
"spec/couchrest/subclass_spec.rb",
|
|
||||||
"spec/couchrest/validations.rb",
|
|
||||||
"spec/couchrest/view_spec.rb",
|
|
||||||
"spec/fixtures/attachments/README",
|
|
||||||
"spec/fixtures/attachments/couchdb.png",
|
|
||||||
"spec/fixtures/attachments/test.html",
|
|
||||||
"spec/fixtures/base.rb",
|
|
||||||
"spec/fixtures/more/article.rb",
|
|
||||||
"spec/fixtures/more/card.rb",
|
|
||||||
"spec/fixtures/more/cat.rb",
|
|
||||||
"spec/fixtures/more/client.rb",
|
|
||||||
"spec/fixtures/more/course.rb",
|
|
||||||
"spec/fixtures/more/event.rb",
|
|
||||||
"spec/fixtures/more/invoice.rb",
|
|
||||||
"spec/fixtures/more/person.rb",
|
|
||||||
"spec/fixtures/more/question.rb",
|
|
||||||
"spec/fixtures/more/sale_entry.rb",
|
|
||||||
"spec/fixtures/more/sale_invoice.rb",
|
|
||||||
"spec/fixtures/more/service.rb",
|
|
||||||
"spec/fixtures/more/user.rb",
|
|
||||||
"spec/fixtures/views/lib.js",
|
|
||||||
"spec/fixtures/views/test_view/lib.js",
|
|
||||||
"spec/fixtures/views/test_view/only-map.js",
|
|
||||||
"spec/fixtures/views/test_view/test-map.js",
|
|
||||||
"spec/fixtures/views/test_view/test-reduce.js",
|
|
||||||
"spec/spec_helper.rb"
|
|
||||||
]
|
]
|
||||||
s.homepage = %q{http://github.com/couchrest/couchrest_model}
|
s.homepage = %q{http://github.com/couchrest/couchrest_model}
|
||||||
s.rdoc_options = ["--charset=UTF-8"]
|
|
||||||
s.require_paths = ["lib"]
|
|
||||||
s.rubygems_version = %q{1.3.7}
|
s.rubygems_version = %q{1.3.7}
|
||||||
s.summary = %q{Extends the CouchRest Document for advanced modelling.}
|
s.summary = %q{Extends the CouchRest Document for advanced modelling.}
|
||||||
s.test_files = [
|
|
||||||
"spec/spec_helper.rb",
|
s.files = `git ls-files`.split("\n")
|
||||||
"spec/couchrest/configuration_spec.rb",
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
||||||
"spec/couchrest/property_spec.rb",
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
||||||
"spec/couchrest/property_protection_spec.rb",
|
s.require_paths = ["lib"]
|
||||||
"spec/couchrest/casted_spec.rb",
|
|
||||||
"spec/couchrest/subclass_spec.rb",
|
s.add_dependency(%q<couchrest>, "~> 1.0.1")
|
||||||
"spec/couchrest/persistence_spec.rb",
|
s.add_dependency(%q<mime-types>, "~> 1.15")
|
||||||
"spec/couchrest/casted_model_spec.rb",
|
s.add_dependency(%q<activemodel>, "~> 3.0.0")
|
||||||
"spec/couchrest/assocations_spec.rb",
|
s.add_dependency(%q<tzinfo>, "~> 0.3.22")
|
||||||
"spec/couchrest/validations.rb",
|
s.add_dependency(%q<railties>, "~> 3.0.0")
|
||||||
"spec/couchrest/view_spec.rb",
|
s.add_dependency(%q<rspec>, ">= 2.0.0")
|
||||||
"spec/couchrest/inherited_spec.rb",
|
s.add_development_dependency(%q<rspec>, ">= 2.0.0")
|
||||||
"spec/couchrest/attachment_spec.rb",
|
s.add_development_dependency(%q<rack-test>, ">= 0.5.7")
|
||||||
"spec/couchrest/class_proxy_spec.rb",
|
|
||||||
"spec/couchrest/base_spec.rb",
|
|
||||||
"spec/fixtures/base.rb",
|
|
||||||
"spec/fixtures/more/card.rb",
|
|
||||||
"spec/fixtures/more/event.rb",
|
|
||||||
"spec/fixtures/more/user.rb",
|
|
||||||
"spec/fixtures/more/sale_invoice.rb",
|
|
||||||
"spec/fixtures/more/article.rb",
|
|
||||||
"spec/fixtures/more/service.rb",
|
|
||||||
"spec/fixtures/more/invoice.rb",
|
|
||||||
"spec/fixtures/more/person.rb",
|
|
||||||
"spec/fixtures/more/question.rb",
|
|
||||||
"spec/fixtures/more/cat.rb",
|
|
||||||
"spec/fixtures/more/client.rb",
|
|
||||||
"spec/fixtures/more/sale_entry.rb",
|
|
||||||
"spec/fixtures/more/course.rb"
|
|
||||||
]
|
|
||||||
|
|
||||||
if s.respond_to? :specification_version then
|
|
||||||
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
||||||
s.specification_version = 3
|
|
||||||
|
|
||||||
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
||||||
s.add_runtime_dependency(%q<couchrest>, ["~> 1.0.1"])
|
|
||||||
s.add_runtime_dependency(%q<mime-types>, ["~> 1.15"])
|
|
||||||
s.add_runtime_dependency(%q<activemodel>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_runtime_dependency(%q<tzinfo>, ["~> 0.3.22"])
|
|
||||||
s.add_runtime_dependency(%q<railties>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_development_dependency(%q<rspec>, ["~> 2.0.0.beta.19"])
|
|
||||||
else
|
|
||||||
s.add_dependency(%q<couchrest>, ["~> 1.0.1"])
|
|
||||||
s.add_dependency(%q<mime-types>, ["~> 1.15"])
|
|
||||||
s.add_dependency(%q<activemodel>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_dependency(%q<tzinfo>, ["~> 0.3.22"])
|
|
||||||
s.add_dependency(%q<railties>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.19"])
|
|
||||||
end
|
|
||||||
else
|
|
||||||
s.add_dependency(%q<couchrest>, ["~> 1.0.1"])
|
|
||||||
s.add_dependency(%q<mime-types>, ["~> 1.15"])
|
|
||||||
s.add_dependency(%q<activemodel>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_dependency(%q<tzinfo>, ["~> 0.3.22"])
|
|
||||||
s.add_dependency(%q<railties>, ["~> 3.0.0.rc"])
|
|
||||||
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.19"])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
== Next Version
|
== CouchRest Model 1.0.0
|
||||||
|
|
||||||
* Major enhancements
|
* Major enhancements
|
||||||
* Support for configuration module and "model_type_key" option for overriding model's type key
|
* Support for configuration module and "model_type_key" option for overriding model's type key
|
||||||
|
|
|
@ -3,7 +3,7 @@ module CouchRest
|
||||||
|
|
||||||
module Model
|
module Model
|
||||||
|
|
||||||
VERSION = "1.0.0.beta8"
|
VERSION = File.read(File.expand_path('../../../VERSION', __FILE__)).strip
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,12 @@ module CouchRest
|
||||||
doc
|
doc
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def last(opts = {})
|
||||||
|
doc = @klass.last({:database => @database}.merge(opts))
|
||||||
|
doc.database = @database if doc && doc.respond_to?(:database)
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
|
||||||
def get(id)
|
def get(id)
|
||||||
doc = @klass.get(id, @database)
|
doc = @klass.get(id, @database)
|
||||||
doc.database = @database if doc && doc.respond_to?(:database)
|
doc.database = @database if doc && doc.respond_to?(:database)
|
||||||
|
|
|
@ -38,6 +38,22 @@ module CouchRest
|
||||||
first_instance.empty? ? nil : first_instance.first
|
first_instance.empty? ? nil : first_instance.first
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Load the last document that have the model_type_key's field equal to
|
||||||
|
# the name of the current class.
|
||||||
|
# It's similar to method first, just adds :descending => true
|
||||||
|
#
|
||||||
|
# ==== Returns
|
||||||
|
# Object:: The last object instance available
|
||||||
|
# or
|
||||||
|
# Nil:: if no instances available
|
||||||
|
#
|
||||||
|
# ==== Parameters
|
||||||
|
# opts<Hash>::
|
||||||
|
# View options, see <tt>CouchRest::Database#view</tt> options for more info.
|
||||||
|
def last(opts = {})
|
||||||
|
first(opts.merge!(:descending => true))
|
||||||
|
end
|
||||||
|
|
||||||
# Load a document from the database by id
|
# Load a document from the database by id
|
||||||
# No exceptions will be raised if the document isn't found
|
# No exceptions will be raised if the document isn't found
|
||||||
#
|
#
|
||||||
|
|
|
@ -18,6 +18,16 @@ module CouchRest
|
||||||
self.class.properties
|
self.class.properties
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the Class properties with their values
|
||||||
|
#
|
||||||
|
# ==== Returns
|
||||||
|
# Array:: the list of properties with their values
|
||||||
|
def properties_with_values
|
||||||
|
props = {}
|
||||||
|
properties.each { |property| props[property.name] = read_attribute(property.name) }
|
||||||
|
props
|
||||||
|
end
|
||||||
|
|
||||||
# Read the casted value of an attribute defined with a property.
|
# Read the casted value of an attribute defined with a property.
|
||||||
#
|
#
|
||||||
# ==== Returns
|
# ==== Returns
|
||||||
|
@ -35,7 +45,7 @@ module CouchRest
|
||||||
|
|
||||||
# Takes a hash as argument, and applies the values by using writer methods
|
# Takes a hash as argument, and applies the values by using writer methods
|
||||||
# for each key. It doesn't save the document at the end. Raises a NoMethodError if the corresponding methods are
|
# for each key. It doesn't save the document at the end. Raises a NoMethodError if the corresponding methods are
|
||||||
# missing. In case of error, no attributes are changed.
|
# missing. In case of error, no attributes are changed.
|
||||||
def update_attributes_without_saving(hash)
|
def update_attributes_without_saving(hash)
|
||||||
# Remove any protected and update all the rest. Any attributes
|
# Remove any protected and update all the rest. Any attributes
|
||||||
# which do not have a property will simply be ignored.
|
# which do not have a property will simply be ignored.
|
||||||
|
@ -47,7 +57,6 @@ module CouchRest
|
||||||
|
|
||||||
private
|
private
|
||||||
# The following methods should be accessable by the Model::Base Class, but not by anything else!
|
# The following methods should be accessable by the Model::Base Class, but not by anything else!
|
||||||
|
|
||||||
def apply_all_property_defaults
|
def apply_all_property_defaults
|
||||||
return if self.respond_to?(:new?) && (new? == false)
|
return if self.respond_to?(:new?) && (new? == false)
|
||||||
# TODO: cache the default object
|
# TODO: cache the default object
|
||||||
|
@ -59,7 +68,7 @@ module CouchRest
|
||||||
def prepare_all_attributes(doc = {}, options = {})
|
def prepare_all_attributes(doc = {}, options = {})
|
||||||
apply_all_property_defaults
|
apply_all_property_defaults
|
||||||
if options[:directly_set_attributes]
|
if options[:directly_set_attributes]
|
||||||
directly_set_read_only_attributes(doc)
|
directly_set_read_only_attributes(doc)
|
||||||
else
|
else
|
||||||
doc = remove_protected_attributes(doc)
|
doc = remove_protected_attributes(doc)
|
||||||
end
|
end
|
||||||
|
@ -97,7 +106,7 @@ module CouchRest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_attributes(hash)
|
def set_attributes(hash)
|
||||||
attrs = remove_protected_attributes(hash)
|
attrs = remove_protected_attributes(hash)
|
||||||
directly_set_attributes(attrs)
|
directly_set_attributes(attrs)
|
||||||
|
@ -206,3 +215,4 @@ module CouchRest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,8 @@
|
||||||
gem 'couchrest', ">= 1.0.0"
|
|
||||||
require 'couchrest'
|
require 'couchrest'
|
||||||
|
|
||||||
gem "tzinfo", ">= 0.3.22"
|
|
||||||
|
|
||||||
gem 'railties', ">= 3.0.0.rc"
|
|
||||||
gem "activesupport", ">= 3.0.0.rc"
|
|
||||||
|
|
||||||
require 'active_support/core_ext'
|
require 'active_support/core_ext'
|
||||||
require 'active_support/json'
|
require 'active_support/json'
|
||||||
|
|
||||||
gem "activemodel", ">= 3.0.0.rc"
|
|
||||||
require 'active_model'
|
require 'active_model'
|
||||||
require "active_model/callbacks"
|
require "active_model/callbacks"
|
||||||
require "active_model/conversion"
|
require "active_model/conversion"
|
||||||
|
@ -21,7 +14,6 @@ require "active_model/translation"
|
||||||
require "active_model/validator"
|
require "active_model/validator"
|
||||||
require "active_model/validations"
|
require "active_model/validations"
|
||||||
|
|
||||||
gem "mime-types", ">= 1.15"
|
|
||||||
require 'mime/types'
|
require 'mime/types'
|
||||||
require "enumerator"
|
require "enumerator"
|
||||||
require "time"
|
require "time"
|
||||||
|
|
|
@ -87,6 +87,12 @@ describe "Proxy Class" do
|
||||||
u = @us.first
|
u = @us.first
|
||||||
u.title.should =~ /\A...\z/
|
u.title.should =~ /\A...\z/
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should get last" do
|
||||||
|
u = @us.last
|
||||||
|
u.title.should == "aaa"
|
||||||
|
end
|
||||||
|
|
||||||
it "should set database on first retreived document" do
|
it "should set database on first retreived document" do
|
||||||
u = @us.first
|
u = @us.first
|
||||||
u.database.should === DB
|
u.database.should === DB
|
||||||
|
|
|
@ -22,6 +22,11 @@ describe "Model properties" do
|
||||||
@card.properties.map{|p| p.name}.should include("first_name")
|
@card.properties.map{|p| p.name}.should include("first_name")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should list object properties with values" do
|
||||||
|
@card.properties_with_values.should be_an_instance_of(Hash)
|
||||||
|
@card.properties_with_values["first_name"].should == "matt"
|
||||||
|
end
|
||||||
|
|
||||||
it "should let you access a property value (getter)" do
|
it "should let you access a property value (getter)" do
|
||||||
@card.first_name.should == "matt"
|
@card.first_name.should == "matt"
|
||||||
end
|
end
|
||||||
|
@ -869,3 +874,4 @@ describe "Property Class" do
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -273,6 +273,12 @@ describe "Model views" do
|
||||||
u = Unattached.first :database=>@db
|
u = Unattached.first :database=>@db
|
||||||
u.title.should =~ /\A...\z/
|
u.title.should =~ /\A...\z/
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should get last" do
|
||||||
|
u = Unattached.last :database=>@db
|
||||||
|
u.title.should == "aaa"
|
||||||
|
end
|
||||||
|
|
||||||
it "should barf on all_design_doc_versions if no database given" do
|
it "should barf on all_design_doc_versions if no database given" do
|
||||||
lambda{Unattached.all_design_doc_versions}.should raise_error
|
lambda{Unattached.all_design_doc_versions}.should raise_error
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
require "bundler/setup"
|
||||||
require "rubygems"
|
require "rubygems"
|
||||||
require "rspec" # Satisfies Autotest and anyone else not using the Rake tasks
|
require "rspec" # Satisfies Autotest and anyone else not using the Rake tasks
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue