lib/exposure/configuration.rb in exposure-0.0.6 vs lib/exposure/configuration.rb in exposure-0.0.7

- old
+ new

@@ -1,62 +1,44 @@ module Exposure - module Configuration + module Configuration # options # :nested => false or symbol or array of symbols # defaults to false # :only => array of REST methods names as symbols to only include - # defaults to [:show, :new, :create, :edit, :update, :destroy] - # :except => array of REST methods to exclude - # defaults to [ ] - # :formats => array of - # defaults to [ :html, :xml, :json ] - def expose_one(resource_name, options = {}) - include ActiveSupport::Callbacks - extend Exposure::Common - self.resource_name = resource_name - self.member_nesting = [ [self.resource_name.to_sym] ] - - extend Patterns::Resource - include Patterns::Resource::Actions - - define_callbacks(*Patterns::Resource::Callbacks) - end - - # options - # :nested => false or symbol or array of symbols - # defaults to false - # :only => array of REST methods names as symbols to only include # defaults to [:index, :show, :new, :create, :edit, :update, :destroy] # :except => array of REST methods to exclude # defaults to [ ] # :formats => array of - # defaults to [ :html, :xml, :json ] + # defaults to [ :html, :xml] # def expose_many(name, options = {}) - include ActiveSupport::Callbacks - extend Exposure::Common + @_exposed_resource_name = name + @_exposed_resource_options = options - self.resource_name = name.to_s.singularize - self.resources_name = name.to_s + extend Configuration::Options - if nesting = options[:nested] - - self.parent_model = nesting.shift.to_s.singularize.camelize.constantize - - build_default_finders(self.resources_name, nesting) - - nesting.collect! {|sym| [sym.to_s.singularize.to_sym, sym]} - self.member_nesting = nesting + [ [self.resource_name.to_sym] ] - self.collection_nesting = nesting + [ [self.resources_name.to_sym] ] - else - self.parent_model = self.resource_name.camelize.constantize - build_default_finders(self.resource_name, []) - self.member_nesting = [ [self.resource_name.to_sym] ] - self.collection_nesting = [ [self.resources_name.to_sym] ] + class << self + attr_accessor :resource_name, :resources_name, + :resource_chain, :resources_chain, + :collection_nesting, :member_nesting, + :parent_model end + include ActiveSupport::Callbacks + include Exposure::Finding + include Exposure::Flashing + include Exposure::Responding + include Exposure::Callbacks + + self.name! + self.build_default_finders! + self.build_default_builders! + extend Patterns::Resources include Patterns::Resources::Actions + + self.allow_actions! + self.allow_formats! define_callbacks(*Patterns::Resources::Callbacks) end alias :expose :expose_many end \ No newline at end of file