module TailorMade::Methods::ClassMethods
Public Instance Methods
datetime_dimension(*attributes)
click to toggle source
# File lib/tailor_made/methods.rb, line 38 def datetime_dimension(*attributes) dimension = attributes[0] return if tailor_made_datetime_columns.include?(dimension) tailor_made_datetime_columns << dimension attr_accessor "#{dimension.to_s}_starts_at".to_sym attr_accessor "#{dimension.to_s}_ends_at".to_sym if attributes[1] && attributes[1][:permit] permit = attributes[1][:permit] else permit = Groupdate::PERIODS end tailor_made_measures_datetime_permited[dimension] = permit tailor_made_datetime_dimensions[dimension] = permit.map do |period| [dimension, period].join("_").to_sym end # groups (day, month, year..) end
dimension(*attributes)
click to toggle source
# File lib/tailor_made/methods.rb, line 8 def dimension(*attributes) dimension = attributes[0] return if tailor_made_canonical_dimensions.include?(dimension) tailor_made_canonical_dimensions << dimension attr_accessor dimension tailor_made_canonical_domain[dimension] = attributes[1][:domain] if attributes[1] && attributes[1][:domain] tailor_made_canonical_anchors[dimension] = attributes[1][:anchor] if attributes[1] && attributes[1][:anchor] end
filter(*attributes)
click to toggle source
# File lib/tailor_made/methods.rb, line 18 def filter(*attributes) filter = attributes[0] return if tailor_made_filters.include?(filter) TAILOR_MADE_FILTERS << filter attr_accessor filter tailor_made_canonical_domain[dimension] = attributes[1][:domain] if attributes[1] && attributes[1][:domain] tailor_made_canonical_anchors[dimension] = attributes[1][:anchor] if attributes[1] && attributes[1][:anchor] end
measure(*attributes)
click to toggle source
# File lib/tailor_made/methods.rb, line 28 def measure(*attributes) measure = attributes[0] return if tailor_made_measures.include?(measure) tailor_made_measures << measure if attributes[1] && attributes[1][:formula] tailor_made_measure_formula[measure] = attributes[1][:formula] end end
permitted_attributes()
click to toggle source
# File lib/tailor_made/methods.rb, line 59 def permitted_attributes [ :chart, :plot_measure, measures: [], dimensions: [] ] + tailor_made_datetime_columns.map { |a| "#{a.to_s}_starts_at".to_sym } + tailor_made_datetime_columns.map { |a| "#{a.to_s}_ends_at".to_sym } + tailor_made_canonical_dimensions + tailor_made_filters end
tailor_made_canonical_anchors()
click to toggle source
# File lib/tailor_made/methods.rb, line 81 def tailor_made_canonical_anchors @tailor_made_canonical_anchors ||= {} end
tailor_made_canonical_dimensions()
click to toggle source
# File lib/tailor_made/methods.rb, line 73 def tailor_made_canonical_dimensions @tailor_made_canonical_dimensions ||= [] end
tailor_made_canonical_domain()
click to toggle source
# File lib/tailor_made/methods.rb, line 77 def tailor_made_canonical_domain @tailor_made_canonical_domain ||= {} end
tailor_made_datetime_columns()
click to toggle source
# File lib/tailor_made/methods.rb, line 93 def tailor_made_datetime_columns @tailor_made_datetime_columns ||= [] end
tailor_made_datetime_dimensions()
click to toggle source
# File lib/tailor_made/methods.rb, line 97 def tailor_made_datetime_dimensions @tailor_made_datetime_dimensions ||= {} end
tailor_made_filters()
click to toggle source
# File lib/tailor_made/methods.rb, line 105 def tailor_made_filters @tailor_made_filters ||= [] end
tailor_made_measure_formula()
click to toggle source
# File lib/tailor_made/methods.rb, line 89 def tailor_made_measure_formula @tailor_made_measure_formula ||= {} end
tailor_made_measures()
click to toggle source
# File lib/tailor_made/methods.rb, line 85 def tailor_made_measures @tailor_made_measures ||= [] end
tailor_made_measures_datetime_permited()
click to toggle source
# File lib/tailor_made/methods.rb, line 101 def tailor_made_measures_datetime_permited @tailor_made_measures_datetime_permited ||= {} end