rspec-activemodel-mocks 1.0.2 → 1.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe8e05d703a22aa1fc278645068aae3818e01f8f
4
- data.tar.gz: b9d7e9d0353224e2307f90c20e89a78d9656ac87
3
+ metadata.gz: e4aabaf01fc2ce4d1d63258a97eeae886aed9666
4
+ data.tar.gz: 5d6c8954af12f2cc996525f341ecb0ef9bba96a8
5
5
  SHA512:
6
- metadata.gz: 1318ccf14e3acac642963c468e9e6fa768a0ccf74422ce6ec8d5435527d69e6ca981abfac7e1691d771d248b74488d1e66142a6a0d7eed215d1b6459c7e61908
7
- data.tar.gz: b945ac6c0075e1df095388983d08e823ba15518e6f7bcf1d8ae03d3ba4635d49a373d001e85d069ff22d6ea53d68e759ca744a060c51ae440656ab096789172f
6
+ metadata.gz: c93de78dbdf87d1af66ed2a589fe1ceadb3f960a2aeb9fe54f5c6e011a0337f202d7c352f9eca26c82853cc5099193db10be4fb89cff80fd8cab08ac0dec11b3
7
+ data.tar.gz: a307fa11f27e7aa9695aab18356089a8ff9802d69cc6df53a47e32cf3c80f76291e22a6b6041187f610e4343427df0cf948fe9dafaef0ec133e7d8525f9fa68a
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -238,7 +238,7 @@ EOM
238
238
  def stub_model(model_class, stubs={})
239
239
  model_class.new.tap do |m|
240
240
  m.extend ActiveModelStubExtensions
241
- if defined?(ActiveRecord) && model_class < ActiveRecord::Base
241
+ if defined?(ActiveRecord) && model_class < ActiveRecord::Base && model_class.primary_key
242
242
  m.extend ActiveRecordStubExtensions
243
243
  primary_key = model_class.primary_key.to_sym
244
244
  stubs = {primary_key => next_id}.merge(stubs)
@@ -2,7 +2,7 @@ module RSpec
2
2
  module ActiveModel
3
3
  module Mocks
4
4
  module Version
5
- STRING = '1.0.2'
5
+ STRING = '1.0.3'
6
6
  end
7
7
  end
8
8
  end
@@ -298,6 +298,13 @@ describe "mock_model(RealModel)" do
298
298
  end
299
299
 
300
300
  context "with as_null_object" do
301
+ around do |example|
302
+ original = RSpec::Mocks.configuration.syntax
303
+ RSpec::Mocks.configuration.syntax = :should
304
+ example.run
305
+ RSpec::Mocks.configuration.syntax = original
306
+ end
307
+
301
308
  it "says it will not respond_to?(xxx_before_type_cast)" do
302
309
  model = NonActiveRecordModel.new.as_null_object
303
310
  expect(model.respond_to?("title_before_type_cast")).to be(false)
@@ -151,4 +151,16 @@ describe "stub_model" do
151
151
  end
152
152
 
153
153
  end
154
+
155
+ context "with an ActiveRecord model with no primary key" do
156
+ let(:model_class) { MockableModelNoPrimaryKey }
157
+
158
+ it "yields the model" do
159
+ model = stub_model(model_class) do |block_arg|
160
+ @block_arg = block_arg
161
+ end
162
+ expect(model).to be(@block_arg)
163
+ end
164
+
165
+ end
154
166
  end
@@ -16,6 +16,23 @@ module Connections
16
16
  end
17
17
  end
18
18
 
19
+ module ConnectionsView
20
+ def self.extended(host)
21
+ host.connection.execute <<-eosql
22
+ CREATE TABLE some_table (
23
+ associated_model_id integer,
24
+ mockable_model_id integer,
25
+ nonexistent_model_id integer
26
+ )
27
+ eosql
28
+
29
+ host.connection.execute <<-eosql
30
+ CREATE VIEW #{host.table_name} AS
31
+ select * from some_table;
32
+ eosql
33
+ end
34
+ end
35
+
19
36
  class NonActiveRecordModel
20
37
  extend ActiveModel::Naming
21
38
  include ActiveModel::Conversion
@@ -26,6 +43,11 @@ class MockableModel < ActiveRecord::Base
26
43
  has_one :associated_model
27
44
  end
28
45
 
46
+ # (e.g. model backed database views)
47
+ class MockableModelNoPrimaryKey < ActiveRecord::Base
48
+ extend ConnectionsView
49
+ end
50
+
29
51
  class SubMockableModel < MockableModel
30
52
  end
31
53
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-activemodel-mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -9,8 +9,43 @@ authors:
9
9
  - Thomas Holmes
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2015-09-22 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
16
+ VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
17
+ MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
18
+ CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx
19
+ MjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
20
+ EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
21
+ Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
22
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
23
+ KMOHnJoExxRNHHxH+3w9kkl95YldvDRVX495b13ZCzwRe0AyqX24wq04tp0G5Z5C
24
+ e/w2pnNK4ol1eECPwQu+YGpepeODlZICL5gwQspe0cDifbBnHx5QySMiPpvx6bC0
25
+ tQTox0ppDIaMhch8IPCwyoE4DQK5bpsdwnLSHTsQjUIb7IM8tUMpd/iKrJgNffwc
26
+ 6gC1TmhIlzQoB26nCNh9uK7xZjUM+sGECzvcYuImchUaIgJA/ybrlZS+m/hxzvBo
27
+ mLnn/xNEC6Vz5HG+3TR0Gb0cSUf6XUu2s51Jk/SJi3MhCZp2gs9OUg4EVZNzQVkZ
28
+ efLBjAZG2Mxk14JyB4/Omc+Jk0ajprINCBbUNnxzCJrYDM3J9TVWIwyUGNX/U3MO
29
+ s3tMAT+EVgx/mZMPnBO8EULlyF51MRUp3Wy9Mnw8AYLk30UnMG5AjqgO5JNyFlA7
30
+ Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
31
+ blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
32
+ gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
33
+ 2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW
34
+ Vv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF
35
+ MAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD
36
+ gtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY
37
+ +pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36
38
+ 8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe
39
+ ghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid
40
+ Xrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/
41
+ UbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/
42
+ BeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj
43
+ Akt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu
44
+ e6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp
45
+ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
46
+ F3MdtaDehhjC
47
+ -----END CERTIFICATE-----
48
+ date: 2016-01-28 00:00:00.000000000 Z
14
49
  dependencies:
15
50
  - !ruby/object:Gem::Dependency
16
51
  name: activesupport
@@ -178,10 +213,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
213
  version: '0'
179
214
  requirements: []
180
215
  rubyforge_project:
181
- rubygems_version: 2.2.2
216
+ rubygems_version: 2.5.1
182
217
  signing_key:
183
218
  specification_version: 4
184
- summary: rspec-activemodel-mocks-1.0.2
219
+ summary: rspec-activemodel-mocks-1.0.3
185
220
  test_files:
186
221
  - features/mocks/mock_model.feature
187
222
  - features/mocks/stub_model.feature
metadata.gz.sig ADDED
Binary file