Class: GoodData::DashboardTab
- Defined in:
- lib/gooddata/models/metadata/dashboard_tab.rb
Constant Summary collapse
- EMPTY_OBJECT =
{ :title => '', :items => [] }
- ASSIGNABLE_MEMBERS =
[ :title, :items, :identifier ]
Instance Attribute Summary collapse
-
#dashboard ⇒ Object
readonly
Returns the value of attribute dashboard.
-
#json ⇒ Object
Returns the value of attribute json.
Class Method Summary collapse
Instance Method Summary collapse
- #create_filter_apply_item(item) ⇒ Object
- #create_filter_item(item) ⇒ Object
- #create_geo_chart_item(item) ⇒ Object (also: #add_geo_chart_item)
- #create_headline_item(item) ⇒ Object (also: #add_headline_item)
- #create_iframe_item(item) ⇒ Object (also: #add_iframe_item)
- #create_report_item(item) ⇒ Object (also: #add_report_item)
- #create_text_item(item) ⇒ Object (also: #add_text_item)
- #identifier ⇒ Object
- #identifier=(new_identifier) ⇒ Object
-
#initialize(dashboard, json) ⇒ DashboardTab
constructor
A new instance of DashboardTab.
- #items ⇒ Object
- #title ⇒ Object
- #title=(new_title) ⇒ Object
Constructor Details
#initialize(dashboard, json) ⇒ DashboardTab
Returns a new instance of DashboardTab.
49 50 51 52 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 49 def initialize(dashboard, json) @dashboard = dashboard @json = json end |
Instance Attribute Details
#dashboard ⇒ Object (readonly)
Returns the value of attribute dashboard.
25 26 27 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 25 def dashboard @dashboard end |
#json ⇒ Object
Returns the value of attribute json.
26 27 28 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 26 def json @json end |
Class Method Details
.create(dashboard, tab) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 40 def create(dashboard, tab) res = GoodData::DashboardTab.new(dashboard, GoodData::Helpers.deep_dup(GoodData::Helpers.stringify_keys(EMPTY_OBJECT))) tab.each do |k, v| res.send("#{k}=", v) if ASSIGNABLE_MEMBERS.include? k end res end |
Instance Method Details
#create_filter_apply_item(item) ⇒ Object
60 61 62 63 64 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 60 def create_filter_apply_item(item) new_item = GoodData::FilterApplyItem.create(self, item) json['items'] << new_item.json new_item end |
#create_filter_item(item) ⇒ Object
54 55 56 57 58 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 54 def create_filter_item(item) new_item = GoodData::FilterItem.create(self, item) json['items'] << new_item.json new_item end |
#create_geo_chart_item(item) ⇒ Object Also known as: add_geo_chart_item
66 67 68 69 70 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 66 def create_geo_chart_item(item) new_item = GoodData::GeoChartItem.create(self, item) json['items'] << new_item.json new_item end |
#create_headline_item(item) ⇒ Object Also known as: add_headline_item
73 74 75 76 77 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 73 def create_headline_item(item) new_item = GoodData::HeadlineItem.create(self, item) json['items'] << new_item.json new_item end |
#create_iframe_item(item) ⇒ Object Also known as: add_iframe_item
80 81 82 83 84 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 80 def create_iframe_item(item) new_item = GoodData::IframeItem.create(self, item) json['items'] << new_item.json new_item end |
#create_report_item(item) ⇒ Object Also known as: add_report_item
87 88 89 90 91 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 87 def create_report_item(item) new_item = GoodData::ReportItem.create(self, item) json['items'] << new_item.json new_item end |
#create_text_item(item) ⇒ Object Also known as: add_text_item
94 95 96 97 98 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 94 def create_text_item(item) new_item = GoodData::TextItem.create(self, item) json['items'] << new_item.json new_item end |
#identifier ⇒ Object
101 102 103 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 101 def identifier @json['identifier'] end |
#identifier=(new_identifier) ⇒ Object
105 106 107 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 105 def identifier=(new_identifier) @json['identifier'] = new_identifier end |
#items ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 109 def items @json['items'].map do |item| type = item.keys.first case type when 'filterItem' GoodData::FilterItem.new(self, item) when 'filterApplyItem' GoodData::FilterApplyItem.new(self, item) when 'geoChartItem' GoodData::GeoChartItem.new(self, item) when 'headlineItem' GoodData::HeadlineItem.new(self, item) when 'iframeItem' GoodData::IframeItem.new(self, item) when 'reportItem' GoodData::ReportItem.new(self, item) when 'textItem' GoodData::TextItem.new(self, item) else GoodData::DashboardItem.new(self, item) end end end |
#title ⇒ Object
133 134 135 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 133 def title @json['title'] end |
#title=(new_title) ⇒ Object
137 138 139 |
# File 'lib/gooddata/models/metadata/dashboard_tab.rb', line 137 def title=(new_title) @json['title'] = new_title end |