signed_form 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13a5bc0a03b358342f6a21ab3f109424efdc19aa
4
- data.tar.gz: 7e3edc29f8b6ebb848f1d928802bc0f6b5cae985
3
+ metadata.gz: c2252f1f051eaa4aae342bebc6e18b690c1729e0
4
+ data.tar.gz: 14aed6537280fff1e06456e6810c3e82234482f8
5
5
  SHA512:
6
- metadata.gz: c86f3310a481303031dbb197d4d383ea4e18f62b14eaa3a630bc2280147e55c61aadd624d8251de6549cfd1d5c7f58253f9c584cfd9e2cb2b128a3887361dedb
7
- data.tar.gz: 40a338b8e5fece5f63a84feff4107f18c9007d2e5105803d584d0aee4c421ea4ccc2e54de6234b3030ac9c4df77f14bbc8bd13186f85eceb7b7079af48c1dc61
6
+ metadata.gz: b6ba4877c2618bfca2c6906a7ecc38fd2f86c138daafd6cee98945053ed773d615954dd0478d06059dd5bbc69a9275c612dc9f0618b7f9fe37bd7bf8e32b2879
7
+ data.tar.gz: 3d9aa7420195e95e2bf864482785675ac4e9e914ed257b6e9a017c6fec011533de4e12c95bb7d4f923bfdea3e698bf0845f737eba16d8d41129b00d96d09045d
data/README.md CHANGED
@@ -49,7 +49,7 @@ way you use standard forms.
49
49
  SignedForm requires:
50
50
 
51
51
  * Ruby 1.9 or later
52
- * Ruby on Rails 4 or Rails 3 (3.0 not supported) ([strong_parameters](https://github.com/rails/strong_parameters) gem
52
+ * Rails 4 or Rails 3.1+ ([strong_parameters](https://github.com/rails/strong_parameters) gem
53
53
  required for Rails 3)
54
54
 
55
55
  ## Installation
@@ -86,7 +86,7 @@ You'll also need to create an initializer:
86
86
 
87
87
  ## Support for other Builders
88
88
 
89
- * [SimpleForm](https://github.com/erichmenge/signed_form-simple_form)
89
+ * [SimpleForm Adapter](https://github.com/erichmenge/signed_form-simple_form)
90
90
 
91
91
  ## Special Considerations
92
92
 
@@ -4,7 +4,21 @@ module SignedForm
4
4
  # Base methods for form signing. Include this module in your own builders to get signatures for the base input
5
5
  # helpers. Add fields to sign with #add_signed_fields
6
6
  module Methods
7
- (::ActionView::Helpers::FormBuilder.field_helpers.map(&:to_s) - %w(label fields_for button apply_form_for_options!)).each do |h|
7
+ FIELDS_TO_SIGN = [:select, :collection_select, :grouped_collection_select,
8
+ :time_zone_select, :collection_radio_buttons, :collection_check_boxes,
9
+ :date_select, :datetime_select, :time_select,
10
+ :text_field, :password_field, :hidden_field,
11
+ :file_field, :text_area, :check_box,
12
+ :radio_button, :color_field, :search_field,
13
+ :telephone_field, :phone_field, :date_field,
14
+ :time_field, :datetime_field, :datetime_local_field,
15
+ :month_field, :week_field, :url_field,
16
+ :email_field, :number_field, :range_field]
17
+
18
+ FIELDS_TO_SIGN.delete_if { |e| !::ActionView::Helpers::FormBuilder.instance_methods.include?(e) }
19
+ FIELDS_TO_SIGN.freeze
20
+
21
+ FIELDS_TO_SIGN.each do |h|
8
22
  define_method(h) do |field, *args|
9
23
  add_signed_fields field
10
24
  super(field, *args)
@@ -1,7 +1,7 @@
1
1
  module SignedForm
2
2
  MAJOR = 0
3
3
  MINOR = 1
4
- PATCH = 0
4
+ PATCH = 1
5
5
  PRE = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, PATCH, PRE].compact.join '.'
@@ -58,27 +58,118 @@ describe SignedForm::FormBuilder do
58
58
  end
59
59
 
60
60
  describe "form inputs" do
61
- (ActionView::Helpers::FormBuilder.field_helpers.map(&:to_s) - %w(label fields_for button radio_button apply_form_for_options!)).each do |field|
61
+ fields = ActionView::Helpers::FormBuilder.instance_methods - Object.instance_methods
62
+ fields -= [:button, :multipart=, :submit,
63
+ :field_helpers, :label, :multipart,
64
+ :emitted_hidden_id?, :to_model, :field_helpers?,
65
+ :field_helpers=, :fields_for, :object_name=,
66
+ :object=, :object_name, :model_name_from_record_or_class,
67
+ :multipart?, :options, :options=,
68
+ :convert_to_model, :to_partial_path, :index,
69
+ :object, :radio_button, :parent_builder,
70
+ :collection_check_boxes, :grouped_collection_select, :select,
71
+ :collection_select, :collection_radio_buttons, :time_select,
72
+ :datetime_select, :time_zone_select, :date_select]
73
+
74
+ after do
75
+ @data.should be
76
+ @data.size.should == 1
77
+ @data['user'].size.should == 1
78
+ @data['user'].should include(:name)
79
+ end
80
+
81
+ fields.each do |field|
62
82
  it "should add to the allowed attributes when #{field} is used" do
63
83
  content = signed_form_for(User.new) do |f|
64
84
  f.send field, :name
65
85
  end
66
86
 
67
- data = get_data_from_form(content)
68
- data.size.should == 1
69
- data['user'].size.should == 1
70
- data['user'].should include(:name)
87
+ @data = get_data_from_form(content)
71
88
  end
72
89
  end
73
90
 
91
+ it "should add to the allowed attributes when collection_check_boxes is used", action_pack: /4\.\d+/ do
92
+ content = signed_form_for(User.new) do |f|
93
+ f.collection_check_boxes :name, ['a', 'b'], :to_s, :to_s
94
+ end
95
+
96
+ @data = get_data_from_form(content)
97
+ end
98
+
99
+ it "should add to the allowed attributes when grouped_collection_select is used" do
100
+ continent = Struct.new('Continent', :continent_name, :countries)
101
+ country = Struct.new('Country', :country_id, :country_name)
102
+
103
+ content = signed_form_for(User.new) do |f|
104
+ f.grouped_collection_select(:name, [continent.new("<Africa>", [country.new("<sa>", "<South Africa>")])],
105
+ :countries, :continent_name, :country_id, :country_name)
106
+ end
107
+
108
+ @data = get_data_from_form(content)
109
+ end
110
+
111
+ it "should add to the allowed attributes when select is used" do
112
+ content = signed_form_for(User.new) do |f|
113
+ f.select :name, %w(a b)
114
+ end
115
+
116
+ @data = get_data_from_form(content)
117
+ end
118
+
119
+ it "should add to the allowed attributes when collection_select is used" do
120
+ content = signed_form_for(User.new) do |f|
121
+ f.collection_select :name, %w(a b), :to_s, :to_s
122
+ end
123
+
124
+ @data = get_data_from_form(content)
125
+ end
126
+
127
+ it "should add to the allowed attributes when collection_radio_buttons is used", action_pack: /4\.\d+/ do
128
+ content = signed_form_for(User.new) do |f|
129
+ f.collection_radio_buttons :name, %w(a b), :to_s, :to_s
130
+ end
131
+
132
+ @data = get_data_from_form(content)
133
+ end
134
+
135
+ it "should add to the allowed attributes when date_select is used" do
136
+ content = signed_form_for(User.new) do |f|
137
+ f.date_select :name
138
+ end
139
+
140
+ @data = get_data_from_form(content)
141
+ end
142
+
143
+ it "should add to the allowed attributes when time_select is used" do
144
+ content = signed_form_for(User.new) do |f|
145
+ f.time_select :name
146
+ end
147
+
148
+ @data = get_data_from_form(content)
149
+ end
150
+
151
+ it "should add to the allowed attributes when datetime_select is used" do
152
+ content = signed_form_for(User.new) do |f|
153
+ f.datetime_select :name
154
+ end
155
+
156
+ @data = get_data_from_form(content)
157
+ end
158
+
159
+ it "should add to the allowed attributes when time_zone_select is used" do
160
+ content = signed_form_for(User.new) do |f|
161
+ f.time_zone_select :name
162
+ end
163
+
164
+ @data = get_data_from_form(content)
165
+ end
166
+
74
167
  it "should add to the allowed attributes when radio_button is used" do
75
168
  content = signed_form_for(User.new) do |f|
76
169
  f.radio_button :name, ['bar']
77
170
  end
78
171
 
79
- data = get_data_from_form(content)
80
- data['user'].size.should == 1
81
- data['user'].should include(:name)
172
+ @data = get_data_from_form(content)
82
173
  end
83
174
  end
84
175
 
data/spec/spec_helper.rb CHANGED
@@ -8,7 +8,7 @@ require 'signed_form'
8
8
  require 'active_support/core_ext'
9
9
 
10
10
  module SignedFormViewHelper
11
- include ActionView::Helpers::FormHelper
11
+ include ActionView::Helpers
12
12
 
13
13
  if defined?(ActionView::RecordIdentifier)
14
14
  include ActionView::RecordIdentifier
@@ -58,5 +58,7 @@ RSpec.configure do |config|
58
58
  config.treat_symbols_as_metadata_keys_with_true_values = true
59
59
  config.run_all_when_everything_filtered = true
60
60
 
61
+ config.filter_run_excluding action_pack: ->(version) { ActionPack::VERSION::STRING.match(/\d+\.\d+/)[0] !~ version }
62
+
61
63
  config.order = 'random'
62
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signed_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Menge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-04 00:00:00.000000000 Z
11
+ date: 2013-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler