Sha256: 43020954098aa8f7278234dc814a9a14b7523ab79d2a33ab8e5ec63e49899f06

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

Contents

module Restfulie
  module Client#:nodoc
    module Base
      
      def method_missing(sym, *args, &block)
        if @base_position.respond_to?(sym)
          @base_position.send sym, *args, &block
        else
          super(sym, *args, &block)
        end
      end
     
      def self.included(base)#:nodoc
        base.extend(self)
      end
  
      def uses_restfulie(configuration = Configuration.new,&block)
        EntryPoint.configuration_for(resource_name,configuration,&block)
        configure
      end
  
      def configure
        configuration = EntryPoint.configuration_of(resource_name)
        raise "Undefined configuration for #{resource_name}" unless configuration
        @base_position = Restfulie.at(configuration.entry_point)
        configuration.representations.each do |representation_name,representation|
          register_representation(representation_name,representation)
        end
      end
  
      def resource_name
        @resource_name ||= self.class.to_s.to_sym 
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
restfulie-nosqlite-1.0.4 lib/restfulie/client/base.rb
restfulie-1.1.1 lib/restfulie/client/base.rb
restfulie-1.1.0 lib/restfulie/client/base.rb
restfulie-nosqlite-1.0.3 lib/restfulie/client/base.rb
restfulie-1.0.3 lib/restfulie/client/base.rb
restfulie-1.0.0 lib/restfulie/client/base.rb
restfulie-1.0.0.beta5 lib/restfulie/client/base.rb
restfulie-1.0.0.beta4 lib/restfulie/client/base.rb
restfulie-1.0.0.beta1 lib/restfulie/client/base.rb
restfulie-0.1.0.beta1 lib/restfulie/client/base.rb