Class: Trifle::Stats::Configuration
- Inherits:
-
Object
- Object
- Trifle::Stats::Configuration
- Defined in:
- lib/trifle/stats/configuration.rb
Instance Attribute Summary collapse
-
#beginning_of_week ⇒ Object
Returns the value of attribute beginning_of_week.
-
#buffer_aggregate ⇒ Object
Returns the value of attribute buffer_aggregate.
-
#buffer_duration ⇒ Object
Returns the value of attribute buffer_duration.
-
#buffer_enabled ⇒ Object
Returns the value of attribute buffer_enabled.
-
#buffer_size ⇒ Object
Returns the value of attribute buffer_size.
- #granularities ⇒ Object
-
#time_zone ⇒ Object
Returns the value of attribute time_zone.
Instance Method Summary collapse
- #driver ⇒ Object
- #driver=(value) ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #reset_buffer! ⇒ Object
- #storage ⇒ Object
- #tz ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/trifle/stats/configuration.rb', line 12 def initialize @default_granularities = %w[1m 1h 1d 1w 1mo 1q 1y] @beginning_of_week = :monday @time_zone = 'GMT' @buffer_enabled = true @buffer_duration = Trifle::Stats::Buffer::DEFAULT_DURATION @buffer_size = Trifle::Stats::Buffer::DEFAULT_SIZE @buffer_aggregate = true @storage = nil end |
Instance Attribute Details
#beginning_of_week ⇒ Object
Returns the value of attribute beginning_of_week.
9 10 11 |
# File 'lib/trifle/stats/configuration.rb', line 9 def beginning_of_week @beginning_of_week end |
#buffer_aggregate ⇒ Object
Returns the value of attribute buffer_aggregate.
10 11 12 |
# File 'lib/trifle/stats/configuration.rb', line 10 def buffer_aggregate @buffer_aggregate end |
#buffer_duration ⇒ Object
Returns the value of attribute buffer_duration.
10 11 12 |
# File 'lib/trifle/stats/configuration.rb', line 10 def buffer_duration @buffer_duration end |
#buffer_enabled ⇒ Object
Returns the value of attribute buffer_enabled.
10 11 12 |
# File 'lib/trifle/stats/configuration.rb', line 10 def buffer_enabled @buffer_enabled end |
#buffer_size ⇒ Object
Returns the value of attribute buffer_size.
10 11 12 |
# File 'lib/trifle/stats/configuration.rb', line 10 def buffer_size @buffer_size end |
#granularities ⇒ Object
31 32 33 34 35 |
# File 'lib/trifle/stats/configuration.rb', line 31 def granularities (@granularities || @default_granularities).uniq.filter do |grn| Trifle::Stats::Nocturnal::Parser.new(grn).valid? end end |
#time_zone ⇒ Object
Returns the value of attribute time_zone.
9 10 11 |
# File 'lib/trifle/stats/configuration.rb', line 9 def time_zone @time_zone end |
Instance Method Details
#driver ⇒ Object
37 38 39 40 41 |
# File 'lib/trifle/stats/configuration.rb', line 37 def driver raise DriverNotFound if @driver.nil? @driver end |
#driver=(value) ⇒ Object
54 55 56 57 |
# File 'lib/trifle/stats/configuration.rb', line 54 def driver=(value) reset_buffer! @driver = value end |
#reset_buffer! ⇒ Object
79 80 81 82 |
# File 'lib/trifle/stats/configuration.rb', line 79 def reset_buffer! @storage&.shutdown! @storage = nil end |
#storage ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/trifle/stats/configuration.rb', line 43 def storage return driver unless buffer_enabled @storage ||= Trifle::Stats::Buffer.new( driver: driver, duration: buffer_duration, size: buffer_size, aggregate: buffer_aggregate ) end |
#tz ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/trifle/stats/configuration.rb', line 23 def tz TZInfo::Timezone.get(@time_zone) rescue TZInfo::InvalidTimezoneIdentifier => e puts "Trifle: #{e} - #{time_zone}; Defaulting to GMT." TZInfo::Timezone.get('GMT') end |