Instiki 0.16.3: Rails 2.3.0

Instiki now runs on the Rails 2.3.0 Candidate Release.
Among other improvements, this means that it now 
automagically selects between WEBrick and Mongrel.

Just run

    ./instiki --daemon
This commit is contained in:
Jacques Distler 2009-02-04 14:26:08 -06:00
parent 43aadecc99
commit 4e14ccc74d
893 changed files with 71965 additions and 28511 deletions

View file

@ -24,6 +24,8 @@ module ActiveModel
:even => "must be even"
}
##
# :singleton-method:
# Holds a hash with all the default error messages that can be replaced by your own copy or localizations.
cattr_accessor :default_error_messages

View file

@ -1,14 +1,10 @@
Dir[File.dirname(__FILE__) + "/state_machine/*.rb"].sort.each do |path|
filename = File.basename(path)
require "active_model/state_machine/#{filename}"
end
module ActiveModel
module StateMachine
class InvalidTransition < Exception
end
def self.included(base)
require 'active_model/state_machine/machine'
base.extend ClassMethods
end
@ -35,6 +31,12 @@ module ActiveModel
state_machines[name] ||= Machine.new(self, name)
block ? state_machines[name].update(options, &block) : state_machines[name]
end
def define_state_query_method(state_name)
name = "#{state_name}?"
undef_method(name) if method_defined?(name)
class_eval "def #{name}; current_state.to_s == %(#{state_name}) end"
end
end
def current_state(name = nil, new_state = nil, persist = false)
@ -63,4 +65,4 @@ module ActiveModel
end
end
end
end
end

View file

@ -1,3 +1,5 @@
require 'active_model/state_machine/state_transition'
module ActiveModel
module StateMachine
class Event

View file

@ -1,7 +1,11 @@
require 'active_model/state_machine/state'
require 'active_model/state_machine/event'
module ActiveModel
module StateMachine
class Machine
attr_accessor :initial_state, :states, :events, :state_index
attr_writer :initial_state
attr_accessor :states, :events, :state_index
attr_reader :klass, :name
def initialize(klass, name, options = {}, &block)
@ -71,4 +75,4 @@ module ActiveModel
end
end
end
end
end

View file

@ -5,11 +5,8 @@ module ActiveModel
def initialize(name, options = {})
@name = name
machine = options.delete(:machine)
if machine
machine.klass.send(:define_method, "#{name}?") do
current_state.to_s == name.to_s
end
if machine = options.delete(:machine)
machine.klass.define_state_query_method(name)
end
update(options)
end