Class: CustomSeeds::TaskBuilder
- Inherits:
-
Object
- Object
- CustomSeeds::TaskBuilder
- Defined in:
- lib/custom_seeds/task_builder.rb
Instance Attribute Summary collapse
-
#directory ⇒ Object
readonly
Returns the value of attribute directory.
-
#rake_dsl ⇒ Object
readonly
Returns the value of attribute rake_dsl.
Instance Method Summary collapse
- #build ⇒ Object
- #build_global_task ⇒ Object
- #build_individual_tasks ⇒ Object
-
#initialize(rake_dsl:, directory: Rails.root.join('db/seeds/')) ⇒ TaskBuilder
constructor
A new instance of TaskBuilder.
Constructor Details
#initialize(rake_dsl:, directory: Rails.root.join('db/seeds/')) ⇒ TaskBuilder
Returns a new instance of TaskBuilder.
21 22 23 24 |
# File 'lib/custom_seeds/task_builder.rb', line 21 def initialize(rake_dsl:, directory: Rails.root.join('db/seeds/')) @directory = directory @rake_dsl = rake_dsl end |
Instance Attribute Details
#directory ⇒ Object (readonly)
Returns the value of attribute directory.
19 20 21 |
# File 'lib/custom_seeds/task_builder.rb', line 19 def directory @directory end |
#rake_dsl ⇒ Object (readonly)
Returns the value of attribute rake_dsl.
19 20 21 |
# File 'lib/custom_seeds/task_builder.rb', line 19 def rake_dsl @rake_dsl end |
Instance Method Details
#build ⇒ Object
26 27 28 29 |
# File 'lib/custom_seeds/task_builder.rb', line 26 def build build_individual_tasks build_global_task end |
#build_global_task ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/custom_seeds/task_builder.rb', line 39 def build_global_task rake_dsl.send(:task, :all, [:directory] => :environment) do |_, args| files = if args[:directory] Dir.glob("#{@directory}/#{args[:directory]}/**/*.rb") else Dir.glob("#{@directory}/**/*.rb") end ProgressBar.each(files) do |filename| load(filename) end end end |