Commit 47f21b6

mo khan <mo@mokhan.ca>
2013-05-22 02:19:22
split out to separate files
1 parent 07a6ad7
lib/humble/configuration.rb
@@ -0,0 +1,24 @@
+module Humble
+  class Configuration
+    attr_reader :connection_string
+
+    def initialize(connection_string)
+      @mappings = []
+      @connection_string = connection_string
+    end
+
+    def add(mapping)
+      @mappings.push(mapping)
+    end
+
+    def build_session_factory
+      SessionFactory.new(self)
+    end
+
+    def mapping_for(item)
+      @mappings.find do |mapping|
+        mapping.is_for?(item)
+      end
+    end
+  end
+end
lib/humble/session.rb
@@ -0,0 +1,34 @@
+module Humble
+  class Session
+    def initialize(connection_factory, mapper_registry)
+      @connection_factory = connection_factory
+      @mapper_registry = mapper_registry
+    end
+
+    def begin_transaction(&block)
+      create_connection.transaction do
+        block.call(self)
+      end
+    end
+
+    def save(item)
+      mapping_for(item).save_using(create_connection, item)
+    end
+
+    def find_all(clazz)
+      mapping_for(clazz).find_all_using(create_connection, clazz)
+    end
+
+    private
+
+    attr_reader :connection_factory, :mapper_registry
+
+    def create_connection
+      @connection ||= connection_factory.create_connection
+    end
+
+    def mapping_for(item)
+      mapper_registry.mapping_for(item)
+    end
+  end
+end
lib/humble/session_factory.rb
@@ -0,0 +1,15 @@
+module Humble
+  class SessionFactory
+    def initialize(configuration)
+      @configuration = configuration
+    end
+
+    def create_session
+      Session.new(self, @configuration)
+    end
+
+    def create_connection
+      Sequel.connect(@configuration.connection_string)
+    end
+  end
+end
lib/humble.rb
@@ -1,75 +1,8 @@
 require "humble/version"
+require "humble/session_factory"
+require "humble/session"
+require "humble/configuration"
 
 module Humble
-  class Configuration
-    attr_reader :connection_string
-
-    def initialize(connection_string)
-      @mappings = []
-      @connection_string = connection_string
-    end
-
-    def add(mapping)
-      @mappings.push(mapping)
-    end
-
-    def build_session_factory
-      SessionFactory.new(self)
-    end
-
-    def mapping_for(item)
-      @mappings.find do |mapping|
-        mapping.is_for?(item)
-      end
-    end
-  end
-
-  class SessionFactory
-    def initialize(configuration)
-      @configuration = configuration
-    end
-
-    def create_session
-      Session.new(self, @configuration)
-    end
-
-    def create_connection
-      Sequel.connect(@configuration.connection_string)
-    end
-  end
-
-  class Session
-    def initialize(connection_factory, mapper_registry)
-      @connection_factory = connection_factory
-      @mapper_registry = mapper_registry
-    end
-
-    def begin_transaction(&block)
-      create_connection.transaction do
-        block.call(self)
-      end
-    end
-
-    def save(item)
-      mapping_for(item).save_using(create_connection, item)
-    end
-
-    def find_all(clazz)
-      mapping_for(clazz).find_all_using(create_connection, clazz)
-    end
-
-    private
-
-    attr_reader :connection_factory, :mapper_registry
-
-    def create_connection
-      @connection ||= connection_factory.create_connection
-    end
-
-    def mapping_for(item)
-      mapper_registry.mapping_for(item)
-    end
-  end
-
 
 end