rspec_database_helper 0.1.0 → 0.2.0

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
- SHA256:
3
- metadata.gz: d4606952b85e519f481615943086d75092095b7e5f071716c6743efeb4a41ca0
4
- data.tar.gz: ba74284aaa5e97646d80efb26d99330f4566036559bd3ab405ecb2fd8926c5ef
2
+ SHA1:
3
+ metadata.gz: 43e9a4b5b6ca0e9aeb4d8645d5a03bb9bd814897
4
+ data.tar.gz: 7bb76c9efe7b747b27acaa00ee1803fb8e271246
5
5
  SHA512:
6
- metadata.gz: d81e66b309b33397539ec642c4c5e392148e69576c62c4ba9eccadcf95283c7dc972050574d51364efd176b44ec4e041e04ed9c8643452eed72f255a123239f8
7
- data.tar.gz: 2173e5388cd1b78f1bc2f2b0d26ffb4badd8d816e8ff3709a235e9ffe1c28dceb53ff91a11ada6f5ac4804f6a1aedbdb5beb5fe3e39855dadb347994d7e05647
6
+ metadata.gz: 375e4f3afd6f11018c77df6f9f95fe655792d3c7816a134af1ab424282d3f39f08fbe5d4da203bde6f2e81b63d4668662cc1dab0069f69cd0b459a7c1508ff66
7
+ data.tar.gz: 0409dc44cc1aa618faa180da3567ac53c4a7495b69d70c015ce9ad61deadd7403339cf3ccab8928382b3db93fa90c92bcd6551248045e3bba10774d68ed22312
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ .ruby-version
@@ -1,29 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec_database_helper (0.1.0)
5
- factory_bot
4
+ rspec_database_helper (0.2.0)
6
5
  parser
7
- rspec (>= 2.4)
8
6
 
9
7
  GEM
10
8
  remote: https://rubygems.org/
11
9
  specs:
12
- activesupport (6.0.0)
13
- concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.1, >= 2.1.8)
18
10
  ast (2.4.0)
19
- concurrent-ruby (1.1.5)
20
11
  diff-lcs (1.3)
21
- factory_bot (5.0.2)
22
- activesupport (>= 4.2.0)
23
- i18n (1.6.0)
24
- concurrent-ruby (~> 1.0)
25
- minitest (5.11.3)
26
- parser (2.6.4.1)
12
+ parser (2.7.0.2)
27
13
  ast (~> 2.4.0)
28
14
  rake (10.5.0)
29
15
  rspec (3.8.0)
@@ -39,10 +25,6 @@ GEM
39
25
  diff-lcs (>= 1.2.0, < 2.0)
40
26
  rspec-support (~> 3.8.0)
41
27
  rspec-support (3.8.2)
42
- thread_safe (0.3.6)
43
- tzinfo (1.2.5)
44
- thread_safe (~> 0.1)
45
- zeitwerk (2.1.10)
46
28
 
47
29
  PLATFORMS
48
30
  ruby
data/README.md CHANGED
@@ -17,6 +17,18 @@ And then execute:
17
17
  Or install it yourself as:
18
18
 
19
19
  $ gem install rspec_database_helper
20
+
21
+ ## Configuration
22
+
23
+ Include helpers into RSpec
24
+
25
+ ```ruby
26
+ # spec/rails_helper.rb
27
+
28
+ RSpec.configure do |config|
29
+ config.include RspecDatabaseHelper
30
+ end
31
+ ```
20
32
 
21
33
  ## Usage
22
34
 
@@ -1,24 +1,30 @@
1
+ require 'parser/current'
1
2
  require "rspec_database_helper/version"
2
3
 
3
4
  module RspecDatabaseHelper
4
5
  module ClassMethods
5
- require 'parser/current'
6
+ def self.rewriter_class
7
+ return Parser::TreeRewriter if defined?(Parser::TreeRewriter)
8
+ return Parser::Rewriter if defined?(Parser::Rewriter)
9
+ end
6
10
 
7
- class DatabaseDSLTranslator < ::Parser::TreeRewriter
11
+ class DatabaseDSLTranslator < rewriter_class
8
12
  def on_send(node)
9
13
  _, method_name, *args = node.children
10
14
 
11
15
  factory_attrs = args.map { |e| e.loc.expression.source }.join(', ')
16
+ factory_class = 'FactoryGirl' if defined?(FactoryGirl)
17
+ factory_class = 'FactoryBot' if defined?(FactoryBot)
12
18
 
13
19
  case method_name
14
20
  when /list!$/
15
- replace(node.loc.expression, "let!(:#{method_name.to_s.sub(/_list!$/,'')}) { FactoryBot.create_list(#{factory_attrs}) }")
21
+ replace(node.loc.expression, "let!(:#{method_name.to_s.sub(/_list!$/,'')}) { #{factory_class}.create_list(#{factory_attrs}) }")
16
22
  when /list$/
17
- replace(node.loc.expression, "let(:#{method_name.to_s.sub(/_list$/,'')}) { FactoryBot.create_list(#{factory_attrs}) }")
23
+ replace(node.loc.expression, "let(:#{method_name.to_s.sub(/_list$/,'')}) { #{factory_class}.create_list(#{factory_attrs}) }")
18
24
  when /!$/
19
- replace(node.loc.expression, "let!(:#{method_name.to_s.sub(/!$/,'')}) { FactoryBot.create(#{factory_attrs}) }")
25
+ replace(node.loc.expression, "let!(:#{method_name.to_s.sub(/!$/,'')}) { #{factory_class}.create(#{factory_attrs}) }")
20
26
  else
21
- replace(node.loc.expression, "let(:#{method_name}) { FactoryBot.create(#{factory_attrs}) }")
27
+ replace(node.loc.expression, "let(:#{method_name}) { #{factory_class}.create(#{factory_attrs}) }")
22
28
  end
23
29
  end
24
30
  end
@@ -1,3 +1,3 @@
1
1
  module RspecDatabaseHelper
2
- VERSION = "0.1.0"
2
+ VERSION = '0.2.0'
3
3
  end
@@ -36,8 +36,6 @@ Gem::Specification.new do |spec|
36
36
  spec.require_paths = ['lib']
37
37
 
38
38
  spec.add_runtime_dependency 'parser'
39
- spec.add_runtime_dependency 'factory_bot'
40
- spec.add_runtime_dependency 'rspec', '>= 2.4'
41
39
 
42
40
  spec.add_development_dependency 'bundler', '~> 1.17'
43
41
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_database_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrii Baran
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-21 00:00:00.000000000 Z
11
+ date: 2020-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -24,34 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: factory_bot
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '2.4'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '2.4'
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: bundler
57
29
  requirement: !ruby/object:Gem::Requirement
@@ -137,7 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
109
  - !ruby/object:Gem::Version
138
110
  version: '0'
139
111
  requirements: []
140
- rubygems_version: 3.0.1
112
+ rubyforge_project:
113
+ rubygems_version: 2.4.5.5
141
114
  signing_key:
142
115
  specification_version: 4
143
116
  summary: Small helper that helps organize definitions of FactoryBot.create methods