# File lib/picnic/authentication.rb, line 136 def service(*a) Camping::Models::Session.create_schema session = Camping::Models::Session.persist @cookies app = self.class.name.gsub(/^(\w+)::.+$/, '\1') @state = (session[app] ||= Camping::H[]) hash_before = Marshal.dump(@state).hash s = super(*a) if session hash_after = Marshal.dump(@state).hash unless hash_before == hash_after session[app] = @state session.save end end s end