Class: ReportsKit::Reports::Dimension
- Inherits:
-
Object
- Object
- ReportsKit::Reports::Dimension
- Defined in:
- lib/reports_kit/reports/dimension.rb
Instance Attribute Summary collapse
-
#properties ⇒ Object
Returns the value of attribute properties.
Instance Method Summary collapse
- #expression ⇒ Object
-
#initialize(properties) ⇒ Dimension
constructor
A new instance of Dimension.
- #key ⇒ Object
- #label ⇒ Object
Constructor Details
#initialize(properties) ⇒ Dimension
Returns a new instance of Dimension.
6 7 8 9 10 11 12 |
# File 'lib/reports_kit/reports/dimension.rb', line 6 def initialize(properties) raise ArgumentError.new('Blank properties') if properties.blank? properties = { key: properties } if properties.is_a?(String) raise ArgumentError.new("Dimension properties must be a String or Hash, not a #{properties.class.name}: #{properties.inspect}") unless properties.is_a?(Hash) properties = properties.deep_symbolize_keys self.properties = properties end |
Instance Attribute Details
#properties ⇒ Object
Returns the value of attribute properties.
4 5 6 |
# File 'lib/reports_kit/reports/dimension.rb', line 4 def properties @properties end |
Instance Method Details
#expression ⇒ Object
18 19 20 |
# File 'lib/reports_kit/reports/dimension.rb', line 18 def expression properties[:expression] || key end |
#key ⇒ Object
14 15 16 |
# File 'lib/reports_kit/reports/dimension.rb', line 14 def key properties[:key] end |
#label ⇒ Object
22 23 24 |
# File 'lib/reports_kit/reports/dimension.rb', line 22 def label properties.key?(:label) ? properties[:label] : key.titleize end |