Sha256: cb493000a8986443ec0b037a3d947a0315bac2d503face412b1732ecae66eea5

Contents?: true

Size: 889 Bytes

Versions: 51

Compression:

Stored size: 889 Bytes

Contents

module ForestAdminDatasourceToolkit
  module Decorators
    class DatasourceDecorator
      def initialize(child_datasource, collection_decorator_class)
        @child_datasource = child_datasource
        @collection_decorator_class = collection_decorator_class
        @decorators = {}
      end

      def schema
        @child_datasource.schema
      end

      def collections
        @child_datasource.collections.transform_values { |c| get_collection(c.name) }
      end

      def get_collection(name)
        collection = @child_datasource.get_collection(name)
        unless @decorators.key?(collection.name)
          @decorators[collection.name] = @collection_decorator_class.new(collection, self)
        end

        @decorators[collection.name]
      end

      def render_chart(caller, name)
        @child_datasource.render_chart(caller, name)
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
forest_admin_datasource_toolkit-1.0.0.pre.beta.98 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.97 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.96 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.95 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.94 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.93 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.92 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.91 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.90 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.89 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.88 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.87 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.86 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.85 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.83 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.82 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.81 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.80 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.79 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.78 lib/forest_admin_datasource_toolkit/decorators/datasource_decorator.rb