Module: SchoolgirlUniform::Uniformable::ClassMethods
- Defined in:
- app/forms/uniformable.rb
Instance Method Summary collapse
Instance Method Details
#defined_steps ⇒ Object
18 19 20 |
# File 'app/forms/uniformable.rb', line 18 def defined_steps @defined_steps || [] end |
#steps(*step_list) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'app/forms/uniformable.rb', line 4 def steps(*step_list) @defined_steps = step_list.flatten.map(&:to_s) attribute :step, :string, default: -> { @defined_steps.first } @defined_steps.each do |step_name| helper_method_name = "#{step_name}?" unless method_defined?(helper_method_name) define_method helper_method_name do current_step == step_name end end end end |
#steps_details ⇒ Object
22 23 24 |
# File 'app/forms/uniformable.rb', line 22 def steps_details defined_steps.each_with_object({}) { |step, hash| hash[step] = step } end |