dynamoid 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 66d793bb4519ccd94ce9e8dd46550c02db75390e
4
- data.tar.gz: 55f4da7a601691112e2eac068a81f3194b893fa5
3
+ metadata.gz: '04313866f14532a020f286b09a32b7c27745aa56'
4
+ data.tar.gz: fbd6aef851145aa731ea684a0a5ccfadc1f71659
5
5
  SHA512:
6
- metadata.gz: f26bf8ba08816cffae591a78e2b9148abed5423bd8a84c556888bba9c9e35dd24e971b9425e2729ae71be6ec0ee015eab274e321bcfe99fe18243339e13e2e2b
7
- data.tar.gz: c2f267ed34a44de9c940416ebbbc950ab6588aa1e75de85d016171d881466613966223c24d59b669fea09919f1b5a47d8fc1005c68692f9b8c4003dd89a0a045
6
+ metadata.gz: 5f71ed0b06f92ce3d296732a839f14778a841754a3856c889a0693b9bf81986fb43762f1b45bc9ddc998a11e9e4ab6ff44a1295ebef36b1c83d6004378624b1c
7
+ data.tar.gz: 8e34652d0b05adbd2a6b30c405140acec063a31a42c41580edfd8bb2a51b792f572f651baf6f136e752ff860b774d777ce4914b28149a7ed39b49db404632b9d
data/.gitignore CHANGED
@@ -65,3 +65,4 @@ Gemfile.lock
65
65
  /spec/reports/
66
66
  /tmp/
67
67
  /spec/DynamoDBLocal-latest/
68
+ /vendor/
data/.travis.yml CHANGED
@@ -2,10 +2,26 @@ language: ruby
2
2
  rvm:
3
3
  - ruby-2.0.0-p648
4
4
  - ruby-2.1.10
5
- - ruby-2.2.5
6
- - ruby-2.3.1
7
- - jruby-9.1.4.0
8
- before_install: gem install bundler -v 1.12.5
5
+ - ruby-2.2.6
6
+ - ruby-2.3.3
7
+ - ruby-2.4.1
8
+ - jruby-9.1.8.0
9
+ gemfile:
10
+ - gemfiles/rails_4_0.gemfile
11
+ - gemfiles/rails_4_1.gemfile
12
+ - gemfiles/rails_4_2.gemfile
13
+ - gemfiles/rails_5_0.gemfile
14
+ matrix:
15
+ exclude:
16
+ - rvm: ruby-2.0.0-p648
17
+ gemfile: gemfiles/rails_5_0.gemfile
18
+ - rvm: ruby-2.1.10
19
+ gemfile: gemfiles/rails_5_0.gemfile
20
+ - rvm: ruby-2.4.1
21
+ gemfile: gemfiles/rails_4_0.gemfile
22
+ - rvm: ruby-2.4.1
23
+ gemfile: gemfiles/rails_4_1.gemfile
24
+ before_install: gem install bundler -v 1.14.6
9
25
  install:
10
26
  - wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.zip --quiet -O spec/dynamodb_temp.zip
11
27
  - unzip -qq spec/dynamodb_temp.zip -d spec/DynamoDBLocal-latest
data/Appraisals ADDED
@@ -0,0 +1,15 @@
1
+ appraise "rails-4-0" do
2
+ gem "rails", "~> 4.0.0"
3
+ end
4
+
5
+ appraise "rails-4-1" do
6
+ gem "rails", "~> 4.1.0"
7
+ end
8
+
9
+ appraise "rails-4-2" do
10
+ gem "rails", "~> 4.2.0"
11
+ end
12
+
13
+ appraise "rails-5-0" do
14
+ gem "rails", "~> 5.0.0"
15
+ end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # HEAD
2
2
 
3
+ # 1.3.1
4
+
5
+ * Adds support for Rails 5 without warnings.
6
+ * Adds rake tasks for working with a DynamoDB database:
7
+ * rake dynamoid:create_tables
8
+ * rake dynamoid:ping
9
+ * Automatically requires the Railtie when in Rails (which loads the rake tasks)
10
+ * Prevent duplicate entries in Dynamoid.included_models
11
+ * Added wwtd and appraisal to spec suite for easier verification of the compatibility matrix
12
+ * Support is now officially Ruby 2.0+, (including JRuby 9000) and Rails 4.0+
13
+
3
14
  # 1.3.0
4
15
 
5
16
  * Fixed specs (@AlexNisnevich & @pboling)
data/README.md CHANGED
@@ -10,6 +10,11 @@ DynamoDB is not like other document-based databases you might know, and is very
10
10
 
11
11
  But if you want a fast, scalable, simple, easy-to-use database (and a Gem that supports it) then look no further!
12
12
 
13
+ ## Call For Maintainers
14
+
15
+ Please inquire within.
16
+ https://github.com/Dynamoid/Dynamoid/issues/125
17
+
13
18
  ## Installation
14
19
 
15
20
  Installing Dynamoid is pretty simple. First include the Gem in your Gemfile:
@@ -75,7 +80,18 @@ Then you need to initialize Dynamoid config to get it going. Put code similar to
75
80
 
76
81
  ```
77
82
 
78
- Once you have the configuration set up, you need to move on to making models.
83
+ ### Compatibility Matrix
84
+
85
+ | Ruby / Active Record | 4.0.x | 4.1.x | 4.2.x | 5.0.x |
86
+ |:---------------------:|:-----:|:-----:|:-----:|:-----:|
87
+ | 2.0.0 | ✓ | ✓ | ✓ | |
88
+ | 2.1.x | ✓ | ✓ | ✓ | |
89
+ | 2.2.0-2.2.1 | ✓ | ✓ | ✓ | |
90
+ | 2.2.2+ | ✓ | ✓ | ✓ | ✓ |
91
+ | 2.3.x | ✓ | ✓ | ✓ | ✓ |
92
+ | 2.3.x | ✓ | ✓ | ✓ | ✓ |
93
+ | 2.4.x | | | ✓ | ✓ |
94
+ | jruby-9.X | ✓ | ✓ | ✓ | ✓ |
79
95
 
80
96
  ## Setup
81
97
 
@@ -335,6 +351,39 @@ User.where("created_at.lt" => DateTime.now - 1.day).all
335
351
 
336
352
  It also supports .gte and .lte. Turning those into symbols and allowing a Rails SQL-style string syntax is in the works. You can only have one range argument per query, because of DynamoDB's inherent limitations, so use it sensibly!
337
353
 
354
+ ### Global Secondary Indexes
355
+
356
+ The query I use is as follows, but I really do not know a lot about Dynamoid, and got this working by reading through other Amazon Dynamo code bases and the documentation form Amazon.
357
+
358
+ ```ruby
359
+ find_all_by_secondary_index(
360
+ {
361
+ dynamo_primary_key_column_name => dynamo_primary_key_value
362
+ }, # The signature of find_all_by_secondary_index is ugly, so must be an explicit hash here
363
+ :range => {
364
+ "#{range_column}.#{range_modifier}" => range_value
365
+ },
366
+ # false is the same as DESC in SQL (newest timestamp first)
367
+ # true is the same as ASC in SQL (oldest timestamp first)
368
+ :scan_index_forward => false # or true
369
+ )
370
+ ```
371
+ where the range modifier is one of Dynamoid::Finders::RANGE_MAP.keys, where the RANGE_MAP is:
372
+
373
+ ```ruby
374
+ RANGE_MAP = {
375
+ 'gt' => :range_greater_than,
376
+ 'lt' => :range_less_than,
377
+ 'gte' => :range_gte,
378
+ 'lte' => :range_lte,
379
+ 'begins_with' => :range_begins_with,
380
+ 'between' => :range_between,
381
+ 'eq' => :range_eq
382
+ }
383
+ ```
384
+
385
+ Most range searches, like `eq`, need a single value, and searches like `between`, need an array with two values.
386
+
338
387
  ## Concurrency
339
388
 
340
389
  Dynamoid supports basic, ActiveRecord-like optimistic locking on save operations. Simply add a `lock_version` column to your table like so:
@@ -353,6 +402,11 @@ In this example, all saves to `MyTable` will raise an `Dynamoid::Errors::StaleOb
353
402
 
354
403
  Calls to `update` and `update!` also increment the `lock_version`, however they do not check the existing value. This guarantees that a update operation will raise an exception in a concurrent save operation, however a save operation will never cause an update to fail. Thus, `update` is useful & safe only for doing atomic operations (e.g. increment a value, add/remove from a set, etc), but should not be used in a read-modify-write pattern.
355
404
 
405
+ ## Rake Tasks
406
+
407
+ * `rake dynamoid:create_tables`
408
+ * `rake dynamoid:ping`
409
+
356
410
  ## Test Environment
357
411
 
358
412
  In test environment you will most likely want to clean the database between test runs to keep tests completely isolated. This can be achieved like so
@@ -439,6 +493,21 @@ Running the tests is fairly simple. You should have an instance of DynamoDB runn
439
493
  rake
440
494
  ```
441
495
 
496
+ * When you are done, remember to stop the local test instance of dynamodb
497
+
498
+ ```shell
499
+ bin/stop_dynamodblocal
500
+ ```
501
+
502
+ If you want to run all the specs that travis runs, use `bundle exec wwtd`, but first you will need to setup all the rubies, for each of `%w( 2.0.0-p648 2.1.10 2.2.6 2.3.3 2.4.1 jruby-9.1.8.0 )`. WHen you run `bundle exec wwtd` it will take care of starting and stopping the local dynamodb instance.
503
+
504
+ ```shell
505
+ rvm use 2.0.0-p648
506
+ gem install rubygems-update
507
+ gem install bundler
508
+ bundle install
509
+ ```
510
+
442
511
  [![Build Status](https://travis-ci.org/Dynamoid/Dynamoid.svg)](https://travis-ci.org/Dynamoid/Dynamoid)
443
512
  [![Coverage Status](https://coveralls.io/repos/Dynamoid/Dynamoid/badge.svg?branch=master&service=github)](https://coveralls.io/github/Dynamoid/Dynamoid?branch=master)
444
513
 
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ require "bundler/setup"
3
4
  begin
4
5
  Bundler.setup(:default, :development)
5
6
  rescue Bundler::BundlerError => e
@@ -7,6 +8,9 @@ rescue Bundler::BundlerError => e
7
8
  $stderr.puts "Run `bundle install` to install missing gems"
8
9
  exit e.status_code
9
10
  end
11
+ if defined?(Rails)
12
+ load "./lib/dynamoid/tasks/database.rake"
13
+ end
10
14
 
11
15
  require "rake"
12
16
  require "rspec/core/rake_task"
@@ -61,4 +65,6 @@ task :publish do
61
65
  `git checkout master`
62
66
  end
63
67
 
68
+ require "wwtd/tasks"
69
+
64
70
  task :default => :spec
data/dynamoid.gemspec CHANGED
@@ -38,20 +38,25 @@ Gem::Specification.new do |spec|
38
38
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
39
39
  spec.require_paths = ["lib"]
40
40
 
41
- if Gem::Version.new(RUBY_VERSION) > Gem::Version.new("2.2.2")
42
- spec.add_runtime_dependency(%q<activemodel>, [">= 4"])
43
- else
44
- spec.add_runtime_dependency(%q<activemodel>, ["~> 4"])
45
- end
41
+ # This form of switching the gem dependencies is not compatible with wwtd & appraisal
42
+ # if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.2")
43
+ # spec.add_runtime_dependency(%q<activemodel>, [">= 4", "< 5.1.0"])
44
+ # spec.add_development_dependency(%q<activesupport>, [">= 4", "< 5.1.0"])
45
+ # else
46
+ # spec.add_runtime_dependency(%q<activemodel>, ["~> 4"])
47
+ # spec.add_development_dependency(%q<activesupport>, ["~> 4"])
48
+ # end
49
+ spec.add_runtime_dependency(%q<activemodel>, [">= 4"])
50
+ spec.add_development_dependency(%q<activesupport>, [">= 4"])
46
51
  spec.add_runtime_dependency(%q<aws-sdk-resources>, ["~> 2"])
47
52
  spec.add_runtime_dependency(%q<concurrent-ruby>, [">= 1.0"])
48
- spec.add_development_dependency(%q<rake>, [">= 10"])
49
- spec.add_development_dependency(%q<bundler>, ["~> 1.12"])
50
- spec.add_development_dependency(%q<rspec>, [">= 3"])
53
+ spec.add_development_dependency "pry", "~> 0.10"
54
+ spec.add_development_dependency "bundler", "~> 1.14"
55
+ spec.add_development_dependency "rake", "~> 12.0"
56
+ spec.add_development_dependency "rspec", "~> 3.0"
57
+ spec.add_development_dependency "appraisal", "~> 2.1"
58
+ spec.add_development_dependency "wwtd", "~> 1.3"
51
59
  spec.add_development_dependency(%q<yard>, [">= 0"])
52
- spec.add_development_dependency(%q<github-markup>, [">= 0"])
53
- spec.add_development_dependency(%q<pry>, [">= 0"])
54
60
  spec.add_development_dependency(%q<coveralls>, [">= 0"])
55
61
  spec.add_development_dependency(%q<rspec-retry>, [">= 0"])
56
- spec.add_development_dependency(%q<activesupport>, ["~> 4"])
57
62
  end
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 4.0.0"
6
+ # Still tested against Ruby 2.0.0, which can't install nokogiri 1.7+
7
+ gem "nokogiri", "~> 1.6.8.1"
8
+
9
+ gemspec :path => "../"
@@ -0,0 +1,150 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ dynamoid (1.3.0)
5
+ activemodel (>= 4)
6
+ aws-sdk-resources (~> 2)
7
+ concurrent-ruby (>= 1.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionmailer (4.0.13)
13
+ actionpack (= 4.0.13)
14
+ mail (~> 2.5, >= 2.5.4)
15
+ actionpack (4.0.13)
16
+ activesupport (= 4.0.13)
17
+ builder (~> 3.1.0)
18
+ erubis (~> 2.7.0)
19
+ rack (~> 1.5.2)
20
+ rack-test (~> 0.6.2)
21
+ activemodel (4.0.13)
22
+ activesupport (= 4.0.13)
23
+ builder (~> 3.1.0)
24
+ activerecord (4.0.13)
25
+ activemodel (= 4.0.13)
26
+ activerecord-deprecated_finders (~> 1.0.2)
27
+ activesupport (= 4.0.13)
28
+ arel (~> 4.0.0)
29
+ activerecord-deprecated_finders (1.0.4)
30
+ activesupport (4.0.13)
31
+ i18n (~> 0.6, >= 0.6.9)
32
+ minitest (~> 4.2)
33
+ multi_json (~> 1.3)
34
+ thread_safe (~> 0.1)
35
+ tzinfo (~> 0.3.37)
36
+ appraisal (2.1.0)
37
+ bundler
38
+ rake
39
+ thor (>= 0.14.0)
40
+ arel (4.0.2)
41
+ aws-sdk-core (2.8.11)
42
+ aws-sigv4 (~> 1.0)
43
+ jmespath (~> 1.0)
44
+ aws-sdk-resources (2.8.11)
45
+ aws-sdk-core (= 2.8.11)
46
+ aws-sigv4 (1.0.0)
47
+ builder (3.1.4)
48
+ coderay (1.1.1)
49
+ concurrent-ruby (1.0.5)
50
+ coveralls (0.8.19)
51
+ json (>= 1.8, < 3)
52
+ simplecov (~> 0.12.0)
53
+ term-ansicolor (~> 1.3)
54
+ thor (~> 0.19.1)
55
+ tins (~> 1.6)
56
+ diff-lcs (1.3)
57
+ docile (1.1.5)
58
+ erubis (2.7.0)
59
+ i18n (0.8.1)
60
+ jmespath (1.3.1)
61
+ json (2.0.3)
62
+ mail (2.6.4)
63
+ mime-types (>= 1.16, < 4)
64
+ method_source (0.8.2)
65
+ mime-types (3.1)
66
+ mime-types-data (~> 3.2015)
67
+ mime-types-data (3.2016.0521)
68
+ mini_portile2 (2.1.0)
69
+ minitest (4.7.5)
70
+ multi_json (1.12.1)
71
+ nokogiri (1.6.8.1)
72
+ mini_portile2 (~> 2.1.0)
73
+ pry (0.10.4)
74
+ coderay (~> 1.1.0)
75
+ method_source (~> 0.8.1)
76
+ slop (~> 3.4)
77
+ rack (1.5.5)
78
+ rack-test (0.6.3)
79
+ rack (>= 1.0)
80
+ rails (4.0.13)
81
+ actionmailer (= 4.0.13)
82
+ actionpack (= 4.0.13)
83
+ activerecord (= 4.0.13)
84
+ activesupport (= 4.0.13)
85
+ bundler (>= 1.3.0, < 2.0)
86
+ railties (= 4.0.13)
87
+ sprockets-rails (~> 2.0)
88
+ railties (4.0.13)
89
+ actionpack (= 4.0.13)
90
+ activesupport (= 4.0.13)
91
+ rake (>= 0.8.7)
92
+ thor (>= 0.18.1, < 2.0)
93
+ rake (12.0.0)
94
+ rspec (3.5.0)
95
+ rspec-core (~> 3.5.0)
96
+ rspec-expectations (~> 3.5.0)
97
+ rspec-mocks (~> 3.5.0)
98
+ rspec-core (3.5.4)
99
+ rspec-support (~> 3.5.0)
100
+ rspec-expectations (3.5.0)
101
+ diff-lcs (>= 1.2.0, < 2.0)
102
+ rspec-support (~> 3.5.0)
103
+ rspec-mocks (3.5.0)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.5.0)
106
+ rspec-retry (0.5.3)
107
+ rspec-core (> 3.3, < 3.6)
108
+ rspec-support (3.5.0)
109
+ simplecov (0.12.0)
110
+ docile (~> 1.1.0)
111
+ json (>= 1.8, < 3)
112
+ simplecov-html (~> 0.10.0)
113
+ simplecov-html (0.10.0)
114
+ slop (3.6.0)
115
+ sprockets (3.7.1)
116
+ concurrent-ruby (~> 1.0)
117
+ rack (> 1, < 3)
118
+ sprockets-rails (2.3.3)
119
+ actionpack (>= 3.0)
120
+ activesupport (>= 3.0)
121
+ sprockets (>= 2.8, < 4.0)
122
+ term-ansicolor (1.4.1)
123
+ tins (~> 1.0)
124
+ thor (0.19.4)
125
+ thread_safe (0.3.6)
126
+ tins (1.13.2)
127
+ tzinfo (0.3.53)
128
+ wwtd (1.3.0)
129
+ yard (0.9.8)
130
+
131
+ PLATFORMS
132
+ ruby
133
+
134
+ DEPENDENCIES
135
+ activesupport (>= 4)
136
+ appraisal (~> 2.1)
137
+ bundler (~> 1.14)
138
+ coveralls
139
+ dynamoid!
140
+ nokogiri (~> 1.6.8.1)
141
+ pry (~> 0.10)
142
+ rails (~> 4.0.0)
143
+ rake (~> 12.0)
144
+ rspec (~> 3.0)
145
+ rspec-retry
146
+ wwtd (~> 1.3)
147
+ yard
148
+
149
+ BUNDLED WITH
150
+ 1.14.6
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 4.1.0"
6
+ # Still tested against Ruby 2.0.0, which can't install nokogiri 1.7+
7
+ gem "nokogiri", "~> 1.6.8.1"
8
+
9
+ gemspec :path => "../"
@@ -0,0 +1,154 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ dynamoid (1.3.0)
5
+ activemodel (>= 4)
6
+ aws-sdk-resources (~> 2)
7
+ concurrent-ruby (>= 1.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actionmailer (4.1.16)
13
+ actionpack (= 4.1.16)
14
+ actionview (= 4.1.16)
15
+ mail (~> 2.5, >= 2.5.4)
16
+ actionpack (4.1.16)
17
+ actionview (= 4.1.16)
18
+ activesupport (= 4.1.16)
19
+ rack (~> 1.5.2)
20
+ rack-test (~> 0.6.2)
21
+ actionview (4.1.16)
22
+ activesupport (= 4.1.16)
23
+ builder (~> 3.1)
24
+ erubis (~> 2.7.0)
25
+ activemodel (4.1.16)
26
+ activesupport (= 4.1.16)
27
+ builder (~> 3.1)
28
+ activerecord (4.1.16)
29
+ activemodel (= 4.1.16)
30
+ activesupport (= 4.1.16)
31
+ arel (~> 5.0.0)
32
+ activesupport (4.1.16)
33
+ i18n (~> 0.6, >= 0.6.9)
34
+ json (~> 1.7, >= 1.7.7)
35
+ minitest (~> 5.1)
36
+ thread_safe (~> 0.1)
37
+ tzinfo (~> 1.1)
38
+ appraisal (2.1.0)
39
+ bundler
40
+ rake
41
+ thor (>= 0.14.0)
42
+ arel (5.0.1.20140414130214)
43
+ aws-sdk-core (2.8.11)
44
+ aws-sigv4 (~> 1.0)
45
+ jmespath (~> 1.0)
46
+ aws-sdk-resources (2.8.11)
47
+ aws-sdk-core (= 2.8.11)
48
+ aws-sigv4 (1.0.0)
49
+ builder (3.2.3)
50
+ coderay (1.1.1)
51
+ concurrent-ruby (1.0.5)
52
+ coveralls (0.8.19)
53
+ json (>= 1.8, < 3)
54
+ simplecov (~> 0.12.0)
55
+ term-ansicolor (~> 1.3)
56
+ thor (~> 0.19.1)
57
+ tins (~> 1.6)
58
+ diff-lcs (1.3)
59
+ docile (1.1.5)
60
+ erubis (2.7.0)
61
+ i18n (0.8.1)
62
+ jmespath (1.3.1)
63
+ json (1.8.6)
64
+ mail (2.6.4)
65
+ mime-types (>= 1.16, < 4)
66
+ method_source (0.8.2)
67
+ mime-types (3.1)
68
+ mime-types-data (~> 3.2015)
69
+ mime-types-data (3.2016.0521)
70
+ mini_portile2 (2.1.0)
71
+ minitest (5.10.1)
72
+ nokogiri (1.6.8.1)
73
+ mini_portile2 (~> 2.1.0)
74
+ pry (0.10.4)
75
+ coderay (~> 1.1.0)
76
+ method_source (~> 0.8.1)
77
+ slop (~> 3.4)
78
+ rack (1.5.5)
79
+ rack-test (0.6.3)
80
+ rack (>= 1.0)
81
+ rails (4.1.16)
82
+ actionmailer (= 4.1.16)
83
+ actionpack (= 4.1.16)
84
+ actionview (= 4.1.16)
85
+ activemodel (= 4.1.16)
86
+ activerecord (= 4.1.16)
87
+ activesupport (= 4.1.16)
88
+ bundler (>= 1.3.0, < 2.0)
89
+ railties (= 4.1.16)
90
+ sprockets-rails (~> 2.0)
91
+ railties (4.1.16)
92
+ actionpack (= 4.1.16)
93
+ activesupport (= 4.1.16)
94
+ rake (>= 0.8.7)
95
+ thor (>= 0.18.1, < 2.0)
96
+ rake (12.0.0)
97
+ rspec (3.5.0)
98
+ rspec-core (~> 3.5.0)
99
+ rspec-expectations (~> 3.5.0)
100
+ rspec-mocks (~> 3.5.0)
101
+ rspec-core (3.5.4)
102
+ rspec-support (~> 3.5.0)
103
+ rspec-expectations (3.5.0)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.5.0)
106
+ rspec-mocks (3.5.0)
107
+ diff-lcs (>= 1.2.0, < 2.0)
108
+ rspec-support (~> 3.5.0)
109
+ rspec-retry (0.5.3)
110
+ rspec-core (> 3.3, < 3.6)
111
+ rspec-support (3.5.0)
112
+ simplecov (0.12.0)
113
+ docile (~> 1.1.0)
114
+ json (>= 1.8, < 3)
115
+ simplecov-html (~> 0.10.0)
116
+ simplecov-html (0.10.0)
117
+ slop (3.6.0)
118
+ sprockets (3.7.1)
119
+ concurrent-ruby (~> 1.0)
120
+ rack (> 1, < 3)
121
+ sprockets-rails (2.3.3)
122
+ actionpack (>= 3.0)
123
+ activesupport (>= 3.0)
124
+ sprockets (>= 2.8, < 4.0)
125
+ term-ansicolor (1.4.1)
126
+ tins (~> 1.0)
127
+ thor (0.19.4)
128
+ thread_safe (0.3.6)
129
+ tins (1.13.2)
130
+ tzinfo (1.2.3)
131
+ thread_safe (~> 0.1)
132
+ wwtd (1.3.0)
133
+ yard (0.9.8)
134
+
135
+ PLATFORMS
136
+ ruby
137
+
138
+ DEPENDENCIES
139
+ activesupport (>= 4)
140
+ appraisal (~> 2.1)
141
+ bundler (~> 1.14)
142
+ coveralls
143
+ dynamoid!
144
+ nokogiri (~> 1.6.8.1)
145
+ pry (~> 0.10)
146
+ rails (~> 4.1.0)
147
+ rake (~> 12.0)
148
+ rspec (~> 3.0)
149
+ rspec-retry
150
+ wwtd (~> 1.3)
151
+ yard
152
+
153
+ BUNDLED WITH
154
+ 1.14.6