stepper 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,9 @@
1
1
  = Stepper
2
2
 
3
- Stepper is multistep form (wizard) solution for Rails 3.
3
+ Stepper is multistep form (wizard) solution for Rails 3.1.
4
4
  Stepper allows you to split up your large form into series of pages that users can navigate through to complete the form and save it state.
5
5
  == Installation
6
- You can use it with Rails 3:
6
+ You can use it with Rails 3.1:
7
7
 
8
8
  gem install stepper
9
9
  == Getting Started
@@ -15,16 +15,21 @@ Create migration for model:
15
15
 
16
16
  Setup names of steps that you want to have:
17
17
 
18
- has_steps :steps => %w{name city kind}
18
+ class Company < ActiveRecord::Base
19
+ has_steps :steps => %w{ description kind address }
20
+ end
19
21
 
20
- Setup validation for each step if necessary, method should have name like <tt>validation_#{step_name}</tt>:
22
+ Setup validation for each step if necessary, method should have name like <tt>validate_#{step_name}</tt>:
21
23
 
22
- def validate_name
24
+ def validate_description
23
25
  self.validates_presence_of :name
26
+ self.validates_presence_of :desc
24
27
  end
25
28
 
26
- def validate_city
29
+ def validate_address
27
30
  self.validates_presence_of :city
31
+ self.validates_presence_of :country
32
+ self.validates_presence_of :address
28
33
  end
29
34
 
30
35
  def validate_kind
@@ -56,17 +61,39 @@ Add stepper helper method into the form in view that rendered by new action:
56
61
 
57
62
  <%= f.label :name %>
58
63
  <%= f.text_field :name %>
64
+ <%= f.label :desc %>
65
+ <%= f.text_field :desc %>
59
66
 
60
67
  +city_step.html.erb+
61
68
 
62
69
  <%= f.label :city %>
63
70
  <%= f.text_field :city %>
71
+ <%= f.label :country %>
72
+ <%= f.text_field :country %>
73
+ <%= f.label :city %>
74
+ <%= f.text_field :city %>
64
75
 
65
76
  +kind_step.html.erb+
66
77
 
67
78
  <%= f.label :kind %>
68
79
  <%= f.text_field :kind %>
69
80
 
81
+ +stepper+ helper creates buttons "Next", "Previous", "Save" and "Finish" as well. You can change button names just add to your locales:
82
+
83
+ en:
84
+ stepper:
85
+ next_step: 'Next step'
86
+ previous_step: 'Previous step'
87
+ save: 'Finish later'
88
+ finish: 'Finish'
89
+
90
+ +next_step+ button validates, saves current step and renders next step of form;
91
+ +previous_step+ saves current step and renders previous step of form;
92
+ +save+ save current step and redirects to index page;
93
+ +finish+ is showed only for last step instead of +next_step+ button and it validates, saves last step and redirects to show.
94
+
95
+ If you want to have other partial for buttons than add partial to: +app/views/stepper/_fields.html.erb+
96
+
70
97
  == Contributing to stepper
71
98
 
72
99
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.3
@@ -1,3 +1 @@
1
- require 'rails'
2
-
3
1
  require 'stepper/railtie'
@@ -6,6 +6,21 @@ module Stepper
6
6
  end
7
7
 
8
8
  module ClassMethods
9
+ # Sets up +create+, +update+, +new+ actions for controller and before filter for load resource.
10
+ # If you use cancan or load resource in other way it will get loaded resource.
11
+ #
12
+ # First parameters can be name of resource, for example:
13
+ #
14
+ # class CompaniesController < ApplicationController
15
+ # has_steps :my_company
16
+ # end
17
+ # It will load or build resource in +@my_company+ variable
18
+ #
19
+ # First argument it isn't required:
20
+ # class CompaniesController < ApplicationController
21
+ # has_steps
22
+ # end
23
+ # In this case resource will be loaded or built into +@company+ variable
9
24
  def has_steps(*args)
10
25
  include InstanceMethods
11
26
  stepper_resource_class.add_before_filter(self, *args)
@@ -19,6 +34,8 @@ module Stepper
19
34
 
20
35
  module InstanceMethods
21
36
 
37
+ # controller +create+ action
38
+ # it supports only html responce format for now
22
39
  def create
23
40
  respond_to do |format|
24
41
  if @_stepper_resource_instance.save
@@ -30,8 +47,9 @@ module Stepper
30
47
  end
31
48
  end
32
49
 
50
+ # controller +update+ action
51
+ # it supports only html responce format for now
33
52
  def update
34
-
35
53
  @_stepper_resource_instance.previous_step!.previous_step! if params[:commit] == t('stepper.previous_step').html_safe
36
54
 
37
55
  @_stepper_resource_instance.previous_step! if params[:commit] == t('stepper.save').html_safe
@@ -46,25 +64,33 @@ module Stepper
46
64
  end
47
65
  end
48
66
 
67
+ # controller +new+ action
68
+ # it supports only html responce format for now
49
69
  def new
70
+ redirect_to :action => :show, :id => @_stepper_resource_instance.id if @_stepper_resource_instance.last_step?
50
71
  end
51
72
 
52
73
  protected
53
-
74
+ # redirects to controller actions depends of commit value
75
+ # save -> index
76
+ # previous_step -> new
77
+ # next_step -> new
78
+ # finish -> show
54
79
  def redirect_steps
55
80
  if params[:commit] == t('stepper.save').html_safe
56
- redirect_to url_for(sanitized_params.merge(:action => "index"))
81
+ redirect_to :action => "index"
57
82
  elsif params[:commit] == t('stepper.previous_step').html_safe and params[:action] == "update"
58
- redirect_to url_for(sanitized_params.merge(:action => "new", :id => @_stepper_resource_instance.id))
83
+ redirect_to :action => "new", :id => @_stepper_resource_instance.id
59
84
  elsif params[:commit] == t('stepper.next_step').html_safe
60
- redirect_to url_for(sanitized_params.merge(:action => "new", :id => @_stepper_resource_instance.id)), :notice => "Step #{@_stepper_resource_instance.stepper_current_step.humanize} was successfully created."
85
+ redirect_to({:action => "new", :id => @_stepper_resource_instance.id}, :notice => "Step #{@_stepper_resource_instance.stepper_current_step.humanize} was successfully created.")
61
86
  elsif params[:commit] == t('stepper.finish').html_safe
62
- redirect_to url_for(sanitized_params.merge(:action => "show", :id => @_stepper_resource_instance.id))
87
+ redirect_to :action => "show", :id => @_stepper_resource_instance.id
63
88
  else
64
89
  raise Stepper::StepperException.new("Unknown commit: #{params[:commit]}")
65
90
  end
66
91
  end
67
92
 
93
+ # removes from params resource name, commit and id
68
94
  def sanitized_params
69
95
  params.except(@_stepper_name, :commit, :id)
70
96
  end
@@ -1,6 +1,14 @@
1
1
  module Stepper
2
2
  class ControllerResource
3
-
3
+ # Sets up before filter in +controller_class+ for +create+, +update+ and +new+ actions.
4
+ # First argument can be name of resource.
5
+ # For example we have +CompaniesController+ and want to load or build resource to +@my_company+ variable:
6
+ # add_before_filter CompanyController, :my_company
7
+ #
8
+ # First argument it isn't required:
9
+ # add_before_filter CompanyController
10
+ # In this case resource will be loaded or built into +@company+ variable
11
+ #
4
12
  def self.add_before_filter(controller_class, *args)
5
13
  resource_name = args.first
6
14
  controller_class.send(:before_filter, :only => [:create, :update, :new]) do |controller|
@@ -1,6 +1,23 @@
1
1
  module Stepper
2
2
  module ActionViewAdditions
3
3
  module InstanceMethods
4
+ # Render partial from app/views/stepper/_fields
5
+ # Adds buttons "Next", "Previous", "Save" and "Finish" to form and adds hidden field with current step name.
6
+ #
7
+ # Add to locales for changing step names:
8
+ # en:
9
+ # stepper:
10
+ # next_step: 'Next step'
11
+ # previous_step: 'Previous step'
12
+ # save: 'Finish later'
13
+ # finish: 'Finish'
14
+ #
15
+ # +next_step+ button validates, saves current step and renders next step of form;
16
+ # +previous_step+ saves current step and renders previous step of form;
17
+ # +save+ save current step and redirects to index page;
18
+ # +finish+ is showed only for last step instead of +next_step+ button and it validates, saves last step and redirects to show.
19
+ #
20
+ # If you want to have other partial for buttons than add partial to: +app/views/stepper/_fields.html.erb+
4
21
  def stepper(form)
5
22
  resource = self.instance_variable_get :@_stepper_resource_instance
6
23
  current_step_column = resource.class._stepper_current_step_column
@@ -1,4 +1,6 @@
1
1
  module Stepper
2
+
3
+ # This module is automatically included into all models.
2
4
  module ActiveRecordAdditions
3
5
 
4
6
  def self.included(base)
@@ -7,11 +9,32 @@ module Stepper
7
9
  end
8
10
 
9
11
  module ClassMethods
12
+ # Sets up methods and define steps.
13
+ # For example, you have model +Company+ and you want to fill it fields in few steps description, kind and address:
14
+ # class Company < ActiveRecord::Base
15
+ # has_steps :steps => %w{ description kind address }
16
+ # end
17
+ #
18
+ # Model should have current step column, by default it name is +current_step+.
19
+ # It should be added by migration:
20
+ # add_column :companies, :current_step, :string
21
+ # add_index :companies, :current_step
22
+ #
23
+ # The column name can be set up with option +current_step_column+.
24
+ #
25
+ # Options:
26
+ # [:+steps+]
27
+ # It is required option. Define steps for multistep form.
28
+ #
29
+ # [:+current_step_column+]
30
+ # Define what field use for save current step of form. Default +current_step+
31
+ #
32
+
10
33
  def has_steps(options = {})
11
34
  #check options
12
35
  raise Stepper::StepperException.new("Options for has_steps must be in a hash.") unless options.is_a? Hash
13
36
  options.each do |key, value|
14
- unless [:current_step_column, :steps].include? key
37
+ unless [:current_step_column, :steps, :inherit].include? key
15
38
  raise Stepper::StepperException.new("Unknown option for has_steps: #{key.inspect} => #{value.inspect}.")
16
39
  end
17
40
  end
@@ -23,60 +46,82 @@ module Stepper
23
46
  self._stepper_current_step_column = options[:current_step_column] || :current_step
24
47
 
25
48
  class_attribute :_stepper_steps
26
- self._stepper_steps= options[:steps]
27
49
 
50
+ self._stepper_steps = []
51
+ self._stepper_steps = self.try(:superclass).try(:_stepper_steps) if options[:inherit]
52
+ self._stepper_steps += options[:steps]
28
53
  include InstanceMethods
29
54
  end
30
55
  end
31
56
 
32
57
  module InstanceMethods
33
58
 
59
+ # returns name of current step column
34
60
  def stepper_current_step_column
35
61
  self.class._stepper_current_step_column
36
62
  end
37
63
 
64
+ # returns defined steps array
38
65
  def stepper_steps
39
66
  self.class._stepper_steps
40
67
  end
41
68
 
69
+ alias_method(:steps, :stepper_steps) unless self.respond_to? :steps
70
+
71
+ # returns index of current step in steps array
42
72
  def stepper_current_step_index
43
73
  stepper_steps.index(stepper_current_step)
44
74
  end
45
75
 
46
- alias_method(:steps, :stepper_steps) unless self.respond_to? :steps
47
-
76
+ # returns name of current step
48
77
  def stepper_current_step
49
- self.send(self.class._stepper_current_step_column)
78
+ self.send(self.stepper_current_step_column)
50
79
  end
51
80
 
81
+ alias_method :current_step, :stepper_current_step unless self.respond_to? :current_step
82
+
83
+ # sets up name of current step
84
+ # TODO: reject names that doesn't exists in steps array
52
85
  def stepper_current_step=(step)
53
- self.send("#{self.class._stepper_current_step_column}=", step)
86
+ self.send("#{self.stepper_current_step_column}=", step)
54
87
  end
55
88
 
89
+ alias_method :current_step=, :stepper_current_step= unless self.respond_to? :current_step=
90
+
91
+ # Use to check current step or given step is last step
92
+ # last_step?("address")
93
+ # TODO: reject names that doesn't exists in steps array
56
94
  def last_step?(step = stepper_current_step)
57
95
  step == self.stepper_steps.last
58
96
  end
59
97
 
98
+ # Use to check current step or given step is first step
99
+ # first_step?("address")
100
+ # TODO: reject names that doesn't exists in steps array
60
101
  def first_step?(step = stepper_current_step)
61
102
  (step == stepper_steps.first) or stepper_current_step.blank? && step.blank?
62
103
  end
63
104
 
105
+ # returns previous step of current step
64
106
  def previous_step
65
107
  return nil if (first_step? or stepper_current_step.blank?)
66
108
  stepper_steps[stepper_steps.index(stepper_current_step) - 1]
67
109
  end
68
110
 
111
+ # set previous step as current step
69
112
  def previous_step!
70
113
  self.stepper_current_step = self.previous_step
71
114
  self
72
115
  end
73
116
 
117
+ # returns next step of current step
74
118
  def next_step
75
119
  return stepper_steps.first if self.stepper_current_step.blank?
76
120
  return nil if self.last_step?
77
121
  stepper_steps[stepper_steps.index(stepper_current_step) + 1]
78
122
  end
79
123
 
124
+ # set next step as current step
80
125
  def next_step!
81
126
  self.stepper_current_step = self.next_step
82
127
  self
@@ -84,6 +129,24 @@ module Stepper
84
129
 
85
130
  protected
86
131
 
132
+ # Executes validation methods for current step and all previous steps if its exists.
133
+ # You can set up what fields should be validated in methods for steps. For example:
134
+ #
135
+ # def validate_description
136
+ # self.validates_presence_of :name
137
+ # self.validates_presence_of :desc
138
+ # end
139
+ #
140
+ # def validate_address
141
+ # self.validates_presence_of :city
142
+ # self.validates_presence_of :country
143
+ # self.validates_presence_of :address
144
+ # end
145
+ #
146
+ # def validate_kind
147
+ # self.validates_presence_of :kind
148
+ # end
149
+
87
150
  def current_step_validation
88
151
  return if stepper_current_step.blank?
89
152
  for i in 0..stepper_current_step_index do
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{stepper}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Anton Versal}]
12
- s.date = %q{2011-09-30}
12
+ s.date = %q{2011-10-05}
13
13
  s.description = %q{Stepper is multistep form (wizard) solution for Rails 3. Stepper allows you to split up your large form into series of pages that users can navigate through to complete the form and save it state.}
14
14
  s.email = %q{ant.ver@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -44,6 +44,7 @@ Gem::Specification.new do |s|
44
44
  "test/models/assigns_test.rb",
45
45
  "test/models/instance_test.rb",
46
46
  "test/models/models_test.rb",
47
+ "test/models/sti_test.rb",
47
48
  "test/models/validation_test.rb",
48
49
  "test/rails_app/Rakefile",
49
50
  "test/rails_app/app/controllers/application_controller.rb",
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
51
52
  "test/rails_app/app/helpers/application_helper.rb",
52
53
  "test/rails_app/app/mailers/.gitkeep",
53
54
  "test/rails_app/app/models/.gitkeep",
55
+ "test/rails_app/app/models/big_company.rb",
54
56
  "test/rails_app/app/models/company.rb",
55
57
  "test/rails_app/app/models/users.rb",
56
58
  "test/rails_app/app/views/companies/_step1_step.html.erb",
@@ -14,7 +14,8 @@ class CompaniesControllerTest < ActionController::TestCase
14
14
 
15
15
  test "should assign resource if params[:id] exists" do
16
16
  @controller.expects(:render)
17
- Company.expects(:find).with('1').returns(mock_company)
17
+
18
+ Company.expects(:find).with('1').returns(mock_company(:last_step? => false))
18
19
  get :new, :id => 1
19
20
  assert_response :success
20
21
  assert_equal assigns(:company), mock_company
@@ -22,11 +23,18 @@ class CompaniesControllerTest < ActionController::TestCase
22
23
 
23
24
  test "should get existing assigns" do
24
25
  @controller.expects(:render)
25
- @controller.instance_variable_set(:@company, mock_company)
26
+ @controller.instance_variable_set(:@company, mock_company(:last_step? => false))
26
27
  get :new, :id => 1
27
28
  assert_equal assigns(:company), mock_company
28
29
  end
29
30
 
31
+ test "new action should redirect to show if company on at the last step" do
32
+ @controller.instance_variable_set(:@company, mock_company(:last_step? => true, :id => "1"))
33
+ get :new, :id => 1
34
+ assert_response :redirect
35
+ assert_redirected_to "http://test.host/companies/1"
36
+ end
37
+
30
38
  protected
31
39
  def mock_company(stubs={})
32
40
  @mock_company ||= mock(stubs)
@@ -0,0 +1,11 @@
1
+ require 'helper'
2
+ class StiModelTest < ActiveSupport::TestCase
3
+ setup do
4
+ @big_company = BigCompany.new
5
+ end
6
+
7
+ test "should get steps from parent class" do
8
+ assert_equal @big_company.stepper_steps, ["step1", "step2", "step3", "step4", "step5", "step6"]
9
+ end
10
+
11
+ end
@@ -0,0 +1,4 @@
1
+ class BigCompany < Company
2
+ has_steps :current_step_column => :my_step, :steps => ["step4", "step5", "step6"], :inherit => true
3
+
4
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-30 00:00:00.000000000Z
12
+ date: 2011-10-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70136783476040 !ruby/object:Gem::Requirement
16
+ requirement: &70264337129840 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70136783476040
24
+ version_requirements: *70264337129840
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: ruby-debug19
27
- requirement: &70136783475560 !ruby/object:Gem::Requirement
27
+ requirement: &70264337129360 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70136783475560
35
+ version_requirements: *70264337129360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &70136783475020 !ruby/object:Gem::Requirement
38
+ requirement: &70264337128880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70136783475020
46
+ version_requirements: *70264337128880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: shoulda
49
- requirement: &70136783474420 !ruby/object:Gem::Requirement
49
+ requirement: &70264337128400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70136783474420
57
+ version_requirements: *70264337128400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70136783473820 !ruby/object:Gem::Requirement
60
+ requirement: &70264337127920 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70136783473820
68
+ version_requirements: *70264337127920
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70136783473220 !ruby/object:Gem::Requirement
71
+ requirement: &70264337127440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.6.4
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70136783473220
79
+ version_requirements: *70264337127440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rcov
82
- requirement: &70136783472620 !ruby/object:Gem::Requirement
82
+ requirement: &70264337126940 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70136783472620
90
+ version_requirements: *70264337126940
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: mocha
93
- requirement: &70136783472020 !ruby/object:Gem::Requirement
93
+ requirement: &70264337126460 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70136783472020
101
+ version_requirements: *70264337126460
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: capybara
104
- requirement: &70136783471420 !ruby/object:Gem::Requirement
104
+ requirement: &70264337125980 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70136783471420
112
+ version_requirements: *70264337125980
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: launchy
115
- requirement: &70136783470820 !ruby/object:Gem::Requirement
115
+ requirement: &70264337125500 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70136783470820
123
+ version_requirements: *70264337125500
124
124
  description: Stepper is multistep form (wizard) solution for Rails 3. Stepper allows
125
125
  you to split up your large form into series of pages that users can navigate through
126
126
  to complete the form and save it state.
@@ -158,6 +158,7 @@ files:
158
158
  - test/models/assigns_test.rb
159
159
  - test/models/instance_test.rb
160
160
  - test/models/models_test.rb
161
+ - test/models/sti_test.rb
161
162
  - test/models/validation_test.rb
162
163
  - test/rails_app/Rakefile
163
164
  - test/rails_app/app/controllers/application_controller.rb
@@ -165,6 +166,7 @@ files:
165
166
  - test/rails_app/app/helpers/application_helper.rb
166
167
  - test/rails_app/app/mailers/.gitkeep
167
168
  - test/rails_app/app/models/.gitkeep
169
+ - test/rails_app/app/models/big_company.rb
168
170
  - test/rails_app/app/models/company.rb
169
171
  - test/rails_app/app/models/users.rb
170
172
  - test/rails_app/app/views/companies/_step1_step.html.erb
@@ -216,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
218
  version: '0'
217
219
  segments:
218
220
  - 0
219
- hash: 2910134889132030582
221
+ hash: -2262266912899899848
220
222
  required_rubygems_version: !ruby/object:Gem::Requirement
221
223
  none: false
222
224
  requirements: