Sha256: 7ddbd941a3dfcf516d916cf785482a63c21df15f43acac7b9b69b1e1cf34a936

Contents?: true

Size: 793 Bytes

Versions: 1

Compression:

Stored size: 793 Bytes

Contents

module HighriseMapper
  module Context

    module ClassMethods
    end
    
    module InstanceMethods
      def setup_highrise
        Highrise::Base.site = self.highrise_base_url
        Highrise::Base.user = self.highrise_token
        Highrise::Base.format = :xml  
      end
    end

    def self.included(receiver)
      receiver.extend         ClassMethods
      receiver.send :include, InstanceMethods
      check_expected_behavior(receiver)
    end

    private
    def self.check_expected_behavior(receiver)
      unless receiver.method_defined? 'highrise_base_url'
        raise 'Your model must respond to "highrise_base_url"'
      end
      unless receiver.method_defined? 'highrise_token'
        raise 'Your model must respond to "highrise_token"'
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
highrise_mapper-0.0.2 lib/highrise_mapper/context.rb