gom-filesystem-adapter 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
| @@ -27,12 +27,17 @@ class GOM::Storage::Filesystem::Adapter < GOM::Storage::Adapter | |
| 27 27 | 
             
                read_only_error
         | 
| 28 28 | 
             
              end
         | 
| 29 29 |  | 
| 30 | 
            +
              def count
         | 
| 31 | 
            +
                check_setup
         | 
| 32 | 
            +
                @drafts.size
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
             | 
| 30 35 | 
             
              def collection(view_name, options = { })
         | 
| 31 36 | 
             
                check_setup
         | 
| 37 | 
            +
                configuration = self.configuration
         | 
| 32 38 | 
             
                view = configuration.views[view_name.to_sym]
         | 
| 33 39 | 
             
                raise ViewNotFoundError, "there are no view with the name #{view_name}" unless view
         | 
| 34 | 
            -
                 | 
| 35 | 
            -
                GOM::Object::Collection.new fetcher
         | 
| 40 | 
            +
                GOM::Object::Collection.new GOM::Storage::Filesystem::Collection::Fetcher.new(@drafts, view), configuration.name
         | 
| 36 41 | 
             
              end
         | 
| 37 42 |  | 
| 38 43 | 
             
              private
         | 
| @@ -28,20 +28,20 @@ class GOM::Storage::Filesystem::Loader | |
| 28 28 | 
             
              end
         | 
| 29 29 |  | 
| 30 30 | 
             
              def load_file_hash(file_hash)
         | 
| 31 | 
            -
                file_hash.each do | | 
| 32 | 
            -
                  @drafts[ | 
| 31 | 
            +
                file_hash.each do |object_id, hash|
         | 
| 32 | 
            +
                  @drafts[object_id] = Builder.new(object_id, hash).draft
         | 
| 33 33 | 
             
                end
         | 
| 34 34 | 
             
              end
         | 
| 35 35 |  | 
| 36 36 | 
             
              # Builds a draft out of the file hashes.
         | 
| 37 37 | 
             
              class Builder
         | 
| 38 38 |  | 
| 39 | 
            -
                def initialize(hash)
         | 
| 40 | 
            -
                  @hash = hash
         | 
| 39 | 
            +
                def initialize(object_id, hash)
         | 
| 40 | 
            +
                  @object_id, @hash = object_id, hash
         | 
| 41 41 | 
             
                end
         | 
| 42 42 |  | 
| 43 43 | 
             
                def draft
         | 
| 44 | 
            -
                   | 
| 44 | 
            +
                  initialize_draft
         | 
| 45 45 | 
             
                  set_class_name
         | 
| 46 46 | 
             
                  set_properties
         | 
| 47 47 | 
             
                  set_relations
         | 
| @@ -50,6 +50,10 @@ class GOM::Storage::Filesystem::Loader | |
| 50 50 |  | 
| 51 51 | 
             
                private
         | 
| 52 52 |  | 
| 53 | 
            +
                def initialize_draft
         | 
| 54 | 
            +
                  @draft = GOM::Object::Draft.new @object_id
         | 
| 55 | 
            +
                end
         | 
| 56 | 
            +
             | 
| 53 57 | 
             
                def set_class_name
         | 
| 54 58 | 
             
                  @draft.class_name = @hash["class"] || "Object"
         | 
| 55 59 | 
             
                end
         | 
| @@ -4,12 +4,12 @@ describe GOM::Storage::Filesystem::Adapter do | |
| 4 4 |  | 
| 5 5 | 
             
              before :each do
         | 
| 6 6 | 
             
                @draft = mock GOM::Object::Draft
         | 
| 7 | 
            -
                @drafts = mock Hash, :[] => @draft
         | 
| 7 | 
            +
                @drafts = mock Hash, :[] => @draft, :size => 1
         | 
| 8 8 |  | 
| 9 9 | 
             
                @loader = mock GOM::Storage::Filesystem::Loader, :drafts => @drafts
         | 
| 10 10 | 
             
                GOM::Storage::Filesystem::Loader.stub(:new).and_return(@loader)
         | 
| 11 11 |  | 
| 12 | 
            -
                @configuration = mock GOM::Storage::Configuration
         | 
| 12 | 
            +
                @configuration = mock GOM::Storage::Configuration, :name => "test_storage"
         | 
| 13 13 | 
             
                @configuration.stub(:[]).with(:files).and_return("test_files")
         | 
| 14 14 | 
             
                @adapter = described_class.new @configuration
         | 
| 15 15 | 
             
              end
         | 
| @@ -107,6 +107,25 @@ describe GOM::Storage::Filesystem::Adapter do | |
| 107 107 |  | 
| 108 108 | 
             
              end
         | 
| 109 109 |  | 
| 110 | 
            +
              describe "count" do
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                before :each do
         | 
| 113 | 
            +
                  @adapter.setup
         | 
| 114 | 
            +
                end
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                it "should return the object hash" do
         | 
| 117 | 
            +
                  @adapter.count.should == 1
         | 
| 118 | 
            +
                end
         | 
| 119 | 
            +
             | 
| 120 | 
            +
                it "should raise a #{GOM::Storage::Adapter::NoSetupError} if no drafts has been loaded" do
         | 
| 121 | 
            +
                  @adapter.teardown
         | 
| 122 | 
            +
                  lambda do
         | 
| 123 | 
            +
                    @adapter.count
         | 
| 124 | 
            +
                  end.should raise_error(GOM::Storage::Adapter::NoSetupError)
         | 
| 125 | 
            +
                end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
              end
         | 
| 128 | 
            +
             | 
| 110 129 | 
             
              describe "collection" do
         | 
| 111 130 |  | 
| 112 131 | 
             
                before :each do
         | 
| @@ -61,11 +61,13 @@ describe GOM::Storage::Filesystem::Loader do | |
| 61 61 |  | 
| 62 62 | 
             
                it "should convert the file hash into drafts" do
         | 
| 63 63 | 
             
                  draft_one = @loader.drafts["object_1"]
         | 
| 64 | 
            +
                  draft_one.object_id.should == "object_1"
         | 
| 64 65 | 
             
                  draft_one.class_name.should == "Test::Model"
         | 
| 65 66 | 
             
                  draft_one.properties.should == { "test" => "test value" }
         | 
| 66 67 | 
             
                  draft_one.relations.should == { "related_object" => @proxy }
         | 
| 67 68 |  | 
| 68 69 | 
             
                  draft_two = @loader.drafts["object_2"]
         | 
| 70 | 
            +
                  draft_two.object_id.should == "object_2"
         | 
| 69 71 | 
             
                  draft_two.class_name.should == "Object"
         | 
| 70 72 | 
             
                  draft_two.properties.should == { "test" => "another test value" }
         | 
| 71 73 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version | |
| 5 5 | 
             
              segments: 
         | 
| 6 6 | 
             
              - 0
         | 
| 7 7 | 
             
              - 3
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              version: 0.3. | 
| 8 | 
            +
              - 1
         | 
| 9 | 
            +
              version: 0.3.1
         | 
| 10 10 | 
             
            platform: ruby
         | 
| 11 11 | 
             
            authors: 
         | 
| 12 12 | 
             
            - "Philipp Br\xC3\xBCll"
         | 
| @@ -14,7 +14,7 @@ autorequire: | |
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 16 |  | 
| 17 | 
            -
            date: 2011- | 
| 17 | 
            +
            date: 2011-03-07 00:00:00 +01:00
         | 
| 18 18 | 
             
            default_executable: 
         | 
| 19 19 | 
             
            dependencies: 
         | 
| 20 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -28,7 +28,8 @@ dependencies: | |
| 28 28 | 
             
                    segments: 
         | 
| 29 29 | 
             
                    - 0
         | 
| 30 30 | 
             
                    - 3
         | 
| 31 | 
            -
                     | 
| 31 | 
            +
                    - 1
         | 
| 32 | 
            +
                    version: 0.3.1
         | 
| 32 33 | 
             
              type: :runtime
         | 
| 33 34 | 
             
              version_requirements: *id001
         | 
| 34 35 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -70,20 +71,20 @@ files: | |
| 70 71 | 
             
            - README.rdoc
         | 
| 71 72 | 
             
            - LICENSE
         | 
| 72 73 | 
             
            - Rakefile
         | 
| 73 | 
            -
            - lib/gom/storage.rb
         | 
| 74 | 
            -
            - lib/gom/filesystem-adapter.rb
         | 
| 75 | 
            -
            - lib/gom/storage/filesystem/collection/fetcher.rb
         | 
| 76 | 
            -
            - lib/gom/storage/filesystem/collection.rb
         | 
| 77 74 | 
             
            - lib/gom/storage/filesystem/adapter.rb
         | 
| 78 75 | 
             
            - lib/gom/storage/filesystem/loader.rb
         | 
| 76 | 
            +
            - lib/gom/storage/filesystem/collection/fetcher.rb
         | 
| 77 | 
            +
            - lib/gom/storage/filesystem/collection.rb
         | 
| 79 78 | 
             
            - lib/gom/storage/filesystem.rb
         | 
| 80 | 
            -
            -  | 
| 81 | 
            -
            -  | 
| 79 | 
            +
            - lib/gom/filesystem-adapter.rb
         | 
| 80 | 
            +
            - lib/gom/storage.rb
         | 
| 82 81 | 
             
            - spec/gom/storage/filesystem/collection/fetcher_spec.rb
         | 
| 83 82 | 
             
            - spec/gom/storage/filesystem/adapter_spec.rb
         | 
| 84 | 
            -
            - spec/ | 
| 85 | 
            -
            - spec/ | 
| 83 | 
            +
            - spec/gom/storage/filesystem/loader_spec.rb
         | 
| 84 | 
            +
            - spec/storage.configuration
         | 
| 86 85 | 
             
            - spec/spec_helper.rb
         | 
| 86 | 
            +
            - spec/acceptance/data/objects.yml
         | 
| 87 | 
            +
            - spec/acceptance/adapter_spec.rb
         | 
| 87 88 | 
             
            has_rdoc: true
         | 
| 88 89 | 
             
            homepage: http://github.com/phifty/gom-filesystem-adapter
         | 
| 89 90 | 
             
            licenses: []
         | 
| @@ -117,7 +118,7 @@ signing_key: | |
| 117 118 | 
             
            specification_version: 3
         | 
| 118 119 | 
             
            summary: Filesystem storage adapter for the General Object Mapper.
         | 
| 119 120 | 
             
            test_files: 
         | 
| 120 | 
            -
            - spec/gom/storage/filesystem/loader_spec.rb
         | 
| 121 121 | 
             
            - spec/gom/storage/filesystem/collection/fetcher_spec.rb
         | 
| 122 122 | 
             
            - spec/gom/storage/filesystem/adapter_spec.rb
         | 
| 123 | 
            +
            - spec/gom/storage/filesystem/loader_spec.rb
         | 
| 123 124 | 
             
            - spec/acceptance/adapter_spec.rb
         |