lib/highcharts/axis.rb in highcharts-js-rails-0.0.1 vs lib/highcharts/axis.rb in highcharts-js-rails-0.0.2
- old
+ new
@@ -1,48 +1,49 @@
module Highcharts
class Axis < Base
-
+
attr_accessor :title, :categories, :tickInterval, :min, :max, :labels, :opposite
-
+
def to_s
"{" +
[render_title, render_categories, render_tickInterval, render_options(:objects => 'min max opposite'), render_labels].flatten.compact.join(',') +
"}"
end
-
- def render_title
- title.present? ? "title: {text: '#{title}'}" : nil
- end
-
- def render_categories
- return nil unless categories.present?
- "categories: [#{categories.collect {|c| "'#{format_category(c)}'"}.join(', ')}]" # need to encapsulate each category in quotes and format it before joining them with a comma
- end
-
- def render_tickInterval
- return tickInterval if tickInterval.present?
- return nil unless categories.present?
- "tickInterval: #{(Math.sqrt(categories.length) < 5 ? 1 : Math.sqrt(categories.length)).floor}"
- end
-
- def format_category(category)
- case category
- when Date
- category.strftime("%b. %d")
- when Time
- category.strftime("%H:%M")
- when DateTime
- category.strftime("%b. %d, %H:%M")
- else
- category.to_s
+
+ private
+ def render_title
+ title.present? ? "title: {text: '#{title}'}" : nil
end
- end
-
- def render_labels
- return nil unless labels.present?
- "labels: {" +
- "formatter: function(){ return '#{labels[:prepend]}' + this.value + '#{labels[:append]}'; }" +
- "}"
- end
-
+
+ def render_categories
+ return nil unless categories.present?
+ "categories: [#{categories.collect {|c| "'#{format_category(c)}'"}.join(', ')}]" # need to encapsulate each category in quotes and format it before joining them with a comma
+ end
+
+ def render_tickInterval
+ return tickInterval if tickInterval.present?
+ return nil unless categories.present?
+ "tickInterval: #{(Math.sqrt(categories.length) < 5 ? 1 : Math.sqrt(categories.length)).floor}"
+ end
+
+ def format_category(category)
+ case category
+ when Date
+ category.strftime("%b. %d")
+ when Time
+ category.strftime("%H:%M")
+ when DateTime
+ category.strftime("%b. %d, %H:%M")
+ else
+ category.to_s
+ end
+ end
+
+ def render_labels
+ return nil unless labels.present?
+ "labels: {" +
+ "formatter: function(){ return '#{labels[:prepend]}' + this.value + '#{labels[:append]}'; }" +
+ "}"
+ end
+
end
-end
\ No newline at end of file
+end