Sha256: c5ac372b1f9ba48b8bc19b5d4efffff67ed35640f8fbc85a8c305de2cbb0e609

Contents?: true

Size: 1.37 KB

Versions: 77

Compression:

Stored size: 1.37 KB

Contents

# encoding: UTF-8
#
# Copyright (c) 2010-2017 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 'blueprint_field'

module GoodData
  module Model
    class LabelBlueprintField < BlueprintField
      # Returns the attribute this label is referencing to
      #
      # @return [AttributeBlueprintField] the object representing attribute in the blueprint
      def attribute
        dataset_blueprint.attribute_for_label(self)
      end

      def reference_label?
        data[:reference_label] == true || self == attribute.reference_label
      end

      # Returns gd_data_type
      #
      # @return [String] returns gd_data_type of the label
      def gd_data_type
        data[:gd_data_type] || Model::DEFAULT_ATTRIBUTE_DATATYPE
      end

      # Returns gd_data_type
      #
      # @return [String] returns gd_type of the label
      def gd_type
        data[:gd_type] || Model::DEFAULT_TYPE
      end

      # Validates the fields in the label
      #
      # @return [Array] returns list of the errors represented by hash structures
      def validate
        validate_presence_of(:id, :reference).map do |e|
          { type: :error, message: "Field \"#{e}\" is not defined or empty for label \"#{id}\"" }
        end
      end
    end
  end
end

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
gooddata-2.3.1-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.3.1 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.3.0-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.3.0 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.2.0-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.2.0 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.19-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.19 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.17-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.17 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.15-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.15 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.14-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.14 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.13-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.13 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.12-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.12 lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.11-java lib/gooddata/models/blueprint/label_field.rb
gooddata-2.1.11 lib/gooddata/models/blueprint/label_field.rb