sliders 0.1.3 → 0.1.4

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: 72c267c97b3ff9cc75bdb8d506a220ee2f71089a3047a6e30e2e4cca28e0dcc3
4
- data.tar.gz: afa4127a42b369bac5116d9b3c850270dba2fcfbb8bd4f8988835bbdac926852
3
+ metadata.gz: 3b733addcf7127778b4c2133e774a5bf4353b7cfd938e220ae237cdb39c83728
4
+ data.tar.gz: 151a841d645cafd167295b08991603d5ed382f7f5ce9bc6123eb228c677fd027
5
5
  SHA512:
6
- metadata.gz: bfd5f6dede68f72d8c66f25988070fe76f8eaa65d14066cc1f760d5200eb409b6f234d4b804233e2269a6de9efa2038fc0d327212d2b957e88a3df00a85c397d
7
- data.tar.gz: 2367002ca10751824adaeb3ca85fa699e3f6a08146e41bf83cc3667ee1707cd9f8278ca3bc68e39e4de017ba119f53680c58dd464b095465109791ac24e12459
6
+ metadata.gz: d36018593a31a9c4091ea9cf80c3049d3d7063477c8574e2e8278145c232af159858cffaf004db65fca0dc4caff33adfd03aed34704b3fb20b9ee4d111a427e3
7
+ data.tar.gz: 30290c6d3318698f30f1a6cb4b3793998c981364f33252b614b27811a466131a5729d9d61009ee3b5f8115704563a63db15e9b1573cc2e153095a468fbb9ff47
data/README.md CHANGED
@@ -72,14 +72,14 @@ Now you can just use regular generators to create thing in `MyFeature` namespace
72
72
 
73
73
  The folder *sliders* is not used for namespace, just like the folders in your slider is not used. So a file in `app/sliders/my_feature/models/admin.rb` will be for the constant `MyFeature::Admin`.
74
74
 
75
+ ### Fixtures
76
+ Load fixtures from slides by adding `Sliders.add_fixtures` before `module ActiveSupport` in `test_helper.rb`
77
+
75
78
  ## Contributing
76
79
  PR with fixes or improvements are most welcome.
77
80
 
78
81
  We have tested *sliders* with most of Rails built-in generators, only a few of them have actual test cases.
79
82
  PR with tests for more generators are very welcome - also generators for often used gems like eg. ViewComponent or Rspec.
80
83
 
81
- **Known bugs**
82
- - fixtures are generated in *sliders* folder, so they will not work
83
-
84
84
  ## License
85
85
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -29,7 +29,7 @@ module SlidersInvoke
29
29
 
30
30
  def sliders_cleanup
31
31
  loop_files(class_variable_get(:@@generated_files)) do |source_file, destination_file|
32
- File.unlink destination_file
32
+ File.unlink destination_file if File.exist?(destination_file)
33
33
  end
34
34
  end
35
35
 
@@ -59,17 +59,25 @@ module SlidersInvoke
59
59
  path_parts = source_file.split("/")
60
60
  return unless path_parts.include?(slider) || path_parts.include?("#{slider}.rb")
61
61
  return unless path_parts.include?("app") || path_parts.include?("test")
62
+ return if path_parts.include?("sliders") && path_parts.include?("#{slider}.rb")
63
+
64
+ if path_parts.include?("#{slider}.rb")
65
+ # creating a file named like the slider should go to sliders folder
66
+ # overwriting our empty slider namespace file
67
+ return Rails.root.join("app", "sliders", path_parts.last)
68
+ end
62
69
 
63
70
  # add sliders after app or test
64
71
  path_parts.insert(path_parts.index("app") + 1, "sliders") if path_parts.include?("app")
65
72
  path_parts.insert(path_parts.index("test") + 1, "sliders") if path_parts.include?("test")
66
73
 
67
- # move slider namespace up or add if file is named like #{slider}.rb
68
- if path_parts.include?(slider)
69
- slider_namespace_index = path_parts.index(slider)
70
- path_parts[slider_namespace_index], path_parts[slider_namespace_index - 1] = path_parts[slider_namespace_index - 1], path_parts[slider_namespace_index]
71
- else
72
- path_parts.insert(path_parts.index("sliders") + 1, slider)
74
+ # move slider namespace up or
75
+ slider_namespace_index = path_parts.index(slider)
76
+ path_parts[slider_namespace_index], path_parts[slider_namespace_index - 1] = path_parts[slider_namespace_index - 1], path_parts[slider_namespace_index]
77
+
78
+ # add slider name to filename if fixture
79
+ if path_parts.include?("fixtures") && !path_parts.last.include?("#{slider}_")
80
+ path_parts.insert(-2, slider)
73
81
  end
74
82
 
75
83
  Rails.root.join(path_parts.join("/"))
@@ -1,3 +1,3 @@
1
1
  module Sliders
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
data/lib/sliders.rb CHANGED
@@ -3,8 +3,6 @@ require "sliders/engine"
3
3
  require "rails/generators"
4
4
 
5
5
  module Sliders
6
- # Your code goes here...
7
-
8
6
  def self.sliders
9
7
  @sliders ||= []
10
8
  end
@@ -20,4 +18,13 @@ module Sliders
20
18
  end
21
19
  end
22
20
  end
21
+
22
+ def self.add_fixtures
23
+ sliders.each do |slider|
24
+ slider_path = Rails.root.join("test", "sliders", slider, "fixtures")
25
+ next unless Dir.exist?(slider_path)
26
+
27
+ ActiveSupport::TestCase.fixture_paths << slider_path
28
+ end
29
+ end
23
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sliders
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Træls Ravn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-13 00:00:00.000000000 Z
11
+ date: 2025-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails