Sha256: 744d460aa8bff383bf992f474e0ef6c06fae67f01c2e7db74d6ece0464cecb22

Contents?: true

Size: 617 Bytes

Versions: 2

Compression:

Stored size: 617 Bytes

Contents

module Cistern::Request
  def self.service_request(service, klass)
    request = klass.request_name || Cistern::String.camelize(Cistern::String.demodulize(klass.name))

    service::Mock.module_eval <<-EOS, __FILE__, __LINE__
      def #{request}(*args)
        #{klass}.new(self)._mock(*args)
      end
    EOS

    service::Real.module_eval <<-EOS, __FILE__, __LINE__
      def #{request}(*args)
        #{klass}.new(self)._real(*args)
      end
    EOS

    request
  end

  attr_reader :service

  def initialize(service)
    @service = service
  end

  module ClassMethods
    def request_name
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cistern-1.0.1.pre6 lib/cistern/request.rb
cistern-1.0.1.pre5 lib/cistern/request.rb