rspec_database_helper 0.1.0 → 0.2.0

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
- 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