baccigalupi-aqua 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/.yardoc +0 -0
  2. data/Aqua.gemspec +20 -5
  3. data/README.rdoc +8 -4
  4. data/VERSION +1 -1
  5. data/doc/Aqua.html +1 -1
  6. data/doc/Aqua/Config.html +1 -1
  7. data/doc/Aqua/Config/ClassMethods.html +1 -1
  8. data/doc/Aqua/From.html +5 -5
  9. data/doc/Aqua/ObjectNotFound.html +1 -1
  10. data/doc/Aqua/Pack.html +1 -1
  11. data/doc/Aqua/Pack/ClassMethods.html +1 -1
  12. data/doc/Aqua/Pack/InstanceMethods.html +1 -1
  13. data/doc/Aqua/Query.html +1 -1
  14. data/doc/Aqua/Query/ClassMethods.html +1 -1
  15. data/doc/Aqua/Query/InstanceMethods.html +1 -1
  16. data/doc/Aqua/Storage.html +1 -1
  17. data/doc/Aqua/Store.html +1 -1
  18. data/doc/Aqua/Store/CouchDB.html +33 -33
  19. data/doc/Aqua/Store/CouchDB/Attachments.html +974 -0
  20. data/doc/Aqua/Store/CouchDB/Conflict.html +1 -1
  21. data/doc/Aqua/Store/CouchDB/Database.html +3 -3
  22. data/doc/Aqua/Store/CouchDB/DesignDocument.html +487 -0
  23. data/doc/Aqua/Store/CouchDB/RequestFailed.html +1 -1
  24. data/doc/Aqua/Store/CouchDB/RequestTimeout.html +1 -1
  25. data/doc/Aqua/Store/CouchDB/ResourceNotFound.html +1 -1
  26. data/doc/Aqua/Store/CouchDB/Server.html +1 -1
  27. data/doc/Aqua/Store/CouchDB/ServerBrokeConnection.html +1 -1
  28. data/doc/Aqua/Store/CouchDB/StorageMethods.html +1 -1
  29. data/doc/Aqua/Store/CouchDB/StorageMethods/ClassMethods.html +1 -1
  30. data/doc/Aqua/Store/CouchDB/StorageMethods/InstanceMethods.html +102 -2
  31. data/doc/Aqua/Stub.html +1 -1
  32. data/doc/Aqua/Tank.html +1 -1
  33. data/doc/Aqua/TempStub.html +1 -1
  34. data/doc/Aqua/To.html +10 -10
  35. data/doc/Aqua/Unpack.html +1 -1
  36. data/doc/Aqua/Unpack/ClassMethods.html +1 -1
  37. data/doc/Aqua/Unpack/InstanceMethods.html +1 -1
  38. data/doc/Array.html +13 -13
  39. data/doc/Bignum.html +5 -5
  40. data/doc/Date.html +5 -5
  41. data/doc/FalseClass.html +5 -5
  42. data/doc/Fixnum.html +5 -5
  43. data/doc/Float.html +5 -5
  44. data/doc/Hash.html +16 -16
  45. data/doc/OpenStruct.html +5 -5
  46. data/doc/README.rdoc.html +18 -10
  47. data/doc/Range.html +102 -0
  48. data/doc/Rational.html +9 -9
  49. data/doc/RestAPI.html +3 -3
  50. data/doc/RestClientAdapter.html +2 -2
  51. data/doc/Set.html +205 -0
  52. data/doc/Time.html +5 -5
  53. data/doc/TrueClass.html +5 -5
  54. data/doc/all-methods.html +126 -0
  55. data/doc/all-namespaces.html +8 -0
  56. data/doc/top-level-namespace.html +1 -1
  57. data/lib/aqua/object/pack.rb +1 -1
  58. data/lib/aqua/store/couch_db/attachments.rb +152 -0
  59. data/lib/aqua/store/couch_db/couch_db.rb +2 -0
  60. data/lib/aqua/store/couch_db/database.rb +1 -1
  61. data/lib/aqua/store/couch_db/design_document.rb +57 -0
  62. data/lib/aqua/store/couch_db/http_client/adapter/rest_client.rb +1 -1
  63. data/lib/aqua/store/couch_db/http_client/rest_api.rb +2 -2
  64. data/lib/aqua/store/couch_db/storage_methods.rb +12 -2
  65. data/lib/aqua/support/initializers.rb +12 -3
  66. data/lib/aqua/support/set.rb +27 -0
  67. data/spec/object/object_fixtures/sugar.rb +4 -0
  68. data/spec/object/pack_spec.rb +6 -0
  69. data/spec/object/unpack_spec.rb +18 -1
  70. data/spec/store/couchdb/attachments_spec.rb +127 -0
  71. data/spec/store/couchdb/design_document_spec.rb +43 -0
  72. data/spec/store/couchdb/{document_fixture.rb → fixtures_and_data/document_fixture.rb} +0 -0
  73. data/spec/store/couchdb/fixtures_and_data/image_attach.png +0 -0
  74. data/spec/store/couchdb/storage_methods_spec.rb +12 -4
  75. data/utils/custom.css +14 -0
  76. metadata +19 -4
@@ -4,7 +4,7 @@ module RestClientAdapter
4
4
  def self.convert_exception(&blk)
5
5
  begin
6
6
  yield
7
- rescue Exception => e
7
+ rescue Exception => e
8
8
  ending = e.class.to_s.match(/[a-z0-9_]*\z/i)
9
9
  if e.message.match(/409\z/)
10
10
  raise Aqua::Store::CouchDB::Conflict, e.message
@@ -25,8 +25,8 @@ module RestAPI
25
25
  end
26
26
 
27
27
  def put(uri, doc = nil)
28
- hash = doc.to_json if doc
29
- response = RestAPI.adapter.put( uri, hash )
28
+ hash = doc.to_json if doc
29
+ response = RestAPI.adapter.put( uri, hash )
30
30
  JSON.parse( response )
31
31
  end
32
32
 
@@ -342,10 +342,20 @@ module Aqua
342
342
  # Escapes a string for id usage
343
343
  # @api private
344
344
  def escape_for_id( str )
345
- str.match(/^_design\/(.*)/) ? "_design/#{CGI.escape($1)}" : CGI.escape(str)
345
+ CGI.escape(str)
346
346
  end
347
347
 
348
-
348
+ # Attachments ----------------
349
+ # maybe this should be it's own class??
350
+
351
+ # Hash of attachments, keyed by name
352
+ # @return [Hash] Attachments keyed by name
353
+ #
354
+ # @api public
355
+ def attachments
356
+ @attachments ||= Attachments.new( self )
357
+ end
358
+
349
359
  # TODO: Attachments
350
360
  # def encode_attachments(attachments)
351
361
  # attachments.each do |key, value|
@@ -1,7 +1,10 @@
1
1
  # AQUA INITIALIZATION
2
2
  # Some object store state in a fundamental way, not in instance variables, that needs to be initialized.
3
3
  # Examples: Array, Numeric types, Hashes, Time ...
4
- # You can make any object requiring this initialization savable to aqua by adding the following methods:
4
+ # You can make any object requiring this initialization savable to aqua by
5
+ # * including the Aqua::To module and extending the Aqua::From module
6
+ # * building your own methods for #to_aqua, #to_aqua_init, MyClass.aqua_init
7
+ # See set.rb in this file for more an example
5
8
  module Aqua
6
9
  module To
7
10
  def to_aqua( base_object )
@@ -27,7 +30,7 @@ module Aqua
27
30
  end # From
28
31
  end
29
32
 
30
- [ TrueClass, FalseClass, Time, Date, Fixnum, Bignum, Float, Rational, Hash, Array, OpenStruct].each do |klass|
33
+ [ TrueClass, FalseClass, Time, Date, Fixnum, Bignum, Float, Rational, Hash, Array, OpenStruct, Range].each do |klass|
31
34
  klass.class_eval do
32
35
  include Aqua::To
33
36
  extend Aqua::From
@@ -74,7 +77,13 @@ class Float
74
77
  def self.aqua_init( init )
75
78
  init.to_f
76
79
  end
77
- end
80
+ end
81
+
82
+ class Range
83
+ def self.aqua_init( init )
84
+ eval( init )
85
+ end
86
+ end
78
87
 
79
88
  class Rational
80
89
  def to_aqua_init( base_object )
@@ -0,0 +1,27 @@
1
+ # require this file if you want to use sets with your Aquatic objects
2
+ require 'set'
3
+
4
+ class Set
5
+ # implements initialization in a way that works provided that init is an array
6
+ extend Aqua::From
7
+
8
+ # implements #to_aqua correctly, we will have to rewrite #to_aqua_init to return an array
9
+ include Aqua::From
10
+
11
+ def to_aqua( base_object )
12
+ hash = {
13
+ 'class' => self.class.to_s,
14
+ 'init' => to_aqua_init( base_object )
15
+ }
16
+ if instance_variables.size > 0
17
+ hash.merge!({ 'ivars' => base_object._pack_ivars( self ) })
18
+ end
19
+ hash
20
+ end
21
+
22
+ def to_aqua_init( base_object )
23
+ # keys returns an array
24
+ # to_aqua_init will ensure that each of the objects is unpacked to aqua
25
+ instance_variable_get("@hash").keys.to_aqua_init( base_object )
26
+ end
27
+ end
@@ -0,0 +1,4 @@
1
+ class Sugar
2
+ aquatic # configured to :emded => false by default
3
+ attr_accessor :sweetness
4
+ end
@@ -55,6 +55,12 @@ describe Aqua::Pack do
55
55
  other_user_pack[:methods][:username].should == 'graeme'
56
56
  end
57
57
 
58
+ it "should pack a stub of an object with embed=>false" do
59
+ sugar = Sugar.new
60
+ sugar.sweetness = Sugar.new
61
+ lambda {sugar._pack}.should_not raise_error
62
+ end
63
+
58
64
  it 'should pack an array of stubbed methods' do
59
65
  User.configure_aqua( :embed => {:stub => [:username, :name] } )
60
66
  @user = User.new(
@@ -2,7 +2,9 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
  require_fixtures
3
3
 
4
4
  Aqua.set_storage_engine('CouchDB') # to initialize CouchDB
5
- CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
5
+ CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
6
+
7
+ require File.dirname(__FILE__) + "/../../lib/aqua/support/set"
6
8
 
7
9
  describe Aqua::Unpack do
8
10
  before(:each) do
@@ -261,6 +263,21 @@ describe Aqua::Unpack do
261
263
  user = User.load(@user.id)
262
264
  user.grab_bag.should == @user.grab_bag
263
265
  end
266
+
267
+ it 'should unpack a Range' do
268
+ @user.grab_bag = 1..3
269
+ @user.commit!
270
+ user = User.load(@user.id)
271
+ user.grab_bag.should == (1..3)
272
+ end
273
+
274
+ it 'should unpack a Set' do
275
+ set = Set.new([1,2,3])
276
+ @user.grab_bag = set
277
+ @user.commit!
278
+ user = User.load(@user.id)
279
+ user.grab_bag.should == set
280
+ end
264
281
 
265
282
 
266
283
  it 'should unpack an aquatic object' do
@@ -0,0 +1,127 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ Aqua.set_storage_engine('CouchDB') # to initialize the Aqua::Store namespace
4
+ require File.dirname(__FILE__) + '/fixtures_and_data/document_fixture' # Document ... a Mash with the collection of methods
5
+
6
+ # Conveniences for typing with tests ...
7
+ CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
8
+ Attachments = CouchDB::Attachments unless defined?( Attachments )
9
+
10
+ describe CouchDB::Attachments do
11
+ before(:each) do
12
+ CouchDB.server.delete_all!
13
+ @doc = Document.new(:id => 'attachments_doc')
14
+ @attachments = Attachments.new( @doc )
15
+ @file = File.new( File.dirname( __FILE__ ) + '/fixtures_and_data/image_attach.png' )
16
+ end
17
+
18
+ describe 'initialization' do
19
+ it 'should initialize with a document uri' do
20
+ lambda{ Attachments.new }.should raise_error( ArgumentError )
21
+ lambda{ Attachments.new( @doc )}.should_not raise_error( ArgumentError )
22
+ end
23
+
24
+ it 'should initialize with an optional hash' do
25
+ lambda{ Attachments.new( @doc, {:my_file => @file})}.should_not raise_error( ArgumentError )
26
+ end
27
+
28
+ it 'when initializing with a hash, it should check that each key is a string and each value is a file' do
29
+ lambda{ Attachments.new( @doc, { 1 => @file }) }.should raise_error( ArgumentError )
30
+ lambda{ Attachments.new( @doc, {:my_file => 1}) }.should raise_error( ArgumentError )
31
+ end
32
+ end
33
+
34
+ describe 'attachment_uri' do
35
+ it 'should raise an error if the document has no id' do
36
+ attachments = Attachments.new( Document.new )
37
+ attachments.add( :my_file, @file )
38
+ lambda{ attachments.uri_for( :my_file ) }.should raise_error( ArgumentError )
39
+ end
40
+
41
+ it 'should not include revision information if the document is new' do
42
+ @attachments.add( :my_file, @file )
43
+ @attachments.uri_for( :my_file ).should_not include( '?rev=')
44
+ end
45
+
46
+ it 'should include revision information if the document has been saved' do
47
+ @doc.save!
48
+ @attachments.add( :my_file, @file )
49
+ @attachments.uri_for( :my_file ).should include( '?rev=')
50
+ end
51
+
52
+ it 'should construct a valid attachment uri' do
53
+ @attachments.add(:my_file, @file )
54
+ @attachments.uri_for( :my_file ).should == "http://127.0.0.1:5984/aqua/attachments_doc/my_file"
55
+ end
56
+
57
+ it 'should construct a get attachment uri without the revision information' do
58
+ @doc.save!
59
+ @attachments.add( :my_file, @file )
60
+ @attachments.uri_for( :my_file, false ).should_not include( '?rev=')
61
+ end
62
+ end
63
+
64
+ describe 'adding attachments' do
65
+ it 'should have a method #add that takes a name and a file' do
66
+ @attachments.should respond_to( :add )
67
+ lambda{ @attachments.add }.should raise_error( ArgumentError )
68
+ lambda{ @attachments.add( :my_file ) }.should raise_error( ArgumentError )
69
+ lambda{ @attachments.add( :my_file, :not_a_file ) }.should raise_error( ArgumentError )
70
+ lambda{ @attachments.add( [], @file ) }.should raise_error( ArgumentError )
71
+ lambda{ @attachments.add( :my_file, @file ) }.should_not raise_error( ArgumentError )
72
+ end
73
+
74
+ it 'should add a valid hash to the attachments container' do
75
+ @attachments.add( :my_file, @file )
76
+ @attachments[:my_file].should == @file
77
+ end
78
+
79
+ it 'should save the attachment to the database' do
80
+ lambda{ @attachments.add!( :my_file, @file ) }.should_not raise_error
81
+ lambda{ CouchDB.get( @attachments.uri_for(:my_file) ) }.should_not raise_error
82
+ end
83
+ end
84
+
85
+ describe 'removing attachments' do
86
+ it '#delete should delete an attachment from the collection' do
87
+ @attachments.add( :my_file, @file )
88
+ @attachments.delete( :my_file ).should == @file
89
+ @attachments[:my_file].should be_nil
90
+ end
91
+
92
+ it '#delete! should remove an attachment from the collection and database' do
93
+ @attachments.add!( :my_file, @file )
94
+ @attachments.delete!( :my_file )
95
+ lambda{ CouchDB.get( @attachments.uri_for(:my_file) ) }.should raise_error #( Aqua::ObjectNotFound )
96
+ end
97
+ end
98
+
99
+ describe 'retrieving attachments' do
100
+ it 'should return a file if found locally' do
101
+ @attachments.add!( :my_file, @file )
102
+ @attachments.should_not_receive(:get!)
103
+ @attachments.get(:my_file).should == @file
104
+ end
105
+
106
+ it 'should request a file from the database when not found locally' do
107
+ @attachments.add!( :my_file, @file )
108
+ @attachments.delete( :my_file ) # just deletes the local reference
109
+ @attachments.should_receive(:get!)
110
+ @attachments.get(:my_file)
111
+ end
112
+
113
+ it 'should return a Tempfile from the database' do
114
+ @attachments.add!( :my_file, @file )
115
+ @attachments.delete( :my_file ) # just deletes the local reference
116
+ @attachments.get(:my_file).class.should == Tempfile
117
+ end
118
+
119
+ it 'should have the same data as the original file' do
120
+ @attachments.add!( :my_file, @file )
121
+ file = @attachments.get!(:my_file)
122
+ @file.rewind
123
+ file.read.should == @file.read
124
+ end
125
+ end
126
+
127
+ end
@@ -0,0 +1,43 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ Aqua.set_storage_engine('CouchDB') # to initialize the Aqua::Store namespace
4
+
5
+ # Conveniences for typing with tests ...
6
+ CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
7
+ Database = CouchDB::Database unless defined?( Database )
8
+ Server = CouchDB::Server unless defined?( Server )
9
+ Design = CouchDB::DesignDocument unless defined?( Design )
10
+
11
+ describe CouchDB::DesignDocument do
12
+ before(:each) do
13
+ CouchDB.server.delete_all
14
+ end
15
+
16
+ describe 'new and create' do
17
+ before(:each) do
18
+ @name = 'User'
19
+ @design = Design.new(:name => @name)
20
+ end
21
+
22
+ it 'should require a name to build the uri' do
23
+ design = Design.new
24
+ lambda{ design.uri }.should raise_error
25
+ lambda{ @design.uri }.should_not raise_error
26
+ end
27
+
28
+ it 'should build the correct uri' do
29
+ @design.uri.should == 'http://127.0.0.1:5984/aqua/_design/User'
30
+ end
31
+
32
+ it 'should save' do
33
+ lambda{ @design.save! }.should_not raise_error
34
+ lambda{ CouchDB.get( @design.uri ) }.should_not raise_error
35
+ end
36
+ end
37
+
38
+ describe 'views' do
39
+
40
+ end
41
+
42
+
43
+ end
@@ -1,12 +1,13 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
2
 
3
3
  Aqua.set_storage_engine('CouchDB') # to initialize the Aqua::Store namespace
4
- require File.dirname(__FILE__) + '/document_fixture' # Document ... a Mash with the collection of methods
4
+ require File.dirname(__FILE__) + '/fixtures_and_data/document_fixture' # Document ... a Mash with the collection of methods
5
5
 
6
6
  # Conveniences for typing with tests ...
7
- CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
8
- Database = CouchDB::Database unless defined?( Database )
9
- Server = CouchDB::Server unless defined?( Server)
7
+ CouchDB = Aqua::Store::CouchDB unless defined?( CouchDB )
8
+ Database = CouchDB::Database unless defined?( Database )
9
+ Server = CouchDB::Server unless defined?( Server)
10
+ Attachments = CouchDB::Attachments unless defined?( Attachments )
10
11
 
11
12
  describe 'CouchDB::StorageMethods' do
12
13
  before(:each) do
@@ -261,5 +262,12 @@ describe 'CouchDB::StorageMethods' do
261
262
  @doc.retrieve['more'].should == 'less ... really'
262
263
  end
263
264
  end
265
+
266
+ describe 'attachments' do
267
+ it 'should have an Attachment accessor for storing attachments' do
268
+ @doc.attachments.should == Attachments.new( @doc )
269
+ end
270
+
271
+ end
264
272
 
265
273
  end
@@ -0,0 +1,14 @@
1
+ body {
2
+ font-family: Trebuchet, 'Trebuchet MS', Verdana, Arial, sans-serif;
3
+ font-size: 11pt; line-height: 1.5;
4
+ }
5
+ a { color: #069;}
6
+ a:visited { color: #444;}
7
+
8
+ .section.module h1.title, .section.class h1.title, .section.readme h1 {
9
+ background-color: #09C; color: white; border-width: 0px;
10
+ }
11
+ .section.readme h1 { margin:0 0 7px -7px; }
12
+
13
+ h2 { background-color: #a2e3f9; color:#000000; padding-left: 7px; }
14
+ .readme h2 { margin:0 0 7px -7px; }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baccigalupi-aqua
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kane Baccigalupi
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-27 00:00:00 -07:00
12
+ date: 2009-08-31 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -46,8 +46,10 @@ files:
46
46
  - doc/Aqua/Storage.html
47
47
  - doc/Aqua/Store.html
48
48
  - doc/Aqua/Store/CouchDB.html
49
+ - doc/Aqua/Store/CouchDB/Attachments.html
49
50
  - doc/Aqua/Store/CouchDB/Conflict.html
50
51
  - doc/Aqua/Store/CouchDB/Database.html
52
+ - doc/Aqua/Store/CouchDB/DesignDocument.html
51
53
  - doc/Aqua/Store/CouchDB/RequestFailed.html
52
54
  - doc/Aqua/Store/CouchDB/RequestTimeout.html
53
55
  - doc/Aqua/Store/CouchDB/ResourceNotFound.html
@@ -72,9 +74,11 @@ files:
72
74
  - doc/Hash.html
73
75
  - doc/OpenStruct.html
74
76
  - doc/README.rdoc.html
77
+ - doc/Range.html
75
78
  - doc/Rational.html
76
79
  - doc/RestAPI.html
77
80
  - doc/RestClientAdapter.html
81
+ - doc/Set.html
78
82
  - doc/Time.html
79
83
  - doc/TrueClass.html
80
84
  - doc/all-files.html
@@ -98,8 +102,10 @@ files:
98
102
  - lib/aqua/object/stub.rb
99
103
  - lib/aqua/object/tank.rb
100
104
  - lib/aqua/object/unpack.rb
105
+ - lib/aqua/store/couch_db/attachments.rb
101
106
  - lib/aqua/store/couch_db/couch_db.rb
102
107
  - lib/aqua/store/couch_db/database.rb
108
+ - lib/aqua/store/couch_db/design_document.rb
103
109
  - lib/aqua/store/couch_db/http_client/adapter/rest_client.rb
104
110
  - lib/aqua/store/couch_db/http_client/rest_api.rb
105
111
  - lib/aqua/store/couch_db/server.rb
@@ -107,6 +113,7 @@ files:
107
113
  - lib/aqua/store/storage.rb
108
114
  - lib/aqua/support/initializers.rb
109
115
  - lib/aqua/support/mash.rb
116
+ - lib/aqua/support/set.rb
110
117
  - lib/aqua/support/string_extensions.rb
111
118
  - spec/aqua_spec.rb
112
119
  - spec/object/config_spec.rb
@@ -116,6 +123,7 @@ files:
116
123
  - spec/object/object_fixtures/grounded.rb
117
124
  - spec/object/object_fixtures/log.rb
118
125
  - spec/object/object_fixtures/persistent.rb
126
+ - spec/object/object_fixtures/sugar.rb
119
127
  - spec/object/object_fixtures/user.rb
120
128
  - spec/object/pack_spec.rb
121
129
  - spec/object/query_spec.rb
@@ -124,13 +132,17 @@ files:
124
132
  - spec/object/unpack_spec.rb
125
133
  - spec/spec.opts
126
134
  - spec/spec_helper.rb
135
+ - spec/store/couchdb/attachments_spec.rb
127
136
  - spec/store/couchdb/couch_db_spec.rb
128
137
  - spec/store/couchdb/database_spec.rb
129
- - spec/store/couchdb/document_fixture.rb
138
+ - spec/store/couchdb/design_document_spec.rb
139
+ - spec/store/couchdb/fixtures_and_data/document_fixture.rb
140
+ - spec/store/couchdb/fixtures_and_data/image_attach.png
130
141
  - spec/store/couchdb/server_spec.rb
131
142
  - spec/store/couchdb/storage_methods_spec.rb
132
143
  - utils/code_statistics.rb
133
144
  - utils/console
145
+ - utils/custom.css
134
146
  has_rdoc: true
135
147
  homepage: http://github.com/baccigalupi/aqua
136
148
  post_install_message:
@@ -166,6 +178,7 @@ test_files:
166
178
  - spec/object/object_fixtures/grounded.rb
167
179
  - spec/object/object_fixtures/log.rb
168
180
  - spec/object/object_fixtures/persistent.rb
181
+ - spec/object/object_fixtures/sugar.rb
169
182
  - spec/object/object_fixtures/user.rb
170
183
  - spec/object/pack_spec.rb
171
184
  - spec/object/query_spec.rb
@@ -173,8 +186,10 @@ test_files:
173
186
  - spec/object/tank_spec.rb
174
187
  - spec/object/unpack_spec.rb
175
188
  - spec/spec_helper.rb
189
+ - spec/store/couchdb/attachments_spec.rb
176
190
  - spec/store/couchdb/couch_db_spec.rb
177
191
  - spec/store/couchdb/database_spec.rb
178
- - spec/store/couchdb/document_fixture.rb
192
+ - spec/store/couchdb/design_document_spec.rb
193
+ - spec/store/couchdb/fixtures_and_data/document_fixture.rb
179
194
  - spec/store/couchdb/server_spec.rb
180
195
  - spec/store/couchdb/storage_methods_spec.rb