lib/gooddata/rest/object.rb in gooddata-0.6.24 vs lib/gooddata/rest/object.rb in gooddata-0.6.25

- old
+ new

@@ -2,17 +2,46 @@ # # Copyright (c) 2010-2015 GoodData Corporation. All rights reserved. # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. +require_relative '../mixins/data_property_reader' +require_relative '../mixins/data_property_writer' + +require_relative '../mixins/content_getter' + +require_relative '../mixins/meta_getter' + +require_relative '../mixins/meta_property_reader' +require_relative '../mixins/meta_property_writer' + +require_relative '../mixins/root_key_getter' + module GoodData module Rest # Base class dealing with REST endpoints # # MUST Be interface for objects dealing with REST endpoints # MUST provide way to work with remote REST-like API in unified manner. # MUST NOT create new connections. class Object + extend Mixin::DataPropertyReader + extend Mixin::DataPropertyWriter + + extend Mixin::MetaPropertyReader + extend Mixin::MetaPropertyWriter + + include Mixin::ContentGetter + include Mixin::RootKeyGetter + include Mixin::DataGetter + include Mixin::MetaGetter + + attr_accessor :json + alias_method :raw_data, :json + alias_method :to_hash, :json + + alias_method :to_json, :json + attr_writer :client attr_accessor :project def initialize(_opts = {}) @client = nil