diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-12-20 18:48:01 -0600 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-12-20 19:04:53 -0600 |
commit | c0ad3f6cc618f42eae0c5d5ceefde32ff3342c20 (patch) | |
tree | ad15c5f511f2a4b0bfed81086b933b92befcb5ce /activeresource/lib/active_resource | |
parent | 669c5eec445ff097b765c387b92ae1f174134f75 (diff) | |
download | rails-c0ad3f6cc618f42eae0c5d5ceefde32ff3342c20.tar.gz rails-c0ad3f6cc618f42eae0c5d5ceefde32ff3342c20.tar.bz2 rails-c0ad3f6cc618f42eae0c5d5ceefde32ff3342c20.zip |
Rename define_schema => schema
Diffstat (limited to 'activeresource/lib/active_resource')
-rw-r--r-- | activeresource/lib/active_resource/base.rb | 43 | ||||
-rw-r--r-- | activeresource/lib/active_resource/schema.rb | 4 |
2 files changed, 22 insertions, 25 deletions
diff --git a/activeresource/lib/active_resource/base.rb b/activeresource/lib/active_resource/base.rb index b39f8fbd48..d07571e1d7 100644 --- a/activeresource/lib/active_resource/base.rb +++ b/activeresource/lib/active_resource/base.rb @@ -241,12 +241,6 @@ module ActiveResource cattr_accessor :logger class << self - # This will shortly disappear to be replaced by the migration-style - # usage of this for defining a schema. At that point, all the doc - # currenlty on <tt>schema=</tt> will move back here... - def schema # :nodoc: - @schema ||= nil - end # Creates a schema for this resource - setting the attributes that are # known prior to fetching an instance from the remote system. # @@ -260,7 +254,7 @@ module ActiveResource # # example: # class Person < ActiveResource::Base - # define_schema do |s| + # schema do |s| # # define each attribute separately # s.attribute 'name', :string # @@ -300,32 +294,35 @@ module ActiveResource # j.age # => 34 # cast to an integer # j.weight # => '65' # still a string! # - def define_schema - schema_definition = Schema.new - yield schema_definition if block_given? + def schema(&block) + if block_given? + schema_definition = Schema.new + yield schema_definition - # skip out if we didn't define anything - return unless schema_definition.attrs.present? + # skip out if we didn't define anything + return unless schema_definition.attrs.present? - @schema ||= {}.with_indifferent_access - @known_attributes ||= [] + @schema ||= {}.with_indifferent_access + @known_attributes ||= [] - schema_definition.attrs.each do |k,v| - @schema[k] = v - @known_attributes << k - end + schema_definition.attrs.each do |k,v| + @schema[k] = v + @known_attributes << k + end - schema + schema + else + @schema ||= nil + end end - # Alternative, direct way to specify a <tt>schema</tt> for this - # Resource. <tt>define_schema</tt> is more flexible, but this is quick + # Resource. <tt>schema</tt> is more flexible, but this is quick # for a very simple schema. # # Pass the schema as a hash with the keys being the attribute-names # and the value being one of the accepted attribute types (as defined - # in <tt>define_schema</tt>) + # in <tt>schema</tt>) # # example: # @@ -346,7 +343,7 @@ module ActiveResource raise ArgumentError, "Expected a hash" unless the_schema.kind_of? Hash - define_schema do |s| + schema do |s| the_schema.each {|k,v| s.attribute(k,v) } end end diff --git a/activeresource/lib/active_resource/schema.rb b/activeresource/lib/active_resource/schema.rb index 498b00ffef..6f0b229145 100644 --- a/activeresource/lib/active_resource/schema.rb +++ b/activeresource/lib/active_resource/schema.rb @@ -15,13 +15,13 @@ module ActiveResource # :nodoc: # unlike an Active Record TableDefinition (on which it is based). # It provides a set of convenience methods for people to define their # schema using the syntax: - # define_schema do |s| + # schema do |s| # s.string :foo # s.integer :bar # end # # The schema stores the name and type of each attribute. That is then - # read out by the define_schema method to populate the actual + # read out by the schema method to populate the actual # Resource's schema def initialize @attrs = {} |