spree_dev_tools 0.3.3 → 0.4.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
2
  SHA256:
3
- metadata.gz: e3a90330dc889581c270ed52b1c4a510d60a7e0e33af4269c1fac221b6d06c9a
4
- data.tar.gz: 33976d7cada4134dd577e817bb574dfba8cad74db4a7fe8fad98b251edd2cafd
3
+ metadata.gz: f07ca8bc10a4d253c954b6ef0a54be9adfce8b531376302007cc855a30a85c4c
4
+ data.tar.gz: 6b2e41cc7eb9f9f15967f2115cc480f7def3c1ca78f4c7083adaafa35eb7640a
5
5
  SHA512:
6
- metadata.gz: 95d6eefdc80c4ddc5ca4df753d8cadb8da7fd46da0fb966babbcaa994f1ffdb4f871f66f380cca9981baf099e8e8cbbd29ea37b93b04c473f4fbba452299677b
7
- data.tar.gz: 818242116be06cdab830b9b8a67b0dfa73869ea525ac23e965febfc86c416aec1e41ed2b40ba8b4864ffbe1da5d06cef5f6484ead27cc75e0affc0e1fca775db
6
+ metadata.gz: add3bd3cebd21c9af8a113d7619fbeec505b0c9d116cc40875beb5729896047d03b49fabc9d8301e6b13454f242c681251191f1ab09fcb1f73baee9e53a6c2e7
7
+ data.tar.gz: b0113636d6d81a1676d5f740129a1986e18f99331bd8d393f098f39068c8f6761f1dc17d89d7a1413cf5c485e648c9d96c3d779dbf0733978df435cc4e962c55
data/README.md CHANGED
@@ -1,25 +1,27 @@
1
1
  # Spree Developer Tools
2
2
 
3
- This gem includes:
4
-
5
- * all dependencies to run Spree applications in development and test environments
6
- * configuration for testing environment
7
- * rspec and capybara helpers
3
+ This is a Spree development tools gem. It helps you work with Spree applications, both extensions and standard Rails applications.
8
4
 
9
5
  ## Installation
10
6
 
11
- Add it to your `Gemfile`
7
+ Add it to your `Gemfile`:
12
8
 
13
9
  ```ruby
14
- gem 'spree_dev_tools'
10
+ gem 'spree_dev_tools', group: [:development, :test]
15
11
  ```
16
12
 
17
- And run...
13
+ Run:
18
14
 
19
15
  ```bash
20
16
  bundle install
21
17
  ```
22
18
 
19
+ And finally run the generator:
20
+
21
+ ```bash
22
+ bundle exec rails g spree_dev_tools:install
23
+ ```
24
+
23
25
  ## Configuring
24
26
 
25
27
  If you want to disable Simplecov set the `SPREE_DEV_TOOLS_DISABLE_SIMPLECOV` ENV variable to any value.
@@ -0,0 +1,12 @@
1
+ module SpreeDevTools
2
+ class Engine < Rails::Engine
3
+ require 'spree/core'
4
+ isolate_namespace Spree
5
+ engine_name 'spree_dev_tools'
6
+
7
+ config.generators do |g|
8
+ g.test_framework :rspec
9
+ g.fixture_replacement :factory_bot, dir: "spec/factories"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,49 @@
1
+ require 'rails/generators'
2
+
3
+ module SpreeDevTools
4
+ class InstallGenerator < Rails::Generators::Base
5
+ source_root File.expand_path('templates', __dir__)
6
+
7
+ def self.source_paths
8
+ paths = superclass.source_paths
9
+ paths << File.expand_path('templates', __dir__)
10
+ paths << File.expand_path('../../rspec/support', __dir__)
11
+ paths.flatten
12
+ end
13
+
14
+ desc 'Configures Rails generators for RSpec and FactoryBot'
15
+
16
+ def run_rspec_install
17
+ return if File.exist?(Rails.root.join('spec/spec_helper.rb'))
18
+
19
+ rails_command 'rspec:install'
20
+ end
21
+
22
+ def install_spree_dev_tools
23
+ return if File.exist?(Rails.root.join('config/initializers/spree_dev_tools.rb'))
24
+
25
+ template 'spree_dev_tools.rb', 'config/initializers/spree_dev_tools.rb'
26
+ end
27
+
28
+ def inject_rspec_support_files
29
+ empty_directory 'spec/support'
30
+
31
+ template 'capybara.rb', 'spec/support/capybara.rb'
32
+ template 'action_text.rb', 'spec/support/action_text.rb'
33
+ template 'active_job.rb', 'spec/support/active_job.rb'
34
+ template 'database_cleaner.rb', 'spec/support/database_cleaner.rb'
35
+ template 'devise.rb', 'spec/support/devise.rb'
36
+ template 'factory_bot.rb', 'spec/support/factory_bot.rb'
37
+ template 'spree.rb', 'spec/support/spree.rb'
38
+ end
39
+
40
+ def enable_support_files_loading
41
+ rails_helper_path = Rails.root.join('spec/rails_helper.rb')
42
+ return unless File.exist?(rails_helper_path)
43
+
44
+ gsub_file 'spec/rails_helper.rb',
45
+ "# Rails.root.glob('spec/support/**/*.rb').sort_by(&:to_s).each { |f| require f }",
46
+ "Rails.root.glob('spec/support/**/*.rb').sort_by(&:to_s).each { |f| require f }"
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,4 @@
1
+ Rails.application.config.generators do |g|
2
+ g.test_framework :rspec
3
+ g.fixture_replacement :factory_bot, dir: "spec/factories"
4
+ end
@@ -1,3 +1,5 @@
1
+ require 'capybara'
2
+ require 'rspec/rails'
1
3
  require 'action_text/system_test_helper'
2
4
 
3
5
  RSpec.configure do |config|
@@ -1,3 +1,6 @@
1
+ require 'rspec/rails'
2
+ require 'active_job/test_helper'
3
+
1
4
  RSpec.configure do |config|
2
5
  config.include ActiveJob::TestHelper
3
6
  end
@@ -1,4 +1,5 @@
1
1
  require 'webdrivers/chromedriver'
2
+ require 'capybara'
2
3
 
3
4
  RSpec.configure do |config|
4
5
  config.before(:each) do
@@ -1,3 +1,4 @@
1
+ require 'rspec/rails'
1
2
  require 'database_cleaner/active_record'
2
3
 
3
4
  RSpec.configure do |config|
@@ -1,3 +1,5 @@
1
+ require 'rspec/rails'
2
+
1
3
  if defined?(Warden)
2
4
  include Warden::Test::Helpers
3
5
  Warden.test_mode!
@@ -1,4 +1,5 @@
1
1
  require 'factory_bot'
2
+ require 'rspec/rails'
2
3
 
3
4
  FactoryBot.find_definitions
4
5
 
@@ -1,3 +1,4 @@
1
+ require 'rspec/rails'
1
2
  require 'ffaker'
2
3
 
3
4
  require 'spree/testing_support/authorization_helpers'
@@ -1,5 +1,5 @@
1
1
  module SpreeDevTools
2
- VERSION = '0.3.3'
2
+ VERSION = '0.4.0'
3
3
 
4
4
  # Returns the version of the currently loaded SpreeDevTools as a
5
5
  # <tt>Gem::Version</tt>.
@@ -1 +1,5 @@
1
+ require 'spree_core'
2
+ require 'spree_api'
3
+ require 'spree_dev_tools/engine'
1
4
  require 'spree_dev_tools/version'
5
+ require 'spree_dev_tools/generators/install/install_generator'
@@ -21,15 +21,14 @@ Gem::Specification.new do |s|
21
21
  s.require_path = 'lib'
22
22
  s.requirements << 'none'
23
23
 
24
- s.add_dependency 'appraisal'
25
24
  s.add_dependency 'awesome_print'
26
25
  s.add_dependency 'brakeman'
27
26
  s.add_dependency 'capybara'
28
27
  s.add_dependency 'capybara-screenshot'
29
- s.add_dependency 'capybara-select-2'
30
28
  s.add_dependency 'database_cleaner'
31
29
  s.add_dependency 'dotenv'
32
- s.add_dependency 'factory_bot', '~> 6.2'
30
+ s.add_dependency 'factory_bot'
31
+ s.add_dependency 'factory_bot_rails'
33
32
  s.add_dependency 'ffaker'
34
33
  s.add_dependency 'gem-release'
35
34
  s.add_dependency 'github_changelog_generator'
@@ -42,8 +41,6 @@ Gem::Specification.new do |s|
42
41
  s.add_dependency 'rspec_junit_formatter'
43
42
  s.add_dependency 'rspec-rails'
44
43
  s.add_dependency 'rspec-retry'
45
- s.add_dependency 'rubocop'
46
- s.add_dependency 'rubocop-rails'
47
44
  s.add_dependency 'selenium-webdriver', '>= 4.10'
48
45
  s.add_dependency 'simplecov'
49
46
  s.add_dependency 'spree', '>= 5.0'
metadata CHANGED
@@ -1,29 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_dev_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spark Solutions
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-11-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: appraisal
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
12
  - !ruby/object:Gem::Dependency
28
13
  name: awesome_print
29
14
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +66,7 @@ dependencies:
81
66
  - !ruby/object:Gem::Version
82
67
  version: '0'
83
68
  - !ruby/object:Gem::Dependency
84
- name: capybara-select-2
69
+ name: database_cleaner
85
70
  requirement: !ruby/object:Gem::Requirement
86
71
  requirements:
87
72
  - - ">="
@@ -95,7 +80,7 @@ dependencies:
95
80
  - !ruby/object:Gem::Version
96
81
  version: '0'
97
82
  - !ruby/object:Gem::Dependency
98
- name: database_cleaner
83
+ name: dotenv
99
84
  requirement: !ruby/object:Gem::Requirement
100
85
  requirements:
101
86
  - - ">="
@@ -109,7 +94,7 @@ dependencies:
109
94
  - !ruby/object:Gem::Version
110
95
  version: '0'
111
96
  - !ruby/object:Gem::Dependency
112
- name: dotenv
97
+ name: factory_bot
113
98
  requirement: !ruby/object:Gem::Requirement
114
99
  requirements:
115
100
  - - ">="
@@ -123,19 +108,19 @@ dependencies:
123
108
  - !ruby/object:Gem::Version
124
109
  version: '0'
125
110
  - !ruby/object:Gem::Dependency
126
- name: factory_bot
111
+ name: factory_bot_rails
127
112
  requirement: !ruby/object:Gem::Requirement
128
113
  requirements:
129
- - - "~>"
114
+ - - ">="
130
115
  - !ruby/object:Gem::Version
131
- version: '6.2'
116
+ version: '0'
132
117
  type: :runtime
133
118
  prerelease: false
134
119
  version_requirements: !ruby/object:Gem::Requirement
135
120
  requirements:
136
- - - "~>"
121
+ - - ">="
137
122
  - !ruby/object:Gem::Version
138
- version: '6.2'
123
+ version: '0'
139
124
  - !ruby/object:Gem::Dependency
140
125
  name: ffaker
141
126
  requirement: !ruby/object:Gem::Requirement
@@ -304,34 +289,6 @@ dependencies:
304
289
  - - ">="
305
290
  - !ruby/object:Gem::Version
306
291
  version: '0'
307
- - !ruby/object:Gem::Dependency
308
- name: rubocop
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - ">="
312
- - !ruby/object:Gem::Version
313
- version: '0'
314
- type: :runtime
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - ">="
319
- - !ruby/object:Gem::Version
320
- version: '0'
321
- - !ruby/object:Gem::Dependency
322
- name: rubocop-rails
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: '0'
328
- type: :runtime
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - ">="
333
- - !ruby/object:Gem::Version
334
- version: '0'
335
292
  - !ruby/object:Gem::Dependency
336
293
  name: selenium-webdriver
337
294
  requirement: !ruby/object:Gem::Requirement
@@ -415,6 +372,9 @@ files:
415
372
  - LICENSE
416
373
  - README.md
417
374
  - lib/spree_dev_tools.rb
375
+ - lib/spree_dev_tools/engine.rb
376
+ - lib/spree_dev_tools/generators/install/install_generator.rb
377
+ - lib/spree_dev_tools/generators/install/templates/spree_dev_tools.rb
418
378
  - lib/spree_dev_tools/rspec/spec_helper.rb
419
379
  - lib/spree_dev_tools/rspec/support/action_text.rb
420
380
  - lib/spree_dev_tools/rspec/support/active_job.rb
@@ -430,7 +390,6 @@ homepage: https://github.com/spree/spree_dev_tools
430
390
  licenses:
431
391
  - BSD-3-Clause
432
392
  metadata: {}
433
- post_install_message:
434
393
  rdoc_options: []
435
394
  require_paths:
436
395
  - lib
@@ -446,8 +405,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
446
405
  version: '0'
447
406
  requirements:
448
407
  - none
449
- rubygems_version: 3.5.3
450
- signing_key:
408
+ rubygems_version: 3.6.9
451
409
  specification_version: 4
452
410
  summary: Spree Dev Tools
453
411
  test_files: []