Sha256: 5f630831a04d973b0dc9c2655ccdd5541fc1aba46a4a8371f1324ada6fba27b0

Contents?: true

Size: 695 Bytes

Versions: 3

Compression:

Stored size: 695 Bytes

Contents

require 'roar/decorator'
require 'roar/representer/json/hal'
require 'pact_broker/api/decorators/pact_broker_urls'

module PactBroker

  module Api

    module Decorators

      class BaseDecorator < Roar::Decorator
        include Roar::Representer::JSON::HAL
        include Roar::Representer::JSON::HAL::Links
        include PactBroker::Api::PactBrokerUrls

        def initialize represented, base_url = nil
          super(represented)
          @base_url = base_url
        end

        def to_json
          json = super()
          if @base_url
            json.gsub(base_url_placeholder, @base_url)
          else
            json
          end
        end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pact_broker-0.0.8 lib/pact_broker/api/decorators/base_decorator.rb
pact_broker-0.0.7 lib/pact_broker/api/decorators/base_decorator.rb
pact_broker-0.0.6 lib/pact_broker/api/decorators/base_decorator.rb