hungryform 0.0.4 → 0.0.6
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.
- checksums.yaml +4 -4
- data/.gitignore +6 -1
- data/.rspec +0 -1
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/README.md +72 -43
- data/Rakefile +3 -4
- data/hungryform.gemspec +4 -4
- data/lib/hungryform/configuration.rb +31 -0
- data/lib/hungryform/elements/base/active_element.rb +44 -36
- data/lib/hungryform/elements/base/element.rb +40 -49
- data/lib/hungryform/elements/base/group.rb +74 -71
- data/lib/hungryform/elements/base/hashable.rb +32 -30
- data/lib/hungryform/elements/base/options_element.rb +28 -24
- data/lib/hungryform/elements/html.rb +1 -1
- data/lib/hungryform/elements/page.rb +4 -0
- data/lib/hungryform/elements/radio_group.rb +1 -1
- data/lib/hungryform/elements/select_field.rb +14 -18
- data/lib/hungryform/elements/{text_area_field.rb → text_area.rb} +1 -1
- data/lib/hungryform/elements.rb +9 -1
- data/lib/hungryform/exceptions.rb +3 -0
- data/lib/hungryform/form.rb +32 -2
- data/lib/hungryform/resolver.rb +14 -16
- data/lib/hungryform/version.rb +1 -1
- data/lib/hungryform.rb +22 -5
- data/spec/elements/group_spec.rb +10 -1
- data/spec/elements/html_spec.rb +11 -9
- data/spec/elements/page_spec.rb +10 -7
- data/spec/elements/radio_group_spec.rb +9 -15
- data/spec/elements/select_field_spec.rb +19 -33
- data/spec/elements/shared_examples/active_element.rb +52 -0
- data/spec/elements/shared_examples/element.rb +42 -0
- data/spec/elements/shared_examples/group.rb +31 -0
- data/spec/elements/shared_examples/options_element.rb +24 -0
- data/spec/elements/text_area_spec.rb +14 -0
- data/spec/elements/text_field_spec.rb +10 -3
- data/spec/form_spec.rb +68 -1
- data/spec/resolver_spec.rb +7 -7
- data/spec/spec_helper.rb +4 -2
- metadata +29 -40
- data/Gemfile.lock +0 -52
- data/spec/elements/text_area_field_spec.rb +0 -7
- data/spec/support/shared_active_element.rb +0 -65
- data/spec/support/shared_element.rb +0 -62
- data/spec/support/shared_group.rb +0 -42
- data/spec/support/shared_options_element.rb +0 -36
@@ -1,36 +0,0 @@
|
|
1
|
-
RSpec.shared_examples "an element with options" do
|
2
|
-
let(:resolver_options) { {} }
|
3
|
-
let(:resolver) { HungryForm::Resolver.new(resolver_options) }
|
4
|
-
|
5
|
-
let(:group_options) { {} }
|
6
|
-
let(:group) { HungryForm::Elements::Group.new(:group, nil, resolver, group_options) {} }
|
7
|
-
|
8
|
-
let(:element) { described_class.new(:element_name, group, resolver, options_element_options) {} }
|
9
|
-
|
10
|
-
it_behaves_like "an active element" do
|
11
|
-
let(:active_element_options) { options_element_options }
|
12
|
-
end
|
13
|
-
|
14
|
-
describe ".new" do
|
15
|
-
it "should raise an exception if there is no options provided" do
|
16
|
-
options_element_options.delete(:options) if options_element_options[:options]
|
17
|
-
expect { described_class.new(:element_name, group, resolver, options_element_options) }.to raise_error(HungryForm::HungryFormException)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should have options" do
|
21
|
-
options_element_options[:options] = {"1" => "First", "2" => "Last"}
|
22
|
-
expect(element.options).to eq({"1" => "First", "2" => "Last"})
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should convert options to hash" do
|
26
|
-
options_element_options[:options] = ->(el) {{"1" => "First", "2" => "Last"}}
|
27
|
-
expect(element.options).to eq({"1" => "First", "2" => "Last"})
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe "#to_hash" do
|
32
|
-
it "should include options" do
|
33
|
-
expect(element.to_hash).to include(:options)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|