mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-26 18:56:10 +01:00
Removed superfluous 'tracks' directory at the root of the repository.
Testing commits to github.
This commit is contained in:
parent
6a42901514
commit
4cbf5a34d3
2269 changed files with 0 additions and 0 deletions
17
vendor/rails/activemodel/lib/active_model.rb
vendored
Normal file
17
vendor/rails/activemodel/lib/active_model.rb
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', '..', 'activesupport', 'lib')
|
||||
|
||||
# premature optimization?
|
||||
require 'active_support/inflector'
|
||||
require 'active_support/core_ext/string/inflections'
|
||||
String.send :include, ActiveSupport::CoreExtensions::String::Inflections
|
||||
|
||||
require 'active_model/base'
|
||||
require 'active_model/observing'
|
||||
require 'active_model/callbacks'
|
||||
require 'active_model/validations'
|
||||
|
||||
ActiveModel::Base.class_eval do
|
||||
include ActiveModel::Observing
|
||||
include ActiveModel::Callbacks
|
||||
include ActiveModel::Validations
|
||||
end
|
||||
4
vendor/rails/activemodel/lib/active_model/base.rb
vendored
Normal file
4
vendor/rails/activemodel/lib/active_model/base.rb
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
module ActiveModel
|
||||
class Base
|
||||
end
|
||||
end
|
||||
5
vendor/rails/activemodel/lib/active_model/callbacks.rb
vendored
Normal file
5
vendor/rails/activemodel/lib/active_model/callbacks.rb
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
module ActiveModel
|
||||
module Callbacks
|
||||
|
||||
end
|
||||
end
|
||||
100
vendor/rails/activemodel/lib/active_model/observing.rb
vendored
Normal file
100
vendor/rails/activemodel/lib/active_model/observing.rb
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
require 'observer'
|
||||
|
||||
module ActiveModel
|
||||
module Observing
|
||||
module ClassMethods
|
||||
def observers
|
||||
@observers ||= []
|
||||
end
|
||||
|
||||
def observers=(*values)
|
||||
@observers = values.flatten
|
||||
end
|
||||
|
||||
def instantiate_observers
|
||||
observers.each { |o| instantiate_observer(o) }
|
||||
end
|
||||
|
||||
protected
|
||||
def instantiate_observer(observer)
|
||||
# string/symbol
|
||||
if observer.respond_to?(:to_sym)
|
||||
observer = observer.to_s.camelize.constantize.instance
|
||||
elsif observer.respond_to?(:instance)
|
||||
observer.instance
|
||||
else
|
||||
raise ArgumentError, "#{observer} must be a lowercase, underscored class name (or an instance of the class itself) responding to the instance method. Example: Person.observers = :big_brother # calls BigBrother.instance"
|
||||
end
|
||||
end
|
||||
|
||||
# Notify observers when the observed class is subclassed.
|
||||
def inherited(subclass)
|
||||
super
|
||||
changed
|
||||
notify_observers :observed_class_inherited, subclass
|
||||
end
|
||||
end
|
||||
|
||||
def self.included(receiver)
|
||||
receiver.extend Observable, ClassMethods
|
||||
end
|
||||
end
|
||||
|
||||
class Observer
|
||||
include Singleton
|
||||
attr_writer :observed_classes
|
||||
|
||||
class << self
|
||||
attr_accessor :models
|
||||
# Attaches the observer to the supplied model classes.
|
||||
def observe(*models)
|
||||
@models = models.flatten
|
||||
@models.collect! { |model| model.respond_to?(:to_sym) ? model.to_s.camelize.constantize : model }
|
||||
end
|
||||
|
||||
def observed_class_name
|
||||
@observed_class_name ||=
|
||||
if guessed_name = name.scan(/(.*)Observer/)[0]
|
||||
@observed_class_name = guessed_name[0]
|
||||
end
|
||||
end
|
||||
|
||||
# The class observed by default is inferred from the observer's class name:
|
||||
# assert_equal [Person], PersonObserver.observed_class
|
||||
def observed_class
|
||||
if observed_class_name
|
||||
observed_class_name.constantize
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Start observing the declared classes and their subclasses.
|
||||
def initialize
|
||||
self.observed_classes = self.class.models if self.class.models
|
||||
observed_classes.each { |klass| add_observer! klass }
|
||||
end
|
||||
|
||||
# Send observed_method(object) if the method exists.
|
||||
def update(observed_method, object) #:nodoc:
|
||||
send(observed_method, object) if respond_to?(observed_method)
|
||||
end
|
||||
|
||||
# Special method sent by the observed class when it is inherited.
|
||||
# Passes the new subclass.
|
||||
def observed_class_inherited(subclass) #:nodoc:
|
||||
self.class.observe(observed_classes + [subclass])
|
||||
add_observer!(subclass)
|
||||
end
|
||||
|
||||
protected
|
||||
def observed_classes
|
||||
@observed_classes ||= [self.class.observed_class]
|
||||
end
|
||||
|
||||
def add_observer!(klass)
|
||||
klass.add_observer(self)
|
||||
end
|
||||
end
|
||||
end
|
||||
4
vendor/rails/activemodel/lib/active_model/validations.rb
vendored
Normal file
4
vendor/rails/activemodel/lib/active_model/validations.rb
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
module ActiveModel
|
||||
module Validations
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue