lib/eddy/data.rb in eddy-0.3.0 vs lib/eddy/data.rb in eddy-0.4.0

- old
+ new

@@ -5,19 +5,32 @@ module Eddy # Persistent data used by Eddy. # @return [Eddy::Data::Persistence::Base] def self.data - return @data if defined? @data + return @data if defined?(@data) && !@data.nil? case Eddy.config.persistence_method when :memory then @data = Eddy::Data::Persistence::Memory.new() when :file then raise NotImplementedError - when :db then raise NotImplementedError + when :active_record + if defined?(Rails) && defined?(Eddy::Rails) + @data = Eddy::Data::Persistence::ActiveRecord.new() + else + raise Eddy::Errors::Error, "ActiveRecord persistence method can currently only be used with Ruby on Rails" + end else raise Eddy::Errors::Error, "Unsupported persistence method: #{Eddy.config.persistence_method}" end return @data end + # Set `@data` to `nil` so that a new persistence_method can be set up. + # + # @return [void] + def self.clear_data() + @data = nil + end + + # Code for storing & generating data used by Eddy when generating EDI documents. module Data # @return [Integer] def self.new_interchange_control_number existing = Eddy.data.interchange_control_numbers()