Module: Season

Defined in:
lib/season.rb,
lib/season/legacy.rb,
lib/season/version.rb,
lib/season/configuration.rb,
lib/season/query_builder.rb,
lib/season/scope_builder.rb,
lib/season/instance_method_builder.rb

Defined Under Namespace

Modules: ClassMethods, Legacy Classes: Configuration, InstanceMethodBuilder, QueryBuilder, ScopeBuilder

Constant Summary collapse

QUERY_VERBS =
['before', 'after', 'between']
VERSION =
"0.3"

Class Method Summary collapse

Class Method Details

.configurationObject



13
14
15
# File 'lib/season/configuration.rb', line 13

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



17
18
19
20
# File 'lib/season/configuration.rb', line 17

def self.configure
  yield configuration
  auto_include_scopes
end

.included(base) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/season.rb', line 12

def self.included(base)
  base.extend(ClassMethods)

  # Define scopes
  sb = ScopeBuilder.new(base)
  base.class_eval do
    base.date_or_time_column_names.each do |column_name|
      QUERY_VERBS.each do |query_verb|
        sb.build(table_name, column_name, query_verb)
      end
    end
  end

  # Define instance methods
  imb = InstanceMethodBuilder.new(base)
  base.class_eval do
    base.date_or_time_column_names.each do |column_name|
      QUERY_VERBS.each do |query_verb|
        imb.build(table_name, column_name, query_verb)
      end
    end
  end
end

.rootObject



42
43
44
# File 'lib/season.rb', line 42

def self.root
  File.expand_path '../..', __FILE__
end