lib/by_star.rb in by_star-2.1.0.beta2 vs lib/by_star.rb in by_star-2.2.0.rc1
- old
+ new
@@ -1,71 +1,15 @@
-require 'chronic'
-
-require 'by_star/time_ext'
-require 'by_star/instance_methods'
-
-require 'by_star/by_direction'
-require 'by_star/by_year'
-require 'by_star/by_month'
-require 'by_star/by_fortnight'
-require 'by_star/by_week'
-require 'by_star/by_weekend'
-require 'by_star/by_day'
-require 'by_star/by_quarter'
-
-module ByStar
-
- def by_star_field(field=nil)
- @by_star_field ||= field
- @by_star_field || "#{self.table_name}.created_at"
- end
-
- include ByDirection
- include ByYear
- include ByMonth
- include ByFortnight
- include ByWeek
- include ByWeekend
- include ByDay
- include ByQuarter
-
- class ParseError < StandardError
-
- end
-
- # Returns all records between a given start and finish time.
- #
- # Currently only supports Time objects.
- def between(start, finish, options={})
- field = options[:field] || by_star_field
- scope = where("#{field} >= ? AND #{field} <= ?",
- start, finish)
- scope = scope.order(options[:order]) if options[:order]
- scope
- end
- alias_method :between_times, :between
-
- private
-
- # Used inside the by_* methods to determine what kind of object "time" is.
- # These methods take the result of the time_klass method, and call other methods
- # using it, such as by_year_Time and by_year_String.
- def time_klass(time)
- case time
- when ActiveSupport::TimeWithZone
- Time
- else
- time.class
- end
- end
-
-end
-
-if defined?(ActiveRecord)
- ActiveRecord::Base.send :extend, ByStar
- ActiveRecord::Relation.send :extend, ByStar
- ActiveRecord::Base.send :include, ByStar::InstanceMethods
-end
-
-if defined?(Mongoid)
- require 'mongoid/by_star'
-end
\ No newline at end of file
+require 'by_star/kernel'
+require 'by_star/normalization'
+require 'by_star/between'
+require 'by_star/directional'
+require 'by_star/base'
+
+if defined?(ActiveRecord)
+ require 'by_star/orm/active_record/by_star'
+ ActiveRecord::Base.send :include, ByStar::ActiveRecord
+ ActiveRecord::Relation.send :extend, ByStar::ActiveRecord::ClassMethods
+end
+
+if defined?(Mongoid)
+ require 'by_star/orm/mongoid/by_star'
+end