Sha256: f0f689b3f8c2b8236e29525000f1bc697f11429bc458cb20ef00538c17d608b4

Contents?: true

Size: 509 Bytes

Versions: 4

Compression:

Stored size: 509 Bytes

Contents

module DocuSign
  module Builder
    class Base
      class << self
        attr_accessor :builder_class
      end

      attr_accessor :object

      def initialize(*args, &block); end

      def build(options = {}, &block)
        (self.object = builder_class.new).tap do |o|
          options.each do |key, value|
            o.send "#{key}=", value
          end

          yield o if block_given?
        end
      end

      def builder_class
        self.class.builder_class
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
docu_sign-0.0.6 lib/docu_sign/builder/base.rb
docu_sign-0.0.5 lib/docu_sign/builder/base.rb
docu_sign-0.0.4 lib/docu_sign/builder/base.rb
docu_sign-0.0.3 lib/docu_sign/builder/base.rb