File tree Expand file tree Collapse file tree 2 files changed +28
-4
lines changed Expand file tree Collapse file tree 2 files changed +28
-4
lines changed Original file line number Diff line number Diff line change
1
+ class Demo
2
+ def foo ( &block )
3
+ block . call
4
+ end
5
+
6
+ def bar ( &block )
7
+ instance_exec ( &block )
8
+ end
9
+ end
10
+
11
+ # rspec instance_exec_demo.rb
12
+ RSpec . describe Demo do
13
+ context = self
14
+
15
+ let ( :r1 ) { Demo . new . foo { self } }
16
+ let ( :r2 ) { Demo . new . bar { self } }
17
+
18
+ it 'has different context' do
19
+ expect ( r1 ) . to be_a ( context )
20
+ expect ( r2 ) . to be_a ( Demo )
21
+ end
22
+ end
Original file line number Diff line number Diff line change
1
+ require 'rspec'
2
+ require 'pry'
3
+
1
4
class User
2
5
attr_accessor :name
3
6
attr_accessor :email
4
7
end
5
8
6
9
class MyFactoryBot
7
- def self . define
10
+ def self . define ( &block )
11
+ instance_exec ( &block )
8
12
end
9
13
10
14
def self . create ( model_sym )
@@ -14,14 +18,12 @@ def self.create(model_sym)
14
18
15
19
MyFactoryBot . define do
16
20
factory :user do
21
+ require "pry" ; binding . pry
17
22
name { 'Bogs' }
18
23
19
24
end
20
25
end
21
26
22
- require 'rspec'
23
- require 'pry'
24
-
25
27
# rspec my_factory_bot.rb
26
28
RSpec . describe MyFactoryBot do
27
29
describe '.create' do
You can’t perform that action at this time.
0 commit comments