adding functionality to list properties with values

This commit is contained in:
Lucas Renan 2010-11-10 22:33:46 -02:00
parent cc2b183946
commit 04ad16a396
3 changed files with 15 additions and 0 deletions

2
.gitignore vendored
View file

@ -6,3 +6,5 @@ Gemfile*
.rvmrc .rvmrc
.bundle .bundle
couchdb.std* couchdb.std*
*.*~

View file

@ -23,6 +23,12 @@ module CouchRest
self.class.properties self.class.properties
end end
def properties_with_values
props = {}
properties.each { |property| props[property.name] = read_attribute(property.name) }
props
end
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
@ -105,3 +111,4 @@ module CouchRest
end end
end end
end end

View file

@ -36,6 +36,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
@ -838,3 +843,4 @@ describe "Property Class" do
end end
end end