formulaic 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +2 -1
- data/NEWS.md +14 -1
- data/README.md +25 -3
- data/lib/formulaic/dsl.rb +10 -3
- data/lib/formulaic/form.rb +6 -4
- data/lib/formulaic/inputs.rb +1 -0
- data/lib/formulaic/inputs/boolean_input.rb +2 -2
- data/lib/formulaic/inputs/date_input.rb +1 -1
- data/lib/formulaic/inputs/file_input.rb +9 -0
- data/lib/formulaic/inputs/input.rb +3 -8
- data/lib/formulaic/inputs/string_input.rb +6 -10
- data/lib/formulaic/label.rb +1 -1
- data/lib/formulaic/version.rb +1 -1
- data/spec/features/fill_in_user_form_spec.rb +21 -10
- data/spec/fixtures/file.txt +0 -0
- data/spec/fixtures/user_form.html +1 -0
- data/spec/formulaic/dsl_spec.rb +62 -7
- data/spec/formulaic/form_spec.rb +1 -1
- data/spec/formulaic/label_spec.rb +6 -7
- data/spec/spec_helper.rb +9 -8
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0088b91d76fbea5e19d5ed4686b97ec33d61f715
|
4
|
+
data.tar.gz: 1cda22db0d57d6b7546ba194ced8b4b0a5fdb4ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 819cb9b9db1691670db98579f4cf4a866b0ea5bfa989b16ef1c3f5ffb674d520f1bb1c4e762bac7455a6b6a0f1126155db5bff98cd6bef0e2cd9b44f88370efc
|
7
|
+
data.tar.gz: 4371252fb0c97d45bb35caeb94111d30d1b74de4bf97e9d810fb6f68443ad57a6f63ac7a2be8b2b6219f5cb895e567a85f12b9207df8791dc421eaa5045ef423
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.1.2
|
data/.travis.yml
CHANGED
data/NEWS.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
|
+
v0.1.0
|
2
|
+
------
|
3
|
+
|
4
|
+
* Add `fill_form_and_submit` shortcut [48f9bc2](https://github.com/thoughtbot/formulaic/commit/48f9bc257d6c2b26c859388ab01da8963b818a85)
|
5
|
+
|
6
|
+
*Caleb Thompson*
|
7
|
+
* Allow action to be specified in DSL [ad4bb54](https://github.com/thoughtbot/formulaic/commit/ad4bb5402d68131038e53f67e2e981f6aa1d5fa9)
|
8
|
+
|
9
|
+
*Caleb Thompson*
|
10
|
+
* Add support for File attachments [f4e4bae](https://github.com/thoughtbot/formulaic/commit/f4e4bae978ab32fde017ae8344f862076a9ef31a)
|
11
|
+
|
12
|
+
*Dan Collis-Puro and Sean Doyle*
|
13
|
+
|
1
14
|
v0.0.6
|
2
15
|
------
|
3
16
|
|
4
17
|
* Treat integers as String inputs (which allows them to fill
|
5
|
-
`input[type="numeric"]
|
18
|
+
`input[type="numeric"]`). [Pull Request](https://github.com/thoughtbot/formulaic/pull/21)
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ end
|
|
27
27
|
### `fill_form`
|
28
28
|
|
29
29
|
```ruby
|
30
|
-
fill_form(model_name, attributes)
|
30
|
+
fill_form(model_name, action = :new, attributes)
|
31
31
|
```
|
32
32
|
|
33
33
|
`fill_form` provides an interface to completely filling out a form. Provide the
|
@@ -69,13 +69,32 @@ submit(:user, :update)
|
|
69
69
|
The `model_name` and `action` should match up to the
|
70
70
|
`helpers.submit.<model_name>.<action>` translations.
|
71
71
|
|
72
|
+
### `fill_form_and_submit`
|
73
|
+
|
74
|
+
```ruby
|
75
|
+
fill_form_and_submit(:user, action = :new, attributes)
|
76
|
+
```
|
77
|
+
|
78
|
+
Effectively a `fill_form` followed by `click_on submit`, but smart enough to
|
79
|
+
`fill_form` with `:new` and `submit` with `:create` and the edit/update cousin.
|
80
|
+
|
81
|
+
### Nested Forms
|
82
|
+
|
83
|
+
If you have nested forms, through `fields_for` (or any variant), you are able to
|
84
|
+
fill them with an extra call to `fill_form`.
|
85
|
+
|
86
|
+
```ruby
|
87
|
+
fill_form(main_model_name, main_model_attributes)
|
88
|
+
fill_form(nested_model_name, nested_model_attributes)
|
89
|
+
```
|
90
|
+
|
72
91
|
### Integration with RSpec:
|
73
92
|
|
74
93
|
```ruby
|
75
94
|
# spec/spec_helper.rb
|
76
95
|
|
77
96
|
RSpec.configure do |config|
|
78
|
-
config.include Formulaic::Dsl
|
97
|
+
config.include Formulaic::Dsl, type: :feature
|
79
98
|
end
|
80
99
|
```
|
81
100
|
|
@@ -132,6 +151,7 @@ around `I18n.t`.
|
|
132
151
|
| `TrueClass` | `check` |
|
133
152
|
| `FalseClass` | `uncheck` |
|
134
153
|
| `Array` | `check` each array member, which should all be strings |
|
154
|
+
| `File` | `attach_file` with `File#path` |
|
135
155
|
|
136
156
|
* Formulaic is currently tied to `simple_form` translations and field structure.
|
137
157
|
If you pass a string for the attribute, we’ll try to fill the input that
|
@@ -142,7 +162,9 @@ around `I18n.t`.
|
|
142
162
|
the labels to determine where to fill what data.
|
143
163
|
* Formulaic can’t figure out how to fill fields with HTML labels:
|
144
164
|
`page.fill_in('<strong>Text</strong> here', with: 'something')` doesn’t work
|
145
|
-
with Capybara. The usual workaround is to pass a CSS selector
|
165
|
+
with Capybara. The usual workaround is to pass a CSS selector (which you can
|
166
|
+
do by passing a string as the attribute key).
|
167
|
+
* Formulaic can't handle multiple file attachments on the same input.
|
146
168
|
|
147
169
|
## About
|
148
170
|
|
data/lib/formulaic/dsl.rb
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
module Formulaic
|
2
2
|
module Dsl
|
3
|
-
def fill_form(model_name, attributes)
|
4
|
-
Form.new(model_name, attributes).fill
|
3
|
+
def fill_form(model_name, action = :new, attributes)
|
4
|
+
Form.new(model_name, action, attributes).fill
|
5
5
|
end
|
6
6
|
|
7
|
-
def
|
7
|
+
def fill_form_and_submit(model_name, action = :new, attributes)
|
8
|
+
form_action_to_submit_action = { new: :create, edit: :update }
|
9
|
+
fill_form(model_name, action, attributes)
|
10
|
+
submit_action = form_action_to_submit_action[action] || action
|
11
|
+
click_on submit(model_name, submit_action)
|
12
|
+
end
|
13
|
+
|
14
|
+
def input(model_name, field, action = :new)
|
8
15
|
Label.new(model_name, field, action).to_str
|
9
16
|
end
|
10
17
|
|
data/lib/formulaic/form.rb
CHANGED
@@ -10,11 +10,12 @@ module Formulaic
|
|
10
10
|
Fixnum => Formulaic::Inputs::StringInput,
|
11
11
|
TrueClass => Formulaic::Inputs::BooleanInput,
|
12
12
|
FalseClass => Formulaic::Inputs::BooleanInput,
|
13
|
+
File => Formulaic::Inputs::FileInput,
|
13
14
|
}.freeze
|
14
15
|
|
15
|
-
def initialize(model_name, attributes)
|
16
|
+
def initialize(model_name, action, attributes)
|
17
|
+
@action = action
|
16
18
|
@inputs = build_inputs(model_name, attributes)
|
17
|
-
@session = session
|
18
19
|
end
|
19
20
|
|
20
21
|
def fill
|
@@ -23,7 +24,7 @@ module Formulaic
|
|
23
24
|
|
24
25
|
private
|
25
26
|
|
26
|
-
attr_reader :
|
27
|
+
attr_reader :model_name, :inputs, :action
|
27
28
|
|
28
29
|
def build_inputs(model_name, attributes)
|
29
30
|
attributes.map do |field, value|
|
@@ -32,7 +33,8 @@ module Formulaic
|
|
32
33
|
end
|
33
34
|
|
34
35
|
def build_input(model_name, field, value)
|
35
|
-
|
36
|
+
label = Label.new(model_name, field, action)
|
37
|
+
input_class_for(value).new(label, value)
|
36
38
|
end
|
37
39
|
|
38
40
|
def input_class_for(value)
|
data/lib/formulaic/inputs.rb
CHANGED
@@ -6,19 +6,14 @@ module Formulaic
|
|
6
6
|
class Input
|
7
7
|
include Capybara::DSL
|
8
8
|
|
9
|
-
def initialize(
|
10
|
-
@
|
11
|
-
@field = field
|
9
|
+
def initialize(label, value)
|
10
|
+
@label = label.to_str
|
12
11
|
@value = value
|
13
12
|
end
|
14
13
|
|
15
14
|
private
|
16
15
|
|
17
|
-
|
18
|
-
Label.new(model_name, field, action).to_str
|
19
|
-
end
|
20
|
-
|
21
|
-
attr_accessor :model_name, :field, :value
|
16
|
+
attr_accessor :label, :value
|
22
17
|
end
|
23
18
|
end
|
24
19
|
end
|
@@ -2,21 +2,17 @@ module Formulaic
|
|
2
2
|
module Inputs
|
3
3
|
class StringInput < Input
|
4
4
|
def fill
|
5
|
-
if page.has_selector?(:fillable_field,
|
6
|
-
fill_in(
|
7
|
-
elsif page.has_selector?(:radio_button,
|
5
|
+
if page.has_selector?(:fillable_field, label)
|
6
|
+
fill_in(label, with: value)
|
7
|
+
elsif page.has_selector?(:radio_button, label)
|
8
8
|
choose(value)
|
9
|
-
elsif has_option_in_select?(value,
|
10
|
-
select(value, from:
|
9
|
+
elsif has_option_in_select?(value, label)
|
10
|
+
select(value, from: label)
|
11
11
|
else
|
12
|
-
raise Formulaic::InputNotFound.new(%[Unable to find input "#{
|
12
|
+
raise Formulaic::InputNotFound.new(%[Unable to find input "#{label}".])
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def input_text
|
17
|
-
@input_text ||= input(model_name, field)
|
18
|
-
end
|
19
|
-
|
20
16
|
def has_option_in_select?(option, select)
|
21
17
|
find(:select, select).has_selector?(:option, option)
|
22
18
|
rescue Capybara::ElementNotFound
|
data/lib/formulaic/label.rb
CHANGED
data/lib/formulaic/version.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'pathname'
|
2
3
|
|
3
4
|
describe 'Fill in user form' do
|
4
5
|
|
@@ -6,7 +7,7 @@ describe 'Fill in user form' do
|
|
6
7
|
|
7
8
|
it 'finds and fills text fields' do
|
8
9
|
visit 'user_form'
|
9
|
-
form = Formulaic::Form.new(:user, name: 'George')
|
10
|
+
form = Formulaic::Form.new(:user, :new, name: 'George')
|
10
11
|
|
11
12
|
form.fill
|
12
13
|
|
@@ -15,7 +16,7 @@ describe 'Fill in user form' do
|
|
15
16
|
|
16
17
|
it 'finds and fills a password field' do
|
17
18
|
visit 'user_form'
|
18
|
-
form = Formulaic::Form.new(:user, password: 'supersecr3t')
|
19
|
+
form = Formulaic::Form.new(:user, :new, password: 'supersecr3t')
|
19
20
|
|
20
21
|
form.fill
|
21
22
|
|
@@ -24,7 +25,7 @@ describe 'Fill in user form' do
|
|
24
25
|
|
25
26
|
it 'finds and fills a email field' do
|
26
27
|
visit 'user_form'
|
27
|
-
form = Formulaic::Form.new(:user, email: 'caleb@example.com')
|
28
|
+
form = Formulaic::Form.new(:user, :new, email: 'caleb@example.com')
|
28
29
|
|
29
30
|
form.fill
|
30
31
|
|
@@ -33,7 +34,7 @@ describe 'Fill in user form' do
|
|
33
34
|
|
34
35
|
it 'finds and fills a tel field' do
|
35
36
|
visit 'user_form'
|
36
|
-
form = Formulaic::Form.new(:user, phone: '123-555-1234')
|
37
|
+
form = Formulaic::Form.new(:user, :new, phone: '123-555-1234')
|
37
38
|
|
38
39
|
form.fill
|
39
40
|
|
@@ -42,7 +43,7 @@ describe 'Fill in user form' do
|
|
42
43
|
|
43
44
|
it 'finds and fills a url field' do
|
44
45
|
visit 'user_form'
|
45
|
-
form = Formulaic::Form.new(:user, url: 'https://github.com')
|
46
|
+
form = Formulaic::Form.new(:user, :new, url: 'https://github.com')
|
46
47
|
|
47
48
|
form.fill
|
48
49
|
|
@@ -51,7 +52,7 @@ describe 'Fill in user form' do
|
|
51
52
|
|
52
53
|
it 'finds and fills a textarea' do
|
53
54
|
visit 'user_form'
|
54
|
-
form = Formulaic::Form.new(:user, bio: 'blah blah blah')
|
55
|
+
form = Formulaic::Form.new(:user, :new, bio: 'blah blah blah')
|
55
56
|
|
56
57
|
form.fill
|
57
58
|
|
@@ -60,7 +61,7 @@ describe 'Fill in user form' do
|
|
60
61
|
|
61
62
|
it 'finds and fills a date field' do
|
62
63
|
visit 'user_form'
|
63
|
-
form = Formulaic::Form.new(:user, date_of_birth: Date.new(1980, 1, 2))
|
64
|
+
form = Formulaic::Form.new(:user, :new, date_of_birth: Date.new(1980, 1, 2))
|
64
65
|
|
65
66
|
form.fill
|
66
67
|
|
@@ -71,7 +72,7 @@ describe 'Fill in user form' do
|
|
71
72
|
|
72
73
|
it 'finds and checks a boolean field' do
|
73
74
|
visit 'user_form'
|
74
|
-
form = Formulaic::Form.new(:user, terms_of_service: true)
|
75
|
+
form = Formulaic::Form.new(:user, :new, terms_of_service: true)
|
75
76
|
|
76
77
|
form.fill
|
77
78
|
|
@@ -80,7 +81,7 @@ describe 'Fill in user form' do
|
|
80
81
|
|
81
82
|
it 'finds and fills in a number field' do
|
82
83
|
visit 'user_form'
|
83
|
-
form = Formulaic::Form.new(:user, age: 10)
|
84
|
+
form = Formulaic::Form.new(:user, :new, age: 10)
|
84
85
|
|
85
86
|
form.fill
|
86
87
|
|
@@ -89,10 +90,20 @@ describe 'Fill in user form' do
|
|
89
90
|
|
90
91
|
it 'selects a string if there is no input' do
|
91
92
|
visit 'user_form'
|
92
|
-
form = Formulaic::Form.new(:user, awesome: 'Yes')
|
93
|
+
form = Formulaic::Form.new(:user, :new, awesome: 'Yes')
|
93
94
|
|
94
95
|
form.fill
|
95
96
|
|
96
97
|
expect(page).to have_select('user_awesome', selected: 'Yes')
|
97
98
|
end
|
99
|
+
|
100
|
+
it 'attaches a file to a file field' do
|
101
|
+
visit 'user_form'
|
102
|
+
file = File.open('spec/fixtures/file.txt')
|
103
|
+
form = Formulaic::Form.new(:user, :new, avatar: file)
|
104
|
+
|
105
|
+
form.fill
|
106
|
+
|
107
|
+
expect(input(:user, :avatar).value).to eq file.path
|
108
|
+
end
|
98
109
|
end
|
File without changes
|
@@ -5,6 +5,7 @@
|
|
5
5
|
<div class="input tel required user_phone"><label class="tel required" for="user_phone"><abbr title="required">*</abbr> Phone Number</label><input class="string phone required" id="user_phone" maxlength="255" name="user[phone]" size="50" type="tel"></div>
|
6
6
|
<div class="input integer required user_age"><label class="integer required" for="user_age"><abbr title="required">*</abbr> Age</label><input class="numeric integer age required" id="user_age" maxlength="255" name="user[age]" size="50" type="number"></div>
|
7
7
|
<div class="input url required user_url"><label class="tel required" for="user_url"><abbr title="required">*</abbr> Website</label><input class="string url required" id="user_url" maxlength="255" name="user[url]" size="50" type="url"></div>
|
8
|
+
<div class="input file optional user_avatar"><label class="file optional" for="user_avatar">Avatar</label><input class="file optional" id="user_avatar" name="user[avatar]" type="file" /></div>
|
8
9
|
<div class="input password optional user_password"><label class="password optional" for="user_password">Password</label><input class="password optional" id="user_password" name="user[password]" size="50" type="password"></div>
|
9
10
|
<div class="input select required user_awesome">
|
10
11
|
<label class="select required" for="user_awesome"><abbr title="required">*</abbr> Are you awesome?</label>
|
data/spec/formulaic/dsl_spec.rb
CHANGED
@@ -1,18 +1,73 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Formulaic::Dsl do
|
4
|
-
|
5
|
-
|
4
|
+
describe 'input' do
|
5
|
+
it 'builds a label' do
|
6
|
+
label = instance_double('Formulaic::Label')
|
7
|
+
allow(label).to receive(:to_str)
|
8
|
+
allow(Formulaic::Label).to receive(:new).and_return(label)
|
9
|
+
|
10
|
+
object_with_dsl.input :model, :attribute, :action
|
11
|
+
|
12
|
+
expect(Formulaic::Label).to have_received(:new)
|
13
|
+
.with(:model, :attribute, :action)
|
14
|
+
expect(label).to have_received(:to_str)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'defaults action to :new' do
|
18
|
+
allow(Formulaic::Label).to receive(:new).and_return(double(to_str: nil))
|
19
|
+
|
20
|
+
object_with_dsl.input :model, :attribute
|
21
|
+
|
22
|
+
expect(Formulaic::Label).to have_received(:new)
|
23
|
+
.with(:model, :attribute, :new)
|
24
|
+
end
|
25
|
+
|
6
26
|
end
|
7
27
|
|
8
|
-
|
9
|
-
|
28
|
+
describe 'fill_form' do
|
29
|
+
it 'creates a form and fills it' do
|
30
|
+
form = instance_double('Formulaic::Form')
|
31
|
+
allow(form).to receive(:fill)
|
32
|
+
allow(Formulaic::Form).to receive(:new).and_return(form)
|
33
|
+
|
34
|
+
object_with_dsl.fill_form :model, :action, attributes: :values
|
35
|
+
|
36
|
+
expect(Formulaic::Form).to have_received(:new)
|
37
|
+
.with(:model, :action, attributes: :values)
|
38
|
+
expect(form).to have_received(:fill)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'assumes that action = :new' do
|
42
|
+
allow(Formulaic::Form).to receive(:new).and_return(double(fill: nil))
|
43
|
+
|
44
|
+
object_with_dsl.fill_form :model, attributes: :values
|
45
|
+
|
46
|
+
expect(Formulaic::Form).to have_received(:new)
|
47
|
+
.with(:model, :new, attributes: :values)
|
48
|
+
end
|
10
49
|
end
|
11
50
|
|
12
|
-
|
13
|
-
|
51
|
+
describe 'submit' do
|
52
|
+
it 'finds a submit label' do
|
53
|
+
I18n.backend.store_translations(:en, { helpers: { submit: { user: { create: 'Create user' } } } })
|
54
|
+
|
55
|
+
expect(object_with_dsl.submit(:user)).to eq 'Create user'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe 'fill_form_and_submit' do
|
60
|
+
it 'fills a form and submits it' do
|
61
|
+
I18n.backend.store_translations(:en, { helpers: { submit: { model: { create: 'Create model' } } } })
|
62
|
+
allow(Formulaic::Form).to receive(:new).and_return(double(fill: nil))
|
63
|
+
allow(object_with_dsl).to receive(:click_on)
|
64
|
+
|
65
|
+
object_with_dsl.fill_form_and_submit :model, attributes: :values
|
14
66
|
|
15
|
-
|
67
|
+
expect(Formulaic::Form).to have_received(:new)
|
68
|
+
.with(:model, :new, attributes: :values)
|
69
|
+
expect(object_with_dsl).to have_received(:click_on).with('Create model')
|
70
|
+
end
|
16
71
|
end
|
17
72
|
|
18
73
|
def object_with_dsl
|
data/spec/formulaic/form_spec.rb
CHANGED
@@ -2,6 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Formulaic::Form do
|
4
4
|
it 'throws an error if it does not know how to fill an attribute type' do
|
5
|
-
expect { Formulaic::Form.new(nil, { invalid: nil }) }.to raise_error(Formulaic::Form::InvalidAttributeTypeError)
|
5
|
+
expect { Formulaic::Form.new(nil, nil, { invalid: nil }) }.to raise_error(Formulaic::Form::InvalidAttributeTypeError)
|
6
6
|
end
|
7
7
|
end
|
@@ -1,6 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Formulaic::Label do
|
4
|
+
before(:each) do
|
5
|
+
class_double("User").as_stubbed_const
|
6
|
+
allow(User).to receive(:human_attribute_name).and_return("Human Attribute Name")
|
7
|
+
end
|
8
|
+
|
4
9
|
it 'returns the string if there are no translations and it can not human_attribute_name the class' do
|
5
10
|
expect(label(nil, 'My label')).to eq 'My label'
|
6
11
|
end
|
@@ -19,13 +24,7 @@ describe Formulaic::Label do
|
|
19
24
|
expect(label(:user, 'Work URL')).to eq 'Work URL'
|
20
25
|
end
|
21
26
|
|
22
|
-
def label(model_name, attribute, action = :
|
27
|
+
def label(model_name, attribute, action = :new)
|
23
28
|
Formulaic::Label.new(model_name, attribute, action).to_str
|
24
29
|
end
|
25
30
|
end
|
26
|
-
|
27
|
-
class User
|
28
|
-
def self.human_attribute_name(*)
|
29
|
-
'Human Attribute Name'
|
30
|
-
end
|
31
|
-
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'formulaic'
|
2
|
-
require 'pry'
|
3
2
|
|
4
3
|
module SpecHelper
|
5
4
|
def input(model, field)
|
@@ -23,15 +22,17 @@ module SpecHelper
|
|
23
22
|
labels:
|
24
23
|
user:
|
25
24
|
age: Age
|
26
|
-
|
27
|
-
email: Email
|
28
|
-
phone: Phone Number
|
29
|
-
url: Website
|
30
|
-
password: Password
|
31
|
-
date_of_birth: Date of birth
|
32
|
-
terms_of_service: I agree to the Terms of Service
|
25
|
+
avatar: Avatar
|
33
26
|
awesome: Are you awesome?
|
34
27
|
bio: Biography
|
28
|
+
date_of_birth: Date of birth
|
29
|
+
email: Email
|
30
|
+
name: Display name
|
31
|
+
new:
|
32
|
+
password: Password
|
33
|
+
phone: Phone Number
|
34
|
+
terms_of_service: I agree to the Terms of Service
|
35
|
+
url: Website
|
35
36
|
TRANSLATIONS
|
36
37
|
end
|
37
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formulaic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Caleb Thompson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -137,11 +137,13 @@ files:
|
|
137
137
|
- lib/formulaic/inputs/array_input.rb
|
138
138
|
- lib/formulaic/inputs/boolean_input.rb
|
139
139
|
- lib/formulaic/inputs/date_input.rb
|
140
|
+
- lib/formulaic/inputs/file_input.rb
|
140
141
|
- lib/formulaic/inputs/input.rb
|
141
142
|
- lib/formulaic/inputs/string_input.rb
|
142
143
|
- lib/formulaic/label.rb
|
143
144
|
- lib/formulaic/version.rb
|
144
145
|
- spec/features/fill_in_user_form_spec.rb
|
146
|
+
- spec/fixtures/file.txt
|
145
147
|
- spec/fixtures/user_form.html
|
146
148
|
- spec/formulaic/dsl_spec.rb
|
147
149
|
- spec/formulaic/form_spec.rb
|
@@ -173,6 +175,7 @@ specification_version: 4
|
|
173
175
|
summary: Simplify form filling with Capybara
|
174
176
|
test_files:
|
175
177
|
- spec/features/fill_in_user_form_spec.rb
|
178
|
+
- spec/fixtures/file.txt
|
176
179
|
- spec/fixtures/user_form.html
|
177
180
|
- spec/formulaic/dsl_spec.rb
|
178
181
|
- spec/formulaic/form_spec.rb
|