Sha256: de280d508edcfb24dc653add3fecc1f3f2f13e2633d0eb02ec493cb4210a676b

Contents?: true

Size: 614 Bytes

Versions: 1

Compression:

Stored size: 614 Bytes

Contents

require 'rest-core/client'
require 'rest-core/wrapper'

class RestCore::Builder
  include RestCore
  include Wrapper

  def self.client prefix, *attrs, &block
    new(&block).to_client(prefix, *attrs)
  end

  def to_client prefix, *attrs
    # struct = Struct.new(*members, *attrs) if RUBY_VERSION >= 1.9.2
    struct = Struct.new(*(members + attrs))
    client = Class.new(struct)
    client.send(:include, Client)
    Object.const_set( prefix , client)
    client.const_set('Struct', struct)
    class << client; attr_reader :builder; end
    client.instance_variable_set(:@builder, self)
    client
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rest-core-0.0.1 lib/rest-core/builder.rb