formulary 0.0.3 → 0.0.4

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.
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.3"
25
25
  spec.add_development_dependency "rake"
26
- spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "rspec", "< 2.99"
27
27
  spec.add_development_dependency "pry"
28
28
  end
@@ -10,6 +10,7 @@ module Formulary
10
10
  end
11
11
 
12
12
  require "formulary/version"
13
+ require "formulary/exceptions"
13
14
  require "formulary/html_form/fields"
14
15
  require "formulary/html_form/labels"
15
16
  require "formulary/html_form"
@@ -0,0 +1,2 @@
1
+ class Formulary::FieldNotFoundError < StandardError
2
+ end
@@ -2,6 +2,12 @@ module Formulary::HtmlForm::Labels
2
2
  def label_for_field(field_name)
3
3
  fields_for_name = document.css("*[name='#{field_name}']")
4
4
 
5
+ if fields_for_name.empty?
6
+ raise Formulary::FieldNotFoundError.new(
7
+ "Cannot find label, field #{field_name} does not exist"
8
+ )
9
+ end
10
+
5
11
  if fields_for_name.length > 1
6
12
  labels_for_fieldset(fields_for_name)
7
13
  else
@@ -1,3 +1,3 @@
1
1
  module Formulary
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -192,7 +192,7 @@ describe Formulary::HtmlForm do
192
192
  end
193
193
 
194
194
  describe "#label_for_field" do
195
- subject { html_form.label_for_field(field_name) }
195
+ subject(:label_for_field) { html_form.label_for_field(field_name) }
196
196
 
197
197
  context "with a label with a for attribute" do
198
198
  let(:field_name) { "first_name" }
@@ -225,6 +225,16 @@ describe Formulary::HtmlForm do
225
225
  its(["bacon"]) { should eq("Bacon") }
226
226
  its(["butter"]) { should eq("Butter") }
227
227
  end
228
+
229
+ context "for a non-existant field" do
230
+ let(:field_name) { "nooooope" }
231
+
232
+ it "explodes helpfully" do
233
+ expect {
234
+ label_for_field
235
+ }.to raise_error(Formulary::FieldNotFoundError, /label.+nooooope/)
236
+ end
237
+ end
228
238
  end
229
239
  end
230
240
 
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formulary
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Matt Bohme
@@ -9,90 +10,102 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-03-27 00:00:00.000000000 Z
13
+ date: 2014-07-17 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: nokogiri
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
- - - ">="
20
+ - - ! '>='
19
21
  - !ruby/object:Gem::Version
20
22
  version: '0'
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
- - - ">="
28
+ - - ! '>='
26
29
  - !ruby/object:Gem::Version
27
30
  version: '0'
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: activesupport
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
- - - ">="
36
+ - - ! '>='
33
37
  - !ruby/object:Gem::Version
34
38
  version: '0'
35
39
  type: :runtime
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
- - - ">="
44
+ - - ! '>='
40
45
  - !ruby/object:Gem::Version
41
46
  version: '0'
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: bundler
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
- - - "~>"
52
+ - - ~>
47
53
  - !ruby/object:Gem::Version
48
54
  version: '1.3'
49
55
  type: :development
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
- - - "~>"
60
+ - - ~>
54
61
  - !ruby/object:Gem::Version
55
62
  version: '1.3'
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: rake
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
- - - ">="
68
+ - - ! '>='
61
69
  - !ruby/object:Gem::Version
62
70
  version: '0'
63
71
  type: :development
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
- - - ">="
76
+ - - ! '>='
68
77
  - !ruby/object:Gem::Version
69
78
  version: '0'
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: rspec
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
- - - ">="
84
+ - - <
75
85
  - !ruby/object:Gem::Version
76
- version: '0'
86
+ version: '2.99'
77
87
  type: :development
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
- - - ">="
92
+ - - <
82
93
  - !ruby/object:Gem::Version
83
- version: '0'
94
+ version: '2.99'
84
95
  - !ruby/object:Gem::Dependency
85
96
  name: pry
86
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
87
99
  requirements:
88
- - - ">="
100
+ - - ! '>='
89
101
  - !ruby/object:Gem::Version
90
102
  version: '0'
91
103
  type: :development
92
104
  prerelease: false
93
105
  version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
94
107
  requirements:
95
- - - ">="
108
+ - - ! '>='
96
109
  - !ruby/object:Gem::Version
97
110
  version: '0'
98
111
  description: Valid form submission based on the HTML5 validation on the form itself
@@ -103,14 +116,15 @@ executables: []
103
116
  extensions: []
104
117
  extra_rdoc_files: []
105
118
  files:
106
- - ".gitignore"
107
- - ".rspec"
119
+ - .gitignore
120
+ - .rspec
108
121
  - Gemfile
109
122
  - LICENSE.txt
110
123
  - README.md
111
124
  - Rakefile
112
125
  - formulary.gemspec
113
126
  - lib/formulary.rb
127
+ - lib/formulary/exceptions.rb
114
128
  - lib/formulary/html_form.rb
115
129
  - lib/formulary/html_form/fields.rb
116
130
  - lib/formulary/html_form/fields/checkbox_group.rb
@@ -160,26 +174,27 @@ files:
160
174
  homepage: http://github.com/g5/formulary
161
175
  licenses:
162
176
  - MIT
163
- metadata: {}
164
177
  post_install_message:
165
178
  rdoc_options: []
166
179
  require_paths:
167
180
  - lib
168
181
  required_ruby_version: !ruby/object:Gem::Requirement
182
+ none: false
169
183
  requirements:
170
- - - ">="
184
+ - - ! '>='
171
185
  - !ruby/object:Gem::Version
172
186
  version: '0'
173
187
  required_rubygems_version: !ruby/object:Gem::Requirement
188
+ none: false
174
189
  requirements:
175
- - - ">="
190
+ - - ! '>='
176
191
  - !ruby/object:Gem::Version
177
192
  version: '0'
178
193
  requirements: []
179
194
  rubyforge_project:
180
- rubygems_version: 2.2.0
195
+ rubygems_version: 1.8.23
181
196
  signing_key:
182
- specification_version: 4
197
+ specification_version: 3
183
198
  summary: Valid form submission based on the HTML5 validation on the form itself
184
199
  test_files:
185
200
  - spec/html_form/fields/checkbox_group_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 393050691325dca94776e614a5de5f939fd595de
4
- data.tar.gz: 825e144f8e5a11d88756318ba32e9e5248088ca1
5
- SHA512:
6
- metadata.gz: 51ebdb9b78b2e3bb3be922650daebd152cf302c00074cee83d3e7f350b9eb80ba9dc38e2dad34d113444faf2a53d4c20f8400309bcaa49ba29b5c9f2e4217b7e
7
- data.tar.gz: f164cece566135c3400ce59ba8042e24cee8736b6469268921f302a9027a02e83f0a0cc2f423a789e84bdad76614cfdc39dc6e7a0207c643c0b651d1e2e02eb8