formbuilder-rb 0.0.4 → 0.2.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.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +14 -0
  7. data/Gemfile.lock +219 -0
  8. data/Guardfile +17 -0
  9. data/{MIT-LICENSE → LICENSE.md} +1 -1
  10. data/README.md +86 -0
  11. data/app/controllers/formbuilder/concerns/forms_controller.rb +59 -0
  12. data/app/models/formbuilder/entry_attachment.rb +2 -8
  13. data/app/models/formbuilder/form.rb +53 -0
  14. data/app/models/formbuilder/response_field.rb +23 -10
  15. data/app/models/formbuilder/response_field_address.rb +12 -1
  16. data/app/models/formbuilder/response_field_checkboxes.rb +38 -0
  17. data/app/models/formbuilder/response_field_date.rb +7 -1
  18. data/app/models/formbuilder/response_field_dropdown.rb +2 -1
  19. data/app/models/formbuilder/response_field_email.rb +14 -2
  20. data/app/models/formbuilder/response_field_file.rb +75 -20
  21. data/app/models/formbuilder/response_field_number.rb +9 -2
  22. data/app/models/formbuilder/response_field_page_break.rb +13 -0
  23. data/app/models/formbuilder/response_field_paragraph.rb +19 -3
  24. data/app/models/formbuilder/response_field_price.rb +10 -6
  25. data/app/models/formbuilder/response_field_radio.rb +11 -2
  26. data/app/models/formbuilder/response_field_section_break.rb +12 -2
  27. data/app/models/formbuilder/response_field_table.rb +222 -0
  28. data/app/models/formbuilder/response_field_text.rb +9 -2
  29. data/app/models/formbuilder/response_field_time.rb +8 -1
  30. data/app/models/formbuilder/response_field_website.rb +26 -2
  31. data/app/uploaders/formbuilder/entry_attachment_uploader.rb +11 -1
  32. data/bin/rails +8 -0
  33. data/circle.yml +9 -0
  34. data/config/spring.rb +1 -0
  35. data/db/migrate/20130924185815_create_formbuilder_entry_attachments.rb +1 -0
  36. data/formbuilder-rb.gemspec +41 -0
  37. data/formbuilder-rb.sublime-project +20 -0
  38. data/lib/formbuilder.rb +8 -3
  39. data/lib/formbuilder/entry.rb +102 -159
  40. data/lib/formbuilder/entry_validator.rb +13 -6
  41. data/lib/formbuilder/version.rb +1 -1
  42. data/lib/formbuilder/views/entry_dl.rb +56 -0
  43. data/lib/formbuilder/views/form.rb +81 -0
  44. data/lib/formbuilder/views/form_field.rb +45 -0
  45. data/spec/controllers/formbuilder/forms_controller_spec.rb +40 -0
  46. data/spec/dummy/.ruby-gemset +1 -0
  47. data/spec/dummy/.ruby-version +1 -0
  48. data/spec/dummy/README.rdoc +28 -0
  49. data/spec/dummy/Rakefile +6 -0
  50. data/spec/dummy/app/assets/images/.keep +0 -0
  51. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  52. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  53. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  54. data/spec/dummy/app/controllers/forms_controller.rb +3 -0
  55. data/spec/dummy/app/controllers/test_controller.rb +57 -0
  56. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  57. data/spec/dummy/app/mailers/.keep +0 -0
  58. data/spec/dummy/app/models/concerns/.keep +0 -0
  59. data/spec/dummy/app/models/entry.rb +7 -0
  60. data/spec/dummy/app/models/entry_with_alternate_column_name.rb +11 -0
  61. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  62. data/spec/dummy/app/views/test/_form.rb +2 -0
  63. data/spec/dummy/app/views/test/render_entry.html.erb +1 -0
  64. data/spec/dummy/app/views/test/show_form.html.erb +1 -0
  65. data/spec/dummy/bin/bundle +3 -0
  66. data/spec/dummy/bin/rails +4 -0
  67. data/spec/dummy/bin/rake +4 -0
  68. data/spec/dummy/config.ru +4 -0
  69. data/spec/dummy/config/application.rb +25 -0
  70. data/spec/dummy/config/boot.rb +5 -0
  71. data/spec/dummy/config/database.yml.ci +15 -0
  72. data/spec/dummy/config/database.yml.example +15 -0
  73. data/spec/dummy/config/environment.rb +5 -0
  74. data/spec/dummy/config/environments/development.rb +29 -0
  75. data/spec/dummy/config/environments/production.rb +80 -0
  76. data/spec/dummy/config/environments/test.rb +52 -0
  77. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  78. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  79. data/spec/dummy/config/initializers/inflections.rb +16 -0
  80. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  81. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  82. data/spec/dummy/config/initializers/session_store.rb +3 -0
  83. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  84. data/spec/dummy/config/locales/en.yml +23 -0
  85. data/spec/dummy/config/routes.rb +12 -0
  86. data/spec/dummy/db/migrate/20130924182939_create_entries.rb +13 -0
  87. data/spec/dummy/db/migrate/20130924192151_create_formbuilder_forms.formbuilder.rb +11 -0
  88. data/spec/dummy/db/migrate/20130924192152_create_formbuilder_response_fields.formbuilder.rb +17 -0
  89. data/spec/dummy/db/migrate/20130926205845_create_formbuilder_entry_attachments.formbuilder.rb +12 -0
  90. data/spec/dummy/db/migrate/20140128000000_create_entry_with_alternate_column_names.rb +13 -0
  91. data/spec/dummy/db/schema.rb +64 -0
  92. data/spec/dummy/lib/assets/.keep +0 -0
  93. data/spec/dummy/log/.keep +0 -0
  94. data/spec/dummy/public/404.html +58 -0
  95. data/spec/dummy/public/422.html +58 -0
  96. data/spec/dummy/public/500.html +57 -0
  97. data/spec/dummy/public/favicon.ico +0 -0
  98. data/spec/dummy/test/fixtures/entries.yml +9 -0
  99. data/spec/dummy/test/fixtures/response_fields.yml +19 -0
  100. data/spec/dummy/test/models/entry_test.rb +7 -0
  101. data/spec/dummy/test/models/response_field_test.rb +7 -0
  102. data/spec/factories/formbuilder_forms.rb +45 -0
  103. data/spec/features/form_renderer_spec.rb +30 -0
  104. data/spec/features/submitting_an_entry_spec.rb +79 -0
  105. data/spec/fixtures/test_files/text.txt +1 -0
  106. data/spec/fixtures/test_files/text2.txt +1 -0
  107. data/spec/lib/formbuilder/entry_spec.rb +199 -0
  108. data/spec/lib/formbuilder/entry_validator_spec.rb +215 -0
  109. data/spec/lib/formbuilder/entry_with_alternate_column_name_spec.rb +37 -0
  110. data/spec/lib/formbuilder/views/entry_dl_spec.rb +38 -0
  111. data/spec/models/formbuilder/entry_attachment_spec.rb +17 -0
  112. data/spec/models/formbuilder/form_spec.rb +100 -0
  113. data/spec/models/formbuilder/response_field_address_spec.rb +25 -0
  114. data/spec/models/formbuilder/response_field_checkboxes_spec.rb +57 -0
  115. data/spec/models/formbuilder/response_field_file_spec.rb +80 -0
  116. data/spec/models/formbuilder/response_field_paragraph_spec.rb +22 -0
  117. data/spec/models/formbuilder/response_field_radio_spec.rb +30 -0
  118. data/spec/models/formbuilder/response_field_spec.rb +21 -0
  119. data/spec/models/formbuilder/response_field_table_spec.rb +124 -0
  120. data/spec/spec_helper.rb +25 -0
  121. data/spec/support/database_cleaner.rb +21 -0
  122. data/spec/support/submitting_an_entry_spec_helper.rb +151 -0
  123. metadata +286 -44
  124. data/app/controllers/formbuilder/forms_controller.rb +0 -53
  125. data/lib/formbuilder/entry_renderer.rb +0 -47
  126. data/lib/formbuilder/entry_table_renderer.rb +0 -58
  127. data/lib/formbuilder/form_renderer.rb +0 -102
@@ -0,0 +1,25 @@
1
+ require 'database_cleaner'
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+
5
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
6
+ Coveralls::SimpleCov::Formatter,
7
+ SimpleCov::Formatter::HTMLFormatter
8
+ ]
9
+
10
+ ENV["RAILS_ENV"] = "test"
11
+
12
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
13
+ require 'formbuilder'
14
+ require 'factory_girl_rails'
15
+
16
+ Rails.backtrace_cleaner.remove_silencers!
17
+
18
+ require 'rspec/rails'
19
+ require 'capybara/rspec'
20
+
21
+ Dir[Rails.root.join("../../spec/support/**/*.rb")].each {|f| require f}
22
+
23
+ RSpec.configure do |config|
24
+ config.order = "random"
25
+ end
@@ -0,0 +1,21 @@
1
+ RSpec.configure do |config|
2
+ config.before(:suite) do
3
+ DatabaseCleaner.clean_with(:truncation)
4
+ end
5
+
6
+ config.before(:each) do
7
+ DatabaseCleaner.strategy = :transaction
8
+ end
9
+
10
+ config.before(:each, :js => true) do
11
+ DatabaseCleaner.strategy = :truncation
12
+ end
13
+
14
+ config.before(:each) do
15
+ DatabaseCleaner.start
16
+ end
17
+
18
+ config.after(:each) do
19
+ DatabaseCleaner.clean
20
+ end
21
+ end
@@ -0,0 +1,151 @@
1
+ module SubmittingAnEntrySpecHelper
2
+ def field_name(field_type)
3
+ "response_fields[#{form.response_fields.where(type: "Formbuilder::ResponseField#{field_type.capitalize}").first.id}]"
4
+ end
5
+
6
+ def escaped_field_name(field_type)
7
+ "response_fields\[#{form.response_fields.where(type: "Formbuilder::ResponseField#{field_type.capitalize}").first.id}\]"
8
+ end
9
+
10
+ def save_draft_and_refresh
11
+ click_button 'Submit'
12
+ click_link 'Back to form'
13
+ end
14
+
15
+ def only_use_response_field(project, field_type)
16
+ form.response_fields.where("field_type != ?", field_type).destroy_all
17
+ end
18
+
19
+ def set_field(field_type, value)
20
+ case field_type
21
+ when :checkboxes
22
+ value.each_with_index do |v, i|
23
+ send(v ? :check : :uncheck, "#{field_name(field_type)}[#{i}]")
24
+ end
25
+ when :radio
26
+ choose(value) # @todo this could fail if there are multiple radio buttons on the page
27
+ when :dropdown
28
+ select(value, from: field_name(field_type))
29
+ when :price
30
+ fill_in "#{field_name(field_type)}[dollars]", with: value[:dollars]
31
+ fill_in "#{field_name(field_type)}[cents]", with: value[:cents]
32
+ when :date
33
+ fill_in "#{field_name(field_type)}[month]", with: value[:month]
34
+ fill_in "#{field_name(field_type)}[day]", with: value[:day]
35
+ fill_in "#{field_name(field_type)}[year]", with: value[:year]
36
+ when :time
37
+ fill_in "#{field_name(field_type)}[hours]", with: value[:hours]
38
+ fill_in "#{field_name(field_type)}[minutes]", with: value[:minutes]
39
+ fill_in "#{field_name(field_type)}[seconds]", with: value[:seconds]
40
+ select(value[:am_pm], from: "#{field_name(field_type)}[am_pm]")
41
+ when :file
42
+ page.execute_script %Q{ $('input[type=file]').insertAfter('.fileupload') } rescue nil
43
+ page.attach_file "#{field_name(field_type)}[]", File.expand_path(value, File.dirname(__FILE__))
44
+ when :address
45
+ fill_in "#{field_name(field_type)}[street]", with: value[:street]
46
+ fill_in "#{field_name(field_type)}[city]", with: value[:city]
47
+ fill_in "#{field_name(field_type)}[state]", with: value[:state]
48
+ fill_in "#{field_name(field_type)}[zipcode]", with: value[:zipcode]
49
+ select(value[:country], from: "#{field_name(field_type)}[country]")
50
+ when :table
51
+ value.each_with_index do |values, i|
52
+ all("textarea").select { |input| input['name']["#{field_name(field_type)}[#{i}]"] }.each_with_index do |input, index|
53
+ input.set values[index]
54
+ end
55
+ end
56
+ else
57
+ fill_in field_name(field_type), with: value
58
+ end
59
+ end
60
+
61
+ def test_field_values
62
+ {
63
+ text: 'Yooo',
64
+ paragraph: 'Booo',
65
+ checkboxes: [true, false],
66
+ radio: 'Choice #2',
67
+ dropdown: 'Choice #1',
68
+ price: { dollars: '10', cents: '11' },
69
+ number: '102',
70
+ date: { month: '1', day: '12', year: '2013' },
71
+ time: { hours: '1', minutes: '12', seconds: '00', am_pm: 'PM' },
72
+ website: 'www.google.com',
73
+ email: 'strongbad@homestarrunner.com',
74
+ file: '../fixtures/test_files/text.txt',
75
+ address: { street: '123 Main St.', city: 'Oakland', state: 'California', zipcode: '94609', country: 'United Kingdom' },
76
+ table: [['yes', 'no'], ['', 'foo']]
77
+ }
78
+ end
79
+
80
+ def normalized_test_field_values
81
+ test_field_values.merge(
82
+ website: 'http://www.google.com'
83
+ )
84
+ end
85
+
86
+ def test_field_values_two
87
+ {
88
+ text: 'shlooop',
89
+ paragraph: 'floooop',
90
+ checkboxes: [false, true],
91
+ radio: 'Choice #1',
92
+ dropdown: 'Choice #2',
93
+ price: { dollars: '2', cents: '14' },
94
+ number: '32',
95
+ date: { month: '2', day: '1', year: '2012' },
96
+ time: { hours: '12', minutes: '1', seconds: '30', am_pm: 'AM' },
97
+ website: 'www.gizoogle.com',
98
+ email: 'homestar@homestarrunner.com',
99
+ file: '../fixtures/test_files/text2.txt',
100
+ address: { street: '125 Main St.', city: 'Berkeley', state: 'California', zipcode: '94704', country: 'Algeria' },
101
+ table: [['no', ''], ['yes', '']]
102
+ }
103
+ end
104
+
105
+ def normalized_test_field_values_two
106
+ test_field_values_two.merge(
107
+ website: 'http://www.gizoogle.com'
108
+ )
109
+ end
110
+
111
+ def ensure_field(field_type, value)
112
+ case field_type
113
+ when :checkboxes
114
+ value.each_with_index do |v, i|
115
+ page.should(send(v ? :have_checked_field : :have_unchecked_field, "#{field_name(field_type)}[#{i}]"))
116
+ end
117
+ when :radio
118
+ find("[name=\"#{escaped_field_name(field_type)}\"][value=\"#{value}\"]")['checked'].should == 'checked'
119
+ when :dropdown
120
+ page.should have_select(field_name(field_type), selected: value)
121
+ when :price
122
+ page.should have_field("#{field_name(field_type)}[dollars]", with: value[:dollars])
123
+ page.should have_field("#{field_name(field_type)}[cents]", with: value[:cents])
124
+ when :date
125
+ page.should have_field("#{field_name(field_type)}[month]", with: value[:month])
126
+ page.should have_field("#{field_name(field_type)}[day]", with: value[:day])
127
+ page.should have_field("#{field_name(field_type)}[year]", with: value[:year])
128
+ when :time
129
+ page.should have_field("#{field_name(field_type)}[hours]", with: value[:hours])
130
+ page.should have_field("#{field_name(field_type)}[minutes]", with: value[:minutes])
131
+ page.should have_field("#{field_name(field_type)}[seconds]", with: value[:seconds])
132
+ page.should have_select("#{field_name(field_type)}[am_pm]", selected: value[:am_pm])
133
+ when :file
134
+ page.should have_selector('.existing-filename', text: value.split('/').last)
135
+ when :address
136
+ page.should have_field("#{field_name(field_type)}[street]", with: value[:street])
137
+ page.should have_field("#{field_name(field_type)}[city]", with: value[:city])
138
+ page.should have_field("#{field_name(field_type)}[state]", with: value[:state])
139
+ page.should have_field("#{field_name(field_type)}[zipcode]", with: value[:zipcode])
140
+ page.should have_select("#{field_name(field_type)}[country]", selected: value[:country])
141
+ when :table
142
+ value.each_with_index do |values, i|
143
+ all("textarea").select { |input| input['name']["#{field_name(field_type)}[#{i}]"] }.each_with_index do |input, index|
144
+ input.value.should == values[index]
145
+ end
146
+ end
147
+ else
148
+ page.should have_field(field_name(field_type), with: value)
149
+ end
150
+ end
151
+ end
metadata CHANGED
@@ -1,205 +1,285 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formbuilder-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Becker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-06 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: 4.1.0.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: 4.1.0.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: carrierwave
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: erector-rails4
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: geocoder
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '>='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: pg
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - '>='
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rinku
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
89
  version: '0'
62
90
  type: :runtime
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - '>='
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rmagick
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - '>='
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
103
  version: '0'
76
104
  type: :runtime
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - '>='
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: capybara
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - '>='
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
117
  version: '0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - '>='
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: database_cleaner
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
95
137
  - !ruby/object:Gem::Version
96
138
  version: '0'
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: factory_girl_rails
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
- - - '>='
143
+ - - ">="
102
144
  - !ruby/object:Gem::Version
103
145
  version: '0'
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
- - - '>='
150
+ - - ">="
109
151
  - !ruby/object:Gem::Version
110
152
  version: '0'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: guard-rspec
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
- - - '>='
157
+ - - ">="
116
158
  - !ruby/object:Gem::Version
117
159
  version: '0'
118
160
  type: :development
119
161
  prerelease: false
120
162
  version_requirements: !ruby/object:Gem::Requirement
121
163
  requirements:
122
- - - '>='
164
+ - - ">="
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0'
125
167
  - !ruby/object:Gem::Dependency
126
168
  name: launchy
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
- - - '>='
171
+ - - ">="
130
172
  - !ruby/object:Gem::Version
131
173
  version: '0'
132
174
  type: :development
133
175
  prerelease: false
134
176
  version_requirements: !ruby/object:Gem::Requirement
135
177
  requirements:
136
- - - '>='
178
+ - - ">="
137
179
  - !ruby/object:Gem::Version
138
180
  version: '0'
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: rspec-rails
141
183
  requirement: !ruby/object:Gem::Requirement
142
184
  requirements:
143
- - - '>='
185
+ - - ">="
144
186
  - !ruby/object:Gem::Version
145
187
  version: '0'
146
188
  type: :development
147
189
  prerelease: false
148
190
  version_requirements: !ruby/object:Gem::Requirement
149
191
  requirements:
150
- - - '>='
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: spring
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: spring-commands-rspec
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
151
221
  - !ruby/object:Gem::Version
152
222
  version: '0'
153
223
  - !ruby/object:Gem::Dependency
154
224
  name: terminal-notifier-guard
155
225
  requirement: !ruby/object:Gem::Requirement
156
226
  requirements:
157
- - - '>='
227
+ - - ">="
158
228
  - !ruby/object:Gem::Version
159
229
  version: '0'
160
230
  type: :development
161
231
  prerelease: false
162
232
  version_requirements: !ruby/object:Gem::Requirement
163
233
  requirements:
164
- - - '>='
234
+ - - ">="
165
235
  - !ruby/object:Gem::Version
166
236
  version: '0'
167
237
  - !ruby/object:Gem::Dependency
168
238
  name: thin
169
239
  requirement: !ruby/object:Gem::Requirement
170
240
  requirements:
171
- - - '>='
241
+ - - ">="
172
242
  - !ruby/object:Gem::Version
173
243
  version: '0'
174
244
  type: :development
175
245
  prerelease: false
176
246
  version_requirements: !ruby/object:Gem::Requirement
177
247
  requirements:
178
- - - '>='
248
+ - - ">="
179
249
  - !ruby/object:Gem::Version
180
250
  version: '0'
181
251
  - !ruby/object:Gem::Dependency
182
252
  name: coveralls
183
253
  requirement: !ruby/object:Gem::Requirement
184
254
  requirements:
185
- - - '>='
255
+ - - ">="
186
256
  - !ruby/object:Gem::Version
187
257
  version: '0'
188
258
  type: :development
189
259
  prerelease: false
190
260
  version_requirements: !ruby/object:Gem::Requirement
191
261
  requirements:
192
- - - '>='
262
+ - - ">="
193
263
  - !ruby/object:Gem::Version
194
264
  version: '0'
195
- description: Rails backend for https://github.com/dobtco/formbuilder
265
+ description: This is a Rails Engine for https://github.com/dobtco/formbuilder.
196
266
  email:
197
267
  - adam@dobt.co
198
268
  executables: []
199
269
  extensions: []
200
270
  extra_rdoc_files: []
201
271
  files:
202
- - app/controllers/formbuilder/forms_controller.rb
272
+ - ".gitignore"
273
+ - ".rspec"
274
+ - ".ruby-gemset"
275
+ - ".ruby-version"
276
+ - Gemfile
277
+ - Gemfile.lock
278
+ - Guardfile
279
+ - LICENSE.md
280
+ - README.md
281
+ - Rakefile
282
+ - app/controllers/formbuilder/concerns/forms_controller.rb
203
283
  - app/models/formbuilder/entry_attachment.rb
204
284
  - app/models/formbuilder/form.rb
205
285
  - app/models/formbuilder/response_field.rb
@@ -210,30 +290,114 @@ files:
210
290
  - app/models/formbuilder/response_field_email.rb
211
291
  - app/models/formbuilder/response_field_file.rb
212
292
  - app/models/formbuilder/response_field_number.rb
293
+ - app/models/formbuilder/response_field_page_break.rb
213
294
  - app/models/formbuilder/response_field_paragraph.rb
214
295
  - app/models/formbuilder/response_field_price.rb
215
296
  - app/models/formbuilder/response_field_radio.rb
216
297
  - app/models/formbuilder/response_field_section_break.rb
298
+ - app/models/formbuilder/response_field_table.rb
217
299
  - app/models/formbuilder/response_field_text.rb
218
300
  - app/models/formbuilder/response_field_time.rb
219
301
  - app/models/formbuilder/response_field_website.rb
220
302
  - app/uploaders/formbuilder/entry_attachment_uploader.rb
303
+ - bin/rails
304
+ - circle.yml
305
+ - config/spring.rb
221
306
  - db/migrate/20130924185726_create_formbuilder_forms.rb
222
307
  - db/migrate/20130924185814_create_formbuilder_response_fields.rb
223
308
  - db/migrate/20130924185815_create_formbuilder_entry_attachments.rb
309
+ - formbuilder-rb.gemspec
310
+ - formbuilder-rb.sublime-project
311
+ - lib/formbuilder.rb
224
312
  - lib/formbuilder/engine.rb
225
313
  - lib/formbuilder/entry.rb
226
- - lib/formbuilder/entry_renderer.rb
227
- - lib/formbuilder/entry_table_renderer.rb
228
314
  - lib/formbuilder/entry_validator.rb
229
- - lib/formbuilder/form_renderer.rb
230
315
  - lib/formbuilder/version.rb
231
- - lib/formbuilder.rb
316
+ - lib/formbuilder/views/entry_dl.rb
317
+ - lib/formbuilder/views/form.rb
318
+ - lib/formbuilder/views/form_field.rb
232
319
  - lib/tasks/formbuilder_tasks.rake
233
- - MIT-LICENSE
234
- - Rakefile
320
+ - spec/controllers/formbuilder/forms_controller_spec.rb
321
+ - spec/dummy/.ruby-gemset
322
+ - spec/dummy/.ruby-version
323
+ - spec/dummy/README.rdoc
324
+ - spec/dummy/Rakefile
325
+ - spec/dummy/app/assets/images/.keep
326
+ - spec/dummy/app/assets/javascripts/application.js
327
+ - spec/dummy/app/assets/stylesheets/application.css
328
+ - spec/dummy/app/controllers/application_controller.rb
329
+ - spec/dummy/app/controllers/forms_controller.rb
330
+ - spec/dummy/app/controllers/test_controller.rb
331
+ - spec/dummy/app/helpers/application_helper.rb
332
+ - spec/dummy/app/mailers/.keep
333
+ - spec/dummy/app/models/concerns/.keep
334
+ - spec/dummy/app/models/entry.rb
335
+ - spec/dummy/app/models/entry_with_alternate_column_name.rb
336
+ - spec/dummy/app/views/layouts/application.html.erb
337
+ - spec/dummy/app/views/test/_form.rb
338
+ - spec/dummy/app/views/test/render_entry.html.erb
339
+ - spec/dummy/app/views/test/show_form.html.erb
340
+ - spec/dummy/bin/bundle
341
+ - spec/dummy/bin/rails
342
+ - spec/dummy/bin/rake
343
+ - spec/dummy/config.ru
344
+ - spec/dummy/config/application.rb
345
+ - spec/dummy/config/boot.rb
346
+ - spec/dummy/config/database.yml.ci
347
+ - spec/dummy/config/database.yml.example
348
+ - spec/dummy/config/environment.rb
349
+ - spec/dummy/config/environments/development.rb
350
+ - spec/dummy/config/environments/production.rb
351
+ - spec/dummy/config/environments/test.rb
352
+ - spec/dummy/config/initializers/backtrace_silencers.rb
353
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
354
+ - spec/dummy/config/initializers/inflections.rb
355
+ - spec/dummy/config/initializers/mime_types.rb
356
+ - spec/dummy/config/initializers/secret_token.rb
357
+ - spec/dummy/config/initializers/session_store.rb
358
+ - spec/dummy/config/initializers/wrap_parameters.rb
359
+ - spec/dummy/config/locales/en.yml
360
+ - spec/dummy/config/routes.rb
361
+ - spec/dummy/db/migrate/20130924182939_create_entries.rb
362
+ - spec/dummy/db/migrate/20130924192151_create_formbuilder_forms.formbuilder.rb
363
+ - spec/dummy/db/migrate/20130924192152_create_formbuilder_response_fields.formbuilder.rb
364
+ - spec/dummy/db/migrate/20130926205845_create_formbuilder_entry_attachments.formbuilder.rb
365
+ - spec/dummy/db/migrate/20140128000000_create_entry_with_alternate_column_names.rb
366
+ - spec/dummy/db/schema.rb
367
+ - spec/dummy/lib/assets/.keep
368
+ - spec/dummy/log/.keep
369
+ - spec/dummy/public/404.html
370
+ - spec/dummy/public/422.html
371
+ - spec/dummy/public/500.html
372
+ - spec/dummy/public/favicon.ico
373
+ - spec/dummy/test/fixtures/entries.yml
374
+ - spec/dummy/test/fixtures/response_fields.yml
375
+ - spec/dummy/test/models/entry_test.rb
376
+ - spec/dummy/test/models/response_field_test.rb
377
+ - spec/factories/formbuilder_forms.rb
378
+ - spec/features/form_renderer_spec.rb
379
+ - spec/features/submitting_an_entry_spec.rb
380
+ - spec/fixtures/test_files/text.txt
381
+ - spec/fixtures/test_files/text2.txt
382
+ - spec/lib/formbuilder/entry_spec.rb
383
+ - spec/lib/formbuilder/entry_validator_spec.rb
384
+ - spec/lib/formbuilder/entry_with_alternate_column_name_spec.rb
385
+ - spec/lib/formbuilder/views/entry_dl_spec.rb
386
+ - spec/models/formbuilder/entry_attachment_spec.rb
387
+ - spec/models/formbuilder/form_spec.rb
388
+ - spec/models/formbuilder/response_field_address_spec.rb
389
+ - spec/models/formbuilder/response_field_checkboxes_spec.rb
390
+ - spec/models/formbuilder/response_field_file_spec.rb
391
+ - spec/models/formbuilder/response_field_paragraph_spec.rb
392
+ - spec/models/formbuilder/response_field_radio_spec.rb
393
+ - spec/models/formbuilder/response_field_spec.rb
394
+ - spec/models/formbuilder/response_field_table_spec.rb
395
+ - spec/spec_helper.rb
396
+ - spec/support/database_cleaner.rb
397
+ - spec/support/submitting_an_entry_spec_helper.rb
235
398
  homepage: https://github.com/dobtco/formbuilder-rb
236
- licenses: []
399
+ licenses:
400
+ - MIT
237
401
  metadata: {}
238
402
  post_install_message:
239
403
  rdoc_options: []
@@ -241,18 +405,96 @@ require_paths:
241
405
  - lib
242
406
  required_ruby_version: !ruby/object:Gem::Requirement
243
407
  requirements:
244
- - - '>='
408
+ - - ">="
245
409
  - !ruby/object:Gem::Version
246
410
  version: '0'
247
411
  required_rubygems_version: !ruby/object:Gem::Requirement
248
412
  requirements:
249
- - - '>='
413
+ - - ">="
250
414
  - !ruby/object:Gem::Version
251
415
  version: '0'
252
416
  requirements: []
253
417
  rubyforge_project:
254
- rubygems_version: 2.1.11
418
+ rubygems_version: 2.2.2
255
419
  signing_key:
256
420
  specification_version: 4
257
- summary: Rails backend for https://github.com/dobtco/formbuilder
258
- test_files: []
421
+ summary: Build and save custom forms.
422
+ test_files:
423
+ - spec/controllers/formbuilder/forms_controller_spec.rb
424
+ - spec/dummy/.ruby-gemset
425
+ - spec/dummy/.ruby-version
426
+ - spec/dummy/README.rdoc
427
+ - spec/dummy/Rakefile
428
+ - spec/dummy/app/assets/images/.keep
429
+ - spec/dummy/app/assets/javascripts/application.js
430
+ - spec/dummy/app/assets/stylesheets/application.css
431
+ - spec/dummy/app/controllers/application_controller.rb
432
+ - spec/dummy/app/controllers/forms_controller.rb
433
+ - spec/dummy/app/controllers/test_controller.rb
434
+ - spec/dummy/app/helpers/application_helper.rb
435
+ - spec/dummy/app/mailers/.keep
436
+ - spec/dummy/app/models/concerns/.keep
437
+ - spec/dummy/app/models/entry.rb
438
+ - spec/dummy/app/models/entry_with_alternate_column_name.rb
439
+ - spec/dummy/app/views/layouts/application.html.erb
440
+ - spec/dummy/app/views/test/_form.rb
441
+ - spec/dummy/app/views/test/render_entry.html.erb
442
+ - spec/dummy/app/views/test/show_form.html.erb
443
+ - spec/dummy/bin/bundle
444
+ - spec/dummy/bin/rails
445
+ - spec/dummy/bin/rake
446
+ - spec/dummy/config.ru
447
+ - spec/dummy/config/application.rb
448
+ - spec/dummy/config/boot.rb
449
+ - spec/dummy/config/database.yml.ci
450
+ - spec/dummy/config/database.yml.example
451
+ - spec/dummy/config/environment.rb
452
+ - spec/dummy/config/environments/development.rb
453
+ - spec/dummy/config/environments/production.rb
454
+ - spec/dummy/config/environments/test.rb
455
+ - spec/dummy/config/initializers/backtrace_silencers.rb
456
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
457
+ - spec/dummy/config/initializers/inflections.rb
458
+ - spec/dummy/config/initializers/mime_types.rb
459
+ - spec/dummy/config/initializers/secret_token.rb
460
+ - spec/dummy/config/initializers/session_store.rb
461
+ - spec/dummy/config/initializers/wrap_parameters.rb
462
+ - spec/dummy/config/locales/en.yml
463
+ - spec/dummy/config/routes.rb
464
+ - spec/dummy/db/migrate/20130924182939_create_entries.rb
465
+ - spec/dummy/db/migrate/20130924192151_create_formbuilder_forms.formbuilder.rb
466
+ - spec/dummy/db/migrate/20130924192152_create_formbuilder_response_fields.formbuilder.rb
467
+ - spec/dummy/db/migrate/20130926205845_create_formbuilder_entry_attachments.formbuilder.rb
468
+ - spec/dummy/db/migrate/20140128000000_create_entry_with_alternate_column_names.rb
469
+ - spec/dummy/db/schema.rb
470
+ - spec/dummy/lib/assets/.keep
471
+ - spec/dummy/log/.keep
472
+ - spec/dummy/public/404.html
473
+ - spec/dummy/public/422.html
474
+ - spec/dummy/public/500.html
475
+ - spec/dummy/public/favicon.ico
476
+ - spec/dummy/test/fixtures/entries.yml
477
+ - spec/dummy/test/fixtures/response_fields.yml
478
+ - spec/dummy/test/models/entry_test.rb
479
+ - spec/dummy/test/models/response_field_test.rb
480
+ - spec/factories/formbuilder_forms.rb
481
+ - spec/features/form_renderer_spec.rb
482
+ - spec/features/submitting_an_entry_spec.rb
483
+ - spec/fixtures/test_files/text.txt
484
+ - spec/fixtures/test_files/text2.txt
485
+ - spec/lib/formbuilder/entry_spec.rb
486
+ - spec/lib/formbuilder/entry_validator_spec.rb
487
+ - spec/lib/formbuilder/entry_with_alternate_column_name_spec.rb
488
+ - spec/lib/formbuilder/views/entry_dl_spec.rb
489
+ - spec/models/formbuilder/entry_attachment_spec.rb
490
+ - spec/models/formbuilder/form_spec.rb
491
+ - spec/models/formbuilder/response_field_address_spec.rb
492
+ - spec/models/formbuilder/response_field_checkboxes_spec.rb
493
+ - spec/models/formbuilder/response_field_file_spec.rb
494
+ - spec/models/formbuilder/response_field_paragraph_spec.rb
495
+ - spec/models/formbuilder/response_field_radio_spec.rb
496
+ - spec/models/formbuilder/response_field_spec.rb
497
+ - spec/models/formbuilder/response_field_table_spec.rb
498
+ - spec/spec_helper.rb
499
+ - spec/support/database_cleaner.rb
500
+ - spec/support/submitting_an_entry_spec_helper.rb