dynamoid 0.7.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +2 -24
- data/README.markdown +89 -73
- data/Rakefile +10 -36
- data/dynamoid.gemspec +56 -191
- data/lib/dynamoid.rb +6 -4
- data/lib/dynamoid/adapter.rb +64 -150
- data/lib/dynamoid/adapter_plugin/aws_sdk_v2.rb +579 -0
- data/lib/dynamoid/components.rb +0 -1
- data/lib/dynamoid/config.rb +2 -5
- data/lib/dynamoid/criteria.rb +1 -1
- data/lib/dynamoid/criteria/chain.rb +27 -140
- data/lib/dynamoid/document.rb +2 -2
- data/lib/dynamoid/errors.rb +30 -9
- data/lib/dynamoid/fields.rb +15 -3
- data/lib/dynamoid/finders.rb +7 -6
- data/lib/dynamoid/identity_map.rb +1 -5
- data/lib/dynamoid/persistence.rb +108 -93
- metadata +56 -229
- data/.document +0 -5
- data/.rspec +0 -1
- data/.travis.yml +0 -7
- data/Gemfile.lock +0 -81
- data/Gemfile_activemodel4 +0 -24
- data/Gemfile_activemodel4.lock +0 -88
- data/VERSION +0 -1
- data/doc/.nojekyll +0 -0
- data/doc/Dynamoid.html +0 -328
- data/doc/Dynamoid/Adapter.html +0 -1872
- data/doc/Dynamoid/Adapter/AwsSdk.html +0 -2101
- data/doc/Dynamoid/Adapter/Local.html +0 -1574
- data/doc/Dynamoid/Associations.html +0 -138
- data/doc/Dynamoid/Associations/Association.html +0 -847
- data/doc/Dynamoid/Associations/BelongsTo.html +0 -161
- data/doc/Dynamoid/Associations/ClassMethods.html +0 -766
- data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +0 -167
- data/doc/Dynamoid/Associations/HasMany.html +0 -167
- data/doc/Dynamoid/Associations/HasOne.html +0 -161
- data/doc/Dynamoid/Associations/ManyAssociation.html +0 -1684
- data/doc/Dynamoid/Associations/SingleAssociation.html +0 -627
- data/doc/Dynamoid/Components.html +0 -242
- data/doc/Dynamoid/Config.html +0 -412
- data/doc/Dynamoid/Config/Options.html +0 -638
- data/doc/Dynamoid/Criteria.html +0 -138
- data/doc/Dynamoid/Criteria/Chain.html +0 -1471
- data/doc/Dynamoid/Criteria/ClassMethods.html +0 -105
- data/doc/Dynamoid/Dirty.html +0 -424
- data/doc/Dynamoid/Dirty/ClassMethods.html +0 -174
- data/doc/Dynamoid/Document.html +0 -1033
- data/doc/Dynamoid/Document/ClassMethods.html +0 -1116
- data/doc/Dynamoid/Errors.html +0 -125
- data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +0 -141
- data/doc/Dynamoid/Errors/DocumentNotValid.html +0 -221
- data/doc/Dynamoid/Errors/Error.html +0 -137
- data/doc/Dynamoid/Errors/InvalidField.html +0 -141
- data/doc/Dynamoid/Errors/InvalidQuery.html +0 -131
- data/doc/Dynamoid/Errors/MissingRangeKey.html +0 -141
- data/doc/Dynamoid/Fields.html +0 -686
- data/doc/Dynamoid/Fields/ClassMethods.html +0 -438
- data/doc/Dynamoid/Finders.html +0 -135
- data/doc/Dynamoid/Finders/ClassMethods.html +0 -943
- data/doc/Dynamoid/IdentityMap.html +0 -492
- data/doc/Dynamoid/IdentityMap/ClassMethods.html +0 -534
- data/doc/Dynamoid/Indexes.html +0 -321
- data/doc/Dynamoid/Indexes/ClassMethods.html +0 -369
- data/doc/Dynamoid/Indexes/Index.html +0 -1142
- data/doc/Dynamoid/Middleware.html +0 -115
- data/doc/Dynamoid/Middleware/IdentityMap.html +0 -264
- data/doc/Dynamoid/Persistence.html +0 -892
- data/doc/Dynamoid/Persistence/ClassMethods.html +0 -836
- data/doc/Dynamoid/Validations.html +0 -415
- data/doc/_index.html +0 -506
- data/doc/class_list.html +0 -53
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -57
- data/doc/css/style.css +0 -338
- data/doc/file.LICENSE.html +0 -73
- data/doc/file.README.html +0 -416
- data/doc/file_list.html +0 -58
- data/doc/frames.html +0 -28
- data/doc/index.html +0 -416
- data/doc/js/app.js +0 -214
- data/doc/js/full_list.js +0 -178
- data/doc/js/jquery.js +0 -4
- data/doc/method_list.html +0 -1144
- data/doc/top-level-namespace.html +0 -112
- data/lib/dynamoid/adapter/aws_sdk.rb +0 -287
- data/lib/dynamoid/indexes.rb +0 -69
- data/lib/dynamoid/indexes/index.rb +0 -103
- data/spec/app/models/address.rb +0 -13
- data/spec/app/models/camel_case.rb +0 -34
- data/spec/app/models/car.rb +0 -6
- data/spec/app/models/magazine.rb +0 -11
- data/spec/app/models/message.rb +0 -9
- data/spec/app/models/nuclear_submarine.rb +0 -5
- data/spec/app/models/sponsor.rb +0 -8
- data/spec/app/models/subscription.rb +0 -12
- data/spec/app/models/tweet.rb +0 -12
- data/spec/app/models/user.rb +0 -26
- data/spec/app/models/vehicle.rb +0 -7
- data/spec/dynamoid/adapter/aws_sdk_spec.rb +0 -376
- data/spec/dynamoid/adapter_spec.rb +0 -155
- data/spec/dynamoid/associations/association_spec.rb +0 -194
- data/spec/dynamoid/associations/belongs_to_spec.rb +0 -71
- data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +0 -47
- data/spec/dynamoid/associations/has_many_spec.rb +0 -42
- data/spec/dynamoid/associations/has_one_spec.rb +0 -45
- data/spec/dynamoid/associations_spec.rb +0 -16
- data/spec/dynamoid/config_spec.rb +0 -27
- data/spec/dynamoid/criteria/chain_spec.rb +0 -210
- data/spec/dynamoid/criteria_spec.rb +0 -75
- data/spec/dynamoid/dirty_spec.rb +0 -57
- data/spec/dynamoid/document_spec.rb +0 -180
- data/spec/dynamoid/fields_spec.rb +0 -156
- data/spec/dynamoid/finders_spec.rb +0 -147
- data/spec/dynamoid/identity_map_spec.rb +0 -45
- data/spec/dynamoid/indexes/index_spec.rb +0 -104
- data/spec/dynamoid/indexes_spec.rb +0 -25
- data/spec/dynamoid/persistence_spec.rb +0 -301
- data/spec/dynamoid/validations_spec.rb +0 -36
- data/spec/dynamoid_spec.rb +0 -9
- data/spec/spec_helper.rb +0 -55
- data/spec/support/with_partitioning.rb +0 -15
@@ -1,36 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
-
|
3
|
-
describe "Dynamoid::Validations" do
|
4
|
-
before do
|
5
|
-
@document = Class.new do
|
6
|
-
include Dynamoid::Document
|
7
|
-
|
8
|
-
def self.name
|
9
|
-
'Document'
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'validates presence of' do
|
15
|
-
@document.field :name
|
16
|
-
@document.validates_presence_of :name
|
17
|
-
doc = @document.new
|
18
|
-
doc.save.should be_false
|
19
|
-
doc.new_record.should be_true
|
20
|
-
doc.name = 'secret'
|
21
|
-
doc.save.should_not be_false
|
22
|
-
doc.errors.should be_empty
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'raises document not found' do
|
26
|
-
@document.field :name
|
27
|
-
@document.validates_presence_of :name
|
28
|
-
doc = @document.new
|
29
|
-
expect { doc.save! }.to raise_error(Dynamoid::Errors::DocumentNotValid)
|
30
|
-
|
31
|
-
expect { @document.create! }.to raise_error(Dynamoid::Errors::DocumentNotValid)
|
32
|
-
|
33
|
-
doc = @document.create!(:name => 'test')
|
34
|
-
doc.errors.should be_empty
|
35
|
-
end
|
36
|
-
end
|
data/spec/dynamoid_spec.rb
DELETED
data/spec/spec_helper.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
-
|
4
|
-
MODELS = File.join(File.dirname(__FILE__), "app/models")
|
5
|
-
|
6
|
-
require 'rspec'
|
7
|
-
require 'dynamoid'
|
8
|
-
require 'pry'
|
9
|
-
require 'mocha'
|
10
|
-
require 'aws-sdk'
|
11
|
-
|
12
|
-
ENV['ACCESS_KEY'] ||= 'abcd'
|
13
|
-
ENV['SECRET_KEY'] ||= '1234'
|
14
|
-
|
15
|
-
AWS.config({
|
16
|
-
:access_key_id => ENV['ACCESS_KEY'],
|
17
|
-
:secret_access_key => ENV['SECRET_KEY'],
|
18
|
-
:dynamo_db_endpoint => 'localhost',
|
19
|
-
:dynamo_db_port => '4567',
|
20
|
-
:use_ssl => false
|
21
|
-
})
|
22
|
-
|
23
|
-
Dynamoid.configure do |config|
|
24
|
-
config.adapter = 'aws_sdk'
|
25
|
-
config.namespace = 'dynamoid_tests'
|
26
|
-
config.warn_on_scan = false
|
27
|
-
end
|
28
|
-
|
29
|
-
Dynamoid.logger.level = Logger::FATAL
|
30
|
-
|
31
|
-
# Requires supporting files with custom matchers and macros, etc,
|
32
|
-
# in ./support/ and its subdirectories.
|
33
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
34
|
-
|
35
|
-
Dir[ File.join(MODELS, "*.rb") ].sort.each { |file| require file }
|
36
|
-
|
37
|
-
RSpec.configure do |config|
|
38
|
-
config.alias_it_should_behave_like_to :configured_with, "configured with"
|
39
|
-
config.mock_with(:mocha)
|
40
|
-
|
41
|
-
config.before(:each) do
|
42
|
-
Dynamoid::Adapter.list_tables.each do |table|
|
43
|
-
if table =~ /^#{Dynamoid::Config.namespace}/
|
44
|
-
table = Dynamoid::Adapter.get_table(table)
|
45
|
-
table.items.each {|i| i.delete}
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
config.after(:suite) do
|
51
|
-
Dynamoid::Adapter.list_tables.each do |table|
|
52
|
-
Dynamoid::Adapter.delete_table(table) if table =~ /^#{Dynamoid::Config.namespace}/
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Enables paritioning for these tests, use like so:
|
3
|
-
#
|
4
|
-
#
|
5
|
-
#
|
6
|
-
shared_examples "partitioning" do
|
7
|
-
before(:all) do
|
8
|
-
@previous_value = Dynamoid::Config.partitioning
|
9
|
-
Dynamoid::Config.partitioning = true
|
10
|
-
end
|
11
|
-
|
12
|
-
after(:all) do
|
13
|
-
Dynamoid::Config.partitioning = @previous_value
|
14
|
-
end
|
15
|
-
end
|