formatted_form 2.0.4 → 2.1.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.
- data/VERSION +1 -1
- data/app/views/formatted_form/_check_box.html.erb +1 -1
- data/app/views/formatted_form/_date_select.html.erb +1 -1
- data/app/views/formatted_form/_datetime_select.html.erb +1 -1
- data/app/views/formatted_form/_element.html.erb +1 -1
- data/app/views/formatted_form/_email_field.html.erb +1 -1
- data/app/views/formatted_form/_file_field.html.erb +1 -1
- data/app/views/formatted_form/_number_field.html.erb +1 -1
- data/app/views/formatted_form/_password_field.html.erb +1 -1
- data/app/views/formatted_form/_phone_field.html.erb +1 -1
- data/app/views/formatted_form/_radio_button.html.erb +1 -1
- data/app/views/formatted_form/_range_field.html.erb +1 -1
- data/app/views/formatted_form/_search_field.html.erb +1 -1
- data/app/views/formatted_form/_select.html.erb +1 -1
- data/app/views/formatted_form/_telephone_field.html.erb +1 -1
- data/app/views/formatted_form/_text_area.html.erb +1 -1
- data/app/views/formatted_form/_text_field.html.erb +1 -1
- data/app/views/formatted_form/_time_select.html.erb +1 -1
- data/app/views/formatted_form/_time_zone_select.html.erb +1 -1
- data/app/views/formatted_form/templates/_choices.html.erb +8 -35
- data/app/views/formatted_form/templates/_choices_block.html.erb +30 -0
- data/app/views/formatted_form/templates/_choices_inline.html.erb +10 -0
- data/app/views/formatted_form/templates/_field.html.erb +8 -34
- data/app/views/formatted_form/templates/_field_block.html.erb +35 -0
- data/app/views/formatted_form/templates/_field_inline.html.erb +25 -0
- data/app/views/formatted_form/templates/_label.html.erb +3 -0
- data/formatted_form.gemspec +9 -2
- data/lib/formatted_form/form_builder.rb +10 -14
- data/lib/formatted_form/view_helper.rb +1 -20
- data/test/dummy/app/assets/javascripts/application.js +0 -2
- data/test/dummy/app/assets/stylesheets/bootstrap.css +6039 -0
- data/test/dummy/app/controllers/application_controller.rb +24 -0
- data/test/dummy/app/views/application/test.html.erb +98 -0
- data/test/dummy/app/views/layouts/application.html.erb +7 -5
- data/test/dummy/config/routes.rb +3 -0
- data/test/form_builder_test.rb +37 -72
- metadata +10 -3
@@ -1,3 +1,27 @@
|
|
1
|
+
class User
|
2
|
+
|
3
|
+
include ActiveModel::Validations
|
4
|
+
|
5
|
+
attr_accessor :name, :bio, :gender, :single, :colors,
|
6
|
+
:is_awesome, :is_terrible, :income, :extra, :exception
|
7
|
+
|
8
|
+
def to_key
|
9
|
+
nil
|
10
|
+
end
|
11
|
+
|
12
|
+
def persisted?
|
13
|
+
false
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
1
18
|
class ApplicationController < ActionController::Base
|
2
19
|
protect_from_forgery
|
20
|
+
|
21
|
+
def test
|
22
|
+
@user = User.new
|
23
|
+
@user.errors.add(:exception, 'terrible error')
|
24
|
+
@user.errors.add(:is_terrible, 'not checked')
|
25
|
+
end
|
26
|
+
|
3
27
|
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<h3> Vertical (default) </h3>
|
2
|
+
<pre>
|
3
|
+
<%= formatted_form_for @user, :url => '' do |form| %>
|
4
|
+
<%= form.text_field :name, :help_block => 'Help Block' %>
|
5
|
+
<%= form.text_area :bio, :rows => 3 %>
|
6
|
+
<%= form.select :gender, ['male', 'female'] %>
|
7
|
+
<%= form.radio_button :single, ['yes', 'no'] %>
|
8
|
+
<%= form.check_box :colors, {:inline => true}, ['red', 'green'] %>
|
9
|
+
<%= form.check_box :is_awesome %>
|
10
|
+
<%= form.check_box :is_terrible %>
|
11
|
+
<%= form.text_field :exception %>
|
12
|
+
<%= form.text_field :income, :prepend => '$', :append => '.00' %>
|
13
|
+
<%= form.text_field :extra,
|
14
|
+
:prepend_html => '<button class="btn">Action</button>',
|
15
|
+
:append_html => '<button class="btn">Action</button>'
|
16
|
+
%>
|
17
|
+
<%= form.submit :class => 'btn' %>
|
18
|
+
<% end %>
|
19
|
+
</pre>
|
20
|
+
|
21
|
+
<%= formatted_form_for @user, :url => '' do |form| %>
|
22
|
+
<%= form.text_field :name, :help_block => 'Help Block' %>
|
23
|
+
<%= form.text_area :bio, :rows => 3 %>
|
24
|
+
<%= form.select :gender, ['male', 'female'] %>
|
25
|
+
<%= form.radio_button :single, ['yes', 'no'] %>
|
26
|
+
<%= form.check_box :colors, {:inline => true}, ['red', 'green'] %>
|
27
|
+
<%= form.check_box :is_awesome %>
|
28
|
+
<%= form.check_box :is_terrible %>
|
29
|
+
<%= form.text_field :exception %>
|
30
|
+
<%= form.text_field :income, :prepend => '$', :append => '.00' %>
|
31
|
+
<%= form.text_field :extra,
|
32
|
+
:prepend_html => '<button class="btn">Action</button>',
|
33
|
+
:append_html => '<button class="btn">Action</button>'
|
34
|
+
%>
|
35
|
+
<%= form.submit :class => 'btn' %>
|
36
|
+
<% end %>
|
37
|
+
|
38
|
+
<h3> Horizontal </h3>
|
39
|
+
<pre>
|
40
|
+
<%= formatted_form_for :user, :type => :horizontal do |form| %>
|
41
|
+
# ... same as above
|
42
|
+
<div class="form-actions">
|
43
|
+
<%= form.submit :class => 'btn' %>
|
44
|
+
</div>
|
45
|
+
<% end %>
|
46
|
+
</pre>
|
47
|
+
|
48
|
+
<%= formatted_form_for @user, :url => '', :type => :horizontal do |form| %>
|
49
|
+
<%= form.text_field :name, :help_block => 'Help Block' %>
|
50
|
+
<%= form.text_area :bio, :rows => 3 %>
|
51
|
+
<%= form.select :gender, ['male', 'female'] %>
|
52
|
+
<%= form.radio_button :single, ['yes', 'no'] %>
|
53
|
+
<%= form.check_box :colors, {:inline => true}, ['red', 'green'] %>
|
54
|
+
<%= form.check_box :is_awesome %>
|
55
|
+
<%= form.check_box :is_terrible %>
|
56
|
+
<%= form.text_field :exception %>
|
57
|
+
<%= form.text_field :income, :prepend => '$', :append => '.00' %>
|
58
|
+
<%= form.text_field :extra,
|
59
|
+
:prepend_html => '<button class="btn">Action</button>',
|
60
|
+
:append_html => '<button class="btn">Action</button>'
|
61
|
+
%>
|
62
|
+
<div class="form-actions">
|
63
|
+
<%= form.submit :class => 'btn' %>
|
64
|
+
</div>
|
65
|
+
<% end %>
|
66
|
+
|
67
|
+
<h3> Inline </h3>
|
68
|
+
<pre>
|
69
|
+
<%= formatted_form_for @user, :url => '', :type => :inline do |form| %>
|
70
|
+
<%= form.text_field :name, :label => false, :placeholder => 'Name' %>
|
71
|
+
<%= form.select :gender, ['male', 'female'] %>
|
72
|
+
<%= form.check_box :colors, {}, ['red', 'green'] %>
|
73
|
+
<%= form.submit :class => 'btn' %>
|
74
|
+
<% end %>
|
75
|
+
</pre>
|
76
|
+
<%= formatted_form_for @user, :url => '', :type => :inline do |form| %>
|
77
|
+
<%= form.text_field :name, :label => false, :placeholder => 'Name' %>
|
78
|
+
<%= form.select :gender, ['male', 'female'] %>
|
79
|
+
<%= form.check_box :colors, {}, ['red', 'green'] %>
|
80
|
+
<%= form.submit :class => 'btn' %>
|
81
|
+
<% end %>
|
82
|
+
|
83
|
+
<h3>Search</h3>
|
84
|
+
<pre>
|
85
|
+
<%= formatted_form_for @user, :url => '', :type => :search do |form| %>
|
86
|
+
<%= form.text_field :name %>
|
87
|
+
<%= form.text_field :name, :label => false, :placeholder => 'Search by Name',
|
88
|
+
:prepend => '@',
|
89
|
+
:append_html => '<button type="submit" class="btn">Search</button>' %>
|
90
|
+
<% end %>
|
91
|
+
</pre>
|
92
|
+
|
93
|
+
<%= formatted_form_for @user, :url => '', :type => :search do |form| %>
|
94
|
+
<%= form.text_field :name %>
|
95
|
+
<%= form.text_field :name, :label => false, :placeholder => 'Search by Name',
|
96
|
+
:prepend => '@',
|
97
|
+
:append_html => '<button type="submit" class="btn">Search</button>' %>
|
98
|
+
<% end %>
|
@@ -1,14 +1,16 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html>
|
2
|
+
<html lang="en">
|
3
3
|
<head>
|
4
|
-
<title>
|
5
|
-
<%= stylesheet_link_tag "application", :
|
4
|
+
<title>FormattedForm Demo</title>
|
5
|
+
<%= stylesheet_link_tag "application", media: "all" %>
|
6
6
|
<%= javascript_include_tag "application" %>
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
</head>
|
9
9
|
<body>
|
10
|
-
|
11
|
-
|
10
|
+
|
11
|
+
<div class="container">
|
12
|
+
<%= yield %>
|
13
|
+
</div>
|
12
14
|
|
13
15
|
</body>
|
14
16
|
</html>
|
data/test/dummy/config/routes.rb
CHANGED
data/test/form_builder_test.rb
CHANGED
@@ -37,7 +37,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
37
37
|
# -- Text Field -----------------------------------------------------------
|
38
38
|
def test_text_field
|
39
39
|
with_text_field :name
|
40
|
-
assert_select "div[class='control-group
|
40
|
+
assert_select "div[class='control-group']" do
|
41
41
|
assert_select "label[for='user_name']", 'Name'
|
42
42
|
assert_select "div[class='controls']" do
|
43
43
|
assert_select "input[type='text'][id='user_name'][name='user[name]']"
|
@@ -47,7 +47,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
47
47
|
|
48
48
|
def test_text_field_prepend_append
|
49
49
|
with_text_field :twitter, :prepend => '@', :append => '!'
|
50
|
-
assert_select "div[class='control-group
|
50
|
+
assert_select "div[class='control-group']" do
|
51
51
|
assert_select "label[for='user_twitter']", 'Twitter'
|
52
52
|
assert_select "div[class='controls']" do
|
53
53
|
assert_select "div[class='input-prepend input-append']" do
|
@@ -61,7 +61,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
61
61
|
|
62
62
|
def test_text_field_prepend_append_html
|
63
63
|
with_text_field :twitter, :prepend_html => '<b>b</b>', :append_html => '<i>i</i>'
|
64
|
-
assert_select "div[class='control-group
|
64
|
+
assert_select "div[class='control-group']" do
|
65
65
|
assert_select "label[for='user_twitter']", 'Twitter'
|
66
66
|
assert_select "div[class='controls']" do
|
67
67
|
assert_select "div[class='input-prepend input-append']" do
|
@@ -75,7 +75,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
75
75
|
|
76
76
|
def test_text_field_with_help_block
|
77
77
|
with_text_field :name, :help_block => 'Help'
|
78
|
-
assert_select "div[class='control-group
|
78
|
+
assert_select "div[class='control-group']" do
|
79
79
|
assert_select "div[class='controls']" do
|
80
80
|
assert_select "input[type='text'][id='user_name'][name='user[name]']"
|
81
81
|
assert_select "span[class='help-block']", 'Help'
|
@@ -83,13 +83,23 @@ class FormBuilderTest < ActionView::TestCase
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
+
def test_text_field_with_help_inline
|
87
|
+
with_text_field :name, :help_inline => 'Help'
|
88
|
+
assert_select "div[class='control-group']" do
|
89
|
+
assert_select "div[class='controls']" do
|
90
|
+
assert_select "input[type='text'][id='user_name'][name='user[name]']"
|
91
|
+
assert_select "span[class='help-inline']", 'Help'
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
86
96
|
def test_text_field_with_errors
|
87
97
|
assert @user.invalid?
|
88
98
|
with_text_field :name
|
89
|
-
assert_select "div[class='control-group
|
99
|
+
assert_select "div[class='control-group error']" do
|
90
100
|
assert_select "div[class='controls']" do
|
91
101
|
assert_select "input[type='text'][id='user_name'][name='user[name]']"
|
92
|
-
assert_select "span[class='help-
|
102
|
+
assert_select "span[class='help-block']", "can't be blank"
|
93
103
|
end
|
94
104
|
end
|
95
105
|
end
|
@@ -104,47 +114,36 @@ class FormBuilderTest < ActionView::TestCase
|
|
104
114
|
|
105
115
|
def test_text_field_for_inline_form
|
106
116
|
with_formatted_form_for(@user, :url => '', :type => :inline){|f| f.text_field :name }
|
107
|
-
assert_select "div[class='control-group
|
117
|
+
assert_select "div[class='control-group']", 0
|
108
118
|
assert_select "input[type='text'][id='user_name'][name='user[name]']"
|
109
119
|
end
|
110
120
|
|
111
121
|
def test_text_field_with_no_builder
|
112
122
|
with_text_field :name, :builder => false
|
113
|
-
assert_select "div[class='control-group
|
123
|
+
assert_select "div[class='control-group']", 0
|
114
124
|
assert_select "label[for='user_name']", 0
|
115
125
|
assert_select "input[builder='false']", 0
|
116
126
|
end
|
117
127
|
|
118
128
|
# -- Radio Button ---------------------------------------------------------
|
119
129
|
def test_radio_button
|
120
|
-
with_radio_button :role, 'admin'
|
121
|
-
assert_select "div[class='control-group
|
122
|
-
assert_select "div[class='control-label']"
|
123
|
-
assert_select "label[for='user_role']", 'Role'
|
124
|
-
end
|
130
|
+
with_radio_button :role, ['admin', 'regular']
|
131
|
+
assert_select "div[class='control-group']" do
|
132
|
+
assert_select "div[class='control-label']", 'Role'
|
125
133
|
assert_select "div[class='controls']" do
|
126
|
-
assert_select "
|
134
|
+
assert_select "label" do
|
135
|
+
assert_select "input[type='radio'][id='user_role_admin'][name='user[role]'][value='admin']"
|
136
|
+
end
|
137
|
+
assert_select "label" do
|
138
|
+
assert_select "input[type='radio'][id='user_role_regular'][name='user[role]'][value='regular']"
|
139
|
+
end
|
127
140
|
end
|
128
141
|
end
|
129
142
|
end
|
130
143
|
|
131
144
|
def test_radio_button_with_custom_label
|
132
|
-
with_radio_button :role, 'admin', :label => 'Access'
|
133
|
-
assert_select "div[class='control-label']"
|
134
|
-
assert_select "label[for='user_role']", 'Access'
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
def test_radio_button_with_choices_array
|
139
|
-
with_radio_button :role, ['admin', 'regular']
|
140
|
-
assert_select "div[class='controls']" do
|
141
|
-
assert_select "label[class='radio']", 'admin' do
|
142
|
-
assert_select "input[type='radio'][id='user_role_admin'][name='user[role]'][value='admin']"
|
143
|
-
end
|
144
|
-
assert_select "label[class='radio']", 'regular' do
|
145
|
-
assert_select "input[type='radio'][id='user_role_regular'][name='user[role]'][value='regular']"
|
146
|
-
end
|
147
|
-
end
|
145
|
+
with_radio_button :role, ['admin', 'regular'], :label => 'Access'
|
146
|
+
assert_select "div[class='control-label']", 'Access'
|
148
147
|
end
|
149
148
|
|
150
149
|
def test_radio_button_with_choices_tuples
|
@@ -158,7 +157,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
158
157
|
end
|
159
158
|
|
160
159
|
def test_radio_button_inline
|
161
|
-
with_radio_button :role, ['admin', 'regular'], :
|
160
|
+
with_radio_button :role, ['admin', 'regular'], :inline => true
|
162
161
|
assert_select "label[class='radio inline']", 'admin' do
|
163
162
|
assert_select "input[type='radio'][id='user_role_admin'][name='user[role]'][value='admin']"
|
164
163
|
end
|
@@ -167,22 +166,19 @@ class FormBuilderTest < ActionView::TestCase
|
|
167
166
|
# -- Check Boxes ----------------------------------------------------------
|
168
167
|
def test_check_box
|
169
168
|
with_check_box :colors, {}, 'yes', 'no'
|
170
|
-
assert_select "div[class='control-group
|
171
|
-
assert_select "div[class='control-label']" do
|
172
|
-
assert_select "label[for='user_colors']", 'Colors'
|
173
|
-
end
|
169
|
+
assert_select "div[class='control-group']" do
|
174
170
|
assert_select "div[class='controls']" do
|
175
171
|
assert_select "input[type='hidden'][name='user[colors]'][value='no']"
|
176
|
-
assert_select "
|
172
|
+
assert_select "label[class='checkbox']" do
|
173
|
+
assert_select "input[type='checkbox'][id='user_colors'][name='user[colors]'][value='yes']"
|
174
|
+
end
|
177
175
|
end
|
178
176
|
end
|
179
177
|
end
|
180
178
|
|
181
179
|
def test_check_box_custom_label
|
182
180
|
with_check_box :colors, :label => 'Kolors'
|
183
|
-
assert_select "
|
184
|
-
assert_select "label[for='user_colors']", 'Kolors'
|
185
|
-
end
|
181
|
+
assert_select "label", 'Kolors'
|
186
182
|
end
|
187
183
|
|
188
184
|
def test_check_box_with_choices_array
|
@@ -210,7 +206,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
210
206
|
end
|
211
207
|
|
212
208
|
def test_check_box_inline
|
213
|
-
with_check_box :colors, {:
|
209
|
+
with_check_box :colors, {:inline => true}, ['red', 'green']
|
214
210
|
assert_select "label[class='checkbox inline']" do
|
215
211
|
assert_select "input[type='checkbox'][id='user_colors_red'][name='user[colors][]']"
|
216
212
|
end
|
@@ -253,7 +249,7 @@ class FormBuilderTest < ActionView::TestCase
|
|
253
249
|
# -- Submit ---------------------------------------------------------------
|
254
250
|
def test_submit
|
255
251
|
with_submit
|
256
|
-
assert_select "input[name=commit][value='Create User']
|
252
|
+
assert_select "input[name=commit][value='Create User']"
|
257
253
|
end
|
258
254
|
|
259
255
|
def test_submit_with_label
|
@@ -261,11 +257,6 @@ class FormBuilderTest < ActionView::TestCase
|
|
261
257
|
assert_select "input[name='commit'][value='Create']"
|
262
258
|
end
|
263
259
|
|
264
|
-
def test_submit_with_css_class
|
265
|
-
with_submit :class => 'btn-danger'
|
266
|
-
assert_select "input[name=commit][class='btn-danger btn']"
|
267
|
-
end
|
268
|
-
|
269
260
|
# -- Others ---------------------------------------------------------------
|
270
261
|
def test_select_field
|
271
262
|
with_select :name, ['Bob']
|
@@ -370,30 +361,4 @@ class FormBuilderTest < ActionView::TestCase
|
|
370
361
|
end
|
371
362
|
end
|
372
363
|
|
373
|
-
# -- Conditional content tag ----------------------------------------------
|
374
|
-
def test_content_tag_if_true
|
375
|
-
concat content_tag_if(true, :div, 'test', :class => 'test')
|
376
|
-
assert_equal "<div class=\"test\">test</div>", output_buffer
|
377
|
-
end
|
378
|
-
|
379
|
-
def test_content_tag_if_false
|
380
|
-
concat content_tag_if(false, :div, 'test', :class => 'test')
|
381
|
-
assert_equal 'test', output_buffer
|
382
|
-
end
|
383
|
-
|
384
|
-
def test_content_tag_if_with_block_if_true
|
385
|
-
concat(content_tag_if(true, :div, :class => 'test'){ 'test' })
|
386
|
-
assert_equal "<div class=\"test\">test</div>", output_buffer
|
387
|
-
end
|
388
|
-
|
389
|
-
def test_content_tag_if_with_block_if_false
|
390
|
-
concat(content_tag_if(false, :div, :class => 'test'){ 'test' })
|
391
|
-
assert_equal 'test', output_buffer
|
392
|
-
end
|
393
|
-
|
394
|
-
def test_content_tag_unless
|
395
|
-
concat content_tag_unless(false, :div, 'test', :class => 'test')
|
396
|
-
assert_equal "<div class=\"test\">test</div>", output_buffer
|
397
|
-
end
|
398
|
-
|
399
364
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formatted_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-01-
|
14
|
+
date: 2013-01-28 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -80,7 +80,12 @@ files:
|
|
80
80
|
- app/views/formatted_form/_time_select.html.erb
|
81
81
|
- app/views/formatted_form/_time_zone_select.html.erb
|
82
82
|
- app/views/formatted_form/templates/_choices.html.erb
|
83
|
+
- app/views/formatted_form/templates/_choices_block.html.erb
|
84
|
+
- app/views/formatted_form/templates/_choices_inline.html.erb
|
83
85
|
- app/views/formatted_form/templates/_field.html.erb
|
86
|
+
- app/views/formatted_form/templates/_field_block.html.erb
|
87
|
+
- app/views/formatted_form/templates/_field_inline.html.erb
|
88
|
+
- app/views/formatted_form/templates/_label.html.erb
|
84
89
|
- formatted_form.gemspec
|
85
90
|
- lib/formatted_form.rb
|
86
91
|
- lib/formatted_form/engine.rb
|
@@ -90,10 +95,12 @@ files:
|
|
90
95
|
- test/dummy/Rakefile
|
91
96
|
- test/dummy/app/assets/javascripts/application.js
|
92
97
|
- test/dummy/app/assets/stylesheets/application.css
|
98
|
+
- test/dummy/app/assets/stylesheets/bootstrap.css
|
93
99
|
- test/dummy/app/controllers/application_controller.rb
|
94
100
|
- test/dummy/app/helpers/application_helper.rb
|
95
101
|
- test/dummy/app/mailers/.gitkeep
|
96
102
|
- test/dummy/app/models/.gitkeep
|
103
|
+
- test/dummy/app/views/application/test.html.erb
|
97
104
|
- test/dummy/app/views/layouts/application.html.erb
|
98
105
|
- test/dummy/config.ru
|
99
106
|
- test/dummy/config/application.rb
|
@@ -134,7 +141,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
134
141
|
version: '0'
|
135
142
|
segments:
|
136
143
|
- 0
|
137
|
-
hash:
|
144
|
+
hash: -2131357332028730939
|
138
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
146
|
none: false
|
140
147
|
requirements:
|