mirror of
https://github.com/aasm/aasm
synced 2023-03-27 23:22:41 -04:00
Removed more require !
This commit is contained in:
parent
2b9d850d99
commit
d0b982b121
9 changed files with 21 additions and 16 deletions
|
@ -12,4 +12,5 @@ require 'aasm/core/state'
|
|||
require 'aasm/localizer'
|
||||
require 'aasm/state_machine'
|
||||
require 'aasm/persistence'
|
||||
require 'aasm/persistence/plain_persistence'
|
||||
require 'aasm/aasm'
|
||||
|
|
|
@ -7,14 +7,19 @@ module AASM
|
|||
hierarchy = base.ancestors.map {|klass| klass.to_s}
|
||||
|
||||
if hierarchy.include?("ActiveRecord::Base")
|
||||
require_persistence(:active_record)
|
||||
include_persistence base, :active_record
|
||||
elsif hierarchy.include?("Mongoid::Document")
|
||||
require_persistence(:active_record)
|
||||
include_persistence base, :mongoid
|
||||
elsif hierarchy.include?("MongoMapper::Document")
|
||||
require_persistence(:active_record)
|
||||
include_persistence base, :mongo_mapper
|
||||
elsif hierarchy.include?("Sequel::Model")
|
||||
require_persistence(:active_record)
|
||||
include_persistence base, :sequel
|
||||
elsif hierarchy.include?("Dynamoid::Document")
|
||||
require_persistence(:active_record)
|
||||
include_persistence base, :dynamoid
|
||||
elsif hierarchy.include?("CDQManagedObject")
|
||||
include_persistence base, :core_data_query
|
||||
|
@ -25,8 +30,11 @@ module AASM
|
|||
|
||||
private
|
||||
|
||||
def include_persistence(base, type)
|
||||
def require_persistence(type)
|
||||
require File.join(File.dirname(__FILE__), 'persistence', "#{type}_persistence")
|
||||
end
|
||||
|
||||
def include_persistence(base, type)
|
||||
base.send(:include, constantize("#{capitalize(type)}Persistence"))
|
||||
end
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module ActiveRecordPersistence
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module CoreDataQueryPersistence
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module DynamoidPersistence
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module MongoMapperPersistence
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module MongoidPersistence
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
require_relative 'base'
|
||||
|
||||
module AASM
|
||||
module Persistence
|
||||
module SequelPersistence
|
||||
|
|
|
@ -3,17 +3,25 @@ unless defined?(Motion::Project::App)
|
|||
end
|
||||
|
||||
file_dependencies = {
|
||||
'aasm/persistence/base.rb' => ['aasm/base.rb']
|
||||
'aasm/aasm.rb' => ['aasm/persistence.rb'],
|
||||
'aasm/persistence.rb' => ['aasm/persistence/plain_persistence.rb', 'aasm/persistence/core_data_query_persistence.rb'],
|
||||
'aasm/persistence/base.rb' => ['aasm/base.rb'],
|
||||
'aasm/persistence/core_data_query_persistence.rb' => ['aasm/persistence/base.rb']
|
||||
}
|
||||
|
||||
exclude_files = [
|
||||
'rspec'
|
||||
'aasm/rspec.*',
|
||||
'aasm/persistence/active_record_persistence.rb',
|
||||
'aasm/persistence/dynamoid_persistence.rb',
|
||||
'aasm/persistence/mongo_mapper_persistence.rb',
|
||||
'aasm/persistence/mongoid_persistence.rb',
|
||||
'aasm/persistence/sequel_persistence.rb'
|
||||
]
|
||||
|
||||
Motion::Project::App.setup do |app|
|
||||
parent = File.expand_path File.dirname(__FILE__)
|
||||
|
||||
app.files += Dir.glob(File.join(parent, "aasm/**/*.rb")).reject { |file| exclude_files.any? { |exclude| file.match(exclude) } }
|
||||
app.files << Dir.glob(File.join(parent, "aasm/**/*.rb")).reject { |file| exclude_files.any? { |exclude| file.match(exclude) } }
|
||||
|
||||
app.files_dependencies file_dependencies.inject({}, &->(file_dependencies, (file, *dependencies)) do
|
||||
file = File.join(parent, file)
|
||||
|
|
Loading…
Add table
Reference in a new issue