Sha256: b24cecbe0f88954cd297b18408304bac8936650730bc4e960ea07aa73e1eca19
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
# encoding: utf-8 module ROM # Extends ROM's environment with IdentityMap and state-tracking functionality # # @api public class Session include Concord.new(:environment) # Start a new session # # @example # # ROM::Session.start(env) do |session| # user = session[:users].new(name: 'Jane') # session[:users].save(user) # session[:users].flush # end # # @param [ROM::Environment] rom's environment # # @yieldparam [Session::Environment] # # @api public def self.start(environment) yield(new(Environment.build(environment))) end # Return a session relation identified by name # # @param [Symbol] relation name # # @return [Session::Relation] # # @api public def [](relation_name) environment[relation_name] end # Flush this session committing all the state changes # # @return [Session] # # @api public def flush environment.commit self end # Return if there are any pending state changes # # @return [Boolean] # # @api public def clean? environment.clean? end end # Session end # ROM
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-session-0.1.0 | lib/rom/session.rb |