mvpkit 0.8.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 (150) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +30 -0
  3. data/Gemfile.lock +329 -0
  4. data/LICENSE.txt +20 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.md +134 -0
  7. data/Rakefile +52 -0
  8. data/VERSION +1 -0
  9. data/app/assets/javascripts/mvp/application.js +1 -0
  10. data/app/assets/stylesheets/mvp/application.scss +0 -0
  11. data/app/controllers/concerns/mvp/analytics_concern.rb +78 -0
  12. data/app/controllers/concerns/mvp/seo_concern.rb +25 -0
  13. data/app/controllers/concerns/mvp/session_concern.rb +44 -0
  14. data/app/controllers/mvp/analytics_controller.rb +12 -0
  15. data/app/controllers/mvp/seo_controller.rb +11 -0
  16. data/app/controllers/mvp/styleguide_controller.rb +23 -0
  17. data/app/helpers/minimum_viable_product/body_helper.rb +14 -0
  18. data/app/helpers/minimum_viable_product/bootstrap_helper.rb +38 -0
  19. data/app/helpers/minimum_viable_product/styleguide_helper.rb +4 -0
  20. data/app/models/concerns/mvp/slugification.rb +24 -0
  21. data/app/views/layouts/minimum_viable_product/_instrumentation.html.erb +100 -0
  22. data/app/views/layouts/minimum_viable_product/_meta.html.erb +37 -0
  23. data/app/views/layouts/minimum_viable_product/application.html.erb +19 -0
  24. data/app/views/minimum_viable_product/styleguide/_example.html.erb +6 -0
  25. data/app/views/minimum_viable_product/styleguide/bootstrap/_buttons.html.erb +191 -0
  26. data/app/views/minimum_viable_product/styleguide/bootstrap/_forms.html.erb +192 -0
  27. data/app/views/minimum_viable_product/styleguide/bootstrap/_header.html.erb +48 -0
  28. data/app/views/minimum_viable_product/styleguide/bootstrap/_panels.html.erb +16 -0
  29. data/app/views/minimum_viable_product/styleguide/bootstrap/_tables.html.erb +34 -0
  30. data/app/views/minimum_viable_product/styleguide/bootstrap/_typography.html.erb +51 -0
  31. data/app/views/minimum_viable_product/styleguide/bootstrap.html.erb +43 -0
  32. data/app/views/minimum_viable_product/styleguide/elements/_grouping.html.erb +1 -0
  33. data/app/views/minimum_viable_product/styleguide/elements/partials/_row_groups_of.html.erb +7 -0
  34. data/app/views/minimum_viable_product/styleguide/index.html.erb +17 -0
  35. data/app/views/minimum_viable_product/styleguide/layouts/basic.html.erb +4 -0
  36. data/app/views/minimum_viable_product/styleguide/layouts/carousel.html.erb +120 -0
  37. data/app/views/minimum_viable_product/styleguide/layouts/cover.html.erb +34 -0
  38. data/assets/js/application.js +31 -0
  39. data/assets/js/init/controllers.js +26 -0
  40. data/assets/js/init/forms.js +12 -0
  41. data/bin/mvp +78 -0
  42. data/bin/rails +12 -0
  43. data/config/initializers/assets.rb +2 -0
  44. data/config/initializers/canonical_host.rb +3 -0
  45. data/config/initializers/cloudinary.rb +7 -0
  46. data/config/initializers/geocoder.rb +9 -0
  47. data/config/initializers/iteration.rb +33 -0
  48. data/config/initializers/project.rb +1 -0
  49. data/config/initializers/rollbar.rb +59 -0
  50. data/config/initializers/routing.rb +7 -0
  51. data/config/initializers/spoof_ip.rb +33 -0
  52. data/config/initializers/ssl.rb +14 -0
  53. data/config/routes.rb +6 -0
  54. data/lib/mvp/engine.rb +22 -0
  55. data/lib/mvp/ext/nil.rb +5 -0
  56. data/lib/mvp/ext/string.rb +7 -0
  57. data/lib/mvpkit.rb +6 -0
  58. data/lib/tasks/sitemap.rake +42 -0
  59. data/mvpkit.gemspec +245 -0
  60. data/package.json +43 -0
  61. data/project/.gitignore +45 -0
  62. data/project/Gemfile +33 -0
  63. data/project/Gemfile.lock +437 -0
  64. data/project/Procfile +2 -0
  65. data/project/README.md +117 -0
  66. data/project/Rakefile +14 -0
  67. data/project/app/controllers/application_controller.rb +12 -0
  68. data/project/app/controllers/conversions_controller.rb +24 -0
  69. data/project/app/controllers/examples_controller.rb +2 -0
  70. data/project/app/controllers/home_controller.rb +7 -0
  71. data/project/app/decorators/.keep +0 -0
  72. data/project/app/helpers/application_helper.rb +24 -0
  73. data/project/app/mailers/.keep +0 -0
  74. data/project/app/models/conversion.rb +4 -0
  75. data/project/app/views/examples/index.html.erb +1 -0
  76. data/project/app/views/examples/mustache/template.mustache +1 -0
  77. data/project/app/views/examples/mustache.html.erb +18 -0
  78. data/project/app/views/home/conversion.html.erb +12 -0
  79. data/project/app/views/home/index.html.erb +28 -0
  80. data/project/app/views/layouts/_header.html.erb +16 -0
  81. data/project/app/views/layouts/_includes.html.erb +7 -0
  82. data/project/app/views/layouts/application.html.erb +17 -0
  83. data/project/app/views/layouts/modal.html.erb +14 -0
  84. data/project/assets/images/.keep +0 -0
  85. data/project/assets/images/favicon.ico +0 -0
  86. data/project/assets/javascripts/controllers/home.coffee +15 -0
  87. data/project/assets/javascripts/pack.js +9 -0
  88. data/project/assets/stylesheets/config/variables.scss +876 -0
  89. data/project/assets/stylesheets/layout/basic.scss +6 -0
  90. data/project/assets/stylesheets/layout/carousel.scss +127 -0
  91. data/project/assets/stylesheets/layout/cover.scss +129 -0
  92. data/project/assets/stylesheets/lib/spacing.scss +55 -0
  93. data/project/assets/stylesheets/skin/style.scss +16 -0
  94. data/project/assets/stylesheets/style.scss +8 -0
  95. data/project/bin/bundle +3 -0
  96. data/project/bin/rails +9 -0
  97. data/project/bin/rake +9 -0
  98. data/project/bin/setup +32 -0
  99. data/project/bin/spring +15 -0
  100. data/project/config/application.rb +32 -0
  101. data/project/config/boot.rb +3 -0
  102. data/project/config/database.yml +19 -0
  103. data/project/config/environment.rb +5 -0
  104. data/project/config/environments/development.rb +67 -0
  105. data/project/config/environments/production.rb +93 -0
  106. data/project/config/environments/test.rb +42 -0
  107. data/project/config/initializers/assets.rb +11 -0
  108. data/project/config/initializers/backtrace_silencers.rb +7 -0
  109. data/project/config/initializers/cookies_serializer.rb +3 -0
  110. data/project/config/initializers/filter_parameter_logging.rb +4 -0
  111. data/project/config/initializers/inflections.rb +16 -0
  112. data/project/config/initializers/mime_types.rb +4 -0
  113. data/project/config/initializers/mustache.rb +7 -0
  114. data/project/config/initializers/rails_admin.rb +43 -0
  115. data/project/config/initializers/session_store.rb +3 -0
  116. data/project/config/initializers/simple_form.rb +177 -0
  117. data/project/config/initializers/wrap_parameters.rb +14 -0
  118. data/project/config/locales/en.yml +23 -0
  119. data/project/config/locales/simple_form.en.yml +31 -0
  120. data/project/config/routes.rb +13 -0
  121. data/project/config/secrets.yml +8 -0
  122. data/project/config/sitemap.rb +28 -0
  123. data/project/config.ru +4 -0
  124. data/project/db/migrate/20160728235100_create_conversions.rb +9 -0
  125. data/project/db/schema.rb +25 -0
  126. data/project/db/seeds.rb +7 -0
  127. data/project/lib/assets/.keep +0 -0
  128. data/project/lib/tasks/heroku.rake +70 -0
  129. data/project/log/.keep +0 -0
  130. data/project/log/development.log +48216 -0
  131. data/project/log/production.log +0 -0
  132. data/project/package.json +44 -0
  133. data/project/public/404.html +67 -0
  134. data/project/public/422.html +67 -0
  135. data/project/public/500.html +66 -0
  136. data/project/public/assets/javascripts/448c34a56d699c29117adc64c43affeb.woff2 +0 -0
  137. data/project/public/assets/javascripts/89889688147bd7575d6327160d64e760.svg +288 -0
  138. data/project/public/assets/javascripts/e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
  139. data/project/public/assets/javascripts/f4769f9bdb7466be65088239c12046d1.eot +0 -0
  140. data/project/public/assets/javascripts/fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
  141. data/project/public/assets/javascripts/pack.js +31367 -0
  142. data/project/public/assets/javascripts/pack.js.map +1 -0
  143. data/project/public/assets/pack.js +17220 -0
  144. data/project/public/assets/style.css +7477 -0
  145. data/project/vendor/assets/javascripts/.keep +0 -0
  146. data/project/vendor/assets/stylesheets/.keep +0 -0
  147. data/project/webpack.config.js +67 -0
  148. data/test/helper.rb +34 -0
  149. data/test/test_minimum_viable_product.rb +7 -0
  150. metadata +473 -0
@@ -0,0 +1,45 @@
1
+ *.rbc
2
+ capybara-*.html
3
+ .rspec
4
+ /log
5
+ /tmp
6
+ /db/*.sqlite3
7
+ /db/*.sqlite3-journal
8
+ /public/system
9
+ /coverage/
10
+ /spec/tmp
11
+ **.orig
12
+ rerun.txt
13
+ pickle-email-*.html
14
+ /node_modules
15
+
16
+ # TODO Comment out this rule if you are OK with secrets being uploaded to the repo
17
+ config/initializers/secret_token.rb
18
+
19
+ # Only include if you have production secrets in this file, which is no longer a Rails default
20
+ # config/secrets.yml
21
+
22
+ # dotenv
23
+ # TODO Comment out this rule if environment variables can be committed
24
+ .env
25
+
26
+ ## Environment normalization:
27
+ /.bundle
28
+ /vendor/bundle
29
+
30
+ # these should all be checked in to normalize the environment:
31
+ # Gemfile.lock, .ruby-version, .ruby-gemset
32
+
33
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
34
+ .rvmrc
35
+
36
+ # if using bower-rails ignore default bower_components path bower.json files
37
+ /vendor/assets/bower_components
38
+ *.bowerrc
39
+ bower.json
40
+
41
+ # Ignore pow environment settings
42
+ .powenv
43
+
44
+ # Ignore Byebug command history file.
45
+ .byebug_history
data/project/Gemfile ADDED
@@ -0,0 +1,33 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'client_side_validations'
4
+ gem 'client_side_validations-simple_form'
5
+ gem "dotenv-rails"
6
+ gem "draper"
7
+ gem 'minimum_viable_product'#, path: '../minimum_viable_product'
8
+ gem 'pg'
9
+ # gem 'puma'
10
+ gem 'rails', '4.2.3'
11
+ gem "rails_admin"
12
+ gem 'smt_rails', git: 'git://github.com/railsware/smt_rails.git'
13
+ gem 'turbolinks'
14
+ gem 'uglifier', '>= 1.3.0'
15
+
16
+ gem 'sdoc', '~> 0.4.0', group: :doc
17
+
18
+ # Use ActiveModel has_secure_password
19
+ # gem 'bcrypt', '~> 3.1.7'
20
+
21
+ group :development, :test do
22
+ gem 'byebug'
23
+ gem 'better_errors'
24
+ gem 'binding_of_caller'
25
+ gem 'bullet'
26
+ gem "semantic"
27
+
28
+ # Access an IRB console on exception pages or by using <%= console %> in views
29
+ gem 'web-console', '~> 2.0'
30
+
31
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
32
+ gem 'spring'
33
+ end
@@ -0,0 +1,437 @@
1
+ GIT
2
+ remote: git://github.com/railsware/smt_rails.git
3
+ revision: 74839fa66118b1d0d2b910f504ff267d34ad324a
4
+ specs:
5
+ smt_rails (0.2.9)
6
+ mustache (>= 0.99.4)
7
+ rails (>= 3.1.0)
8
+ sprockets (>= 2.0.3)
9
+ tilt (>= 1.3.3)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ CFPropertyList (2.3.4)
15
+ actionmailer (4.2.3)
16
+ actionpack (= 4.2.3)
17
+ actionview (= 4.2.3)
18
+ activejob (= 4.2.3)
19
+ mail (~> 2.5, >= 2.5.4)
20
+ rails-dom-testing (~> 1.0, >= 1.0.5)
21
+ actionpack (4.2.3)
22
+ actionview (= 4.2.3)
23
+ activesupport (= 4.2.3)
24
+ rack (~> 1.6)
25
+ rack-test (~> 0.6.2)
26
+ rails-dom-testing (~> 1.0, >= 1.0.5)
27
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
28
+ actionview (4.2.3)
29
+ activesupport (= 4.2.3)
30
+ builder (~> 3.1)
31
+ erubis (~> 2.7.0)
32
+ rails-dom-testing (~> 1.0, >= 1.0.5)
33
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
34
+ activejob (4.2.3)
35
+ activesupport (= 4.2.3)
36
+ globalid (>= 0.3.0)
37
+ activemodel (4.2.3)
38
+ activesupport (= 4.2.3)
39
+ builder (~> 3.1)
40
+ activerecord (4.2.3)
41
+ activemodel (= 4.2.3)
42
+ activesupport (= 4.2.3)
43
+ arel (~> 6.0)
44
+ activesupport (4.2.3)
45
+ i18n (~> 0.7)
46
+ json (~> 1.7, >= 1.7.7)
47
+ minitest (~> 5.1)
48
+ thread_safe (~> 0.3, >= 0.3.4)
49
+ tzinfo (~> 1.1)
50
+ addressable (2.5.0)
51
+ public_suffix (~> 2.0, >= 2.0.2)
52
+ analytics-ruby (2.2.2)
53
+ commander (~> 4.4)
54
+ arel (6.0.3)
55
+ aws_cf_signer (0.1.3)
56
+ better_errors (2.1.1)
57
+ coderay (>= 1.0.0)
58
+ erubis (>= 2.6.6)
59
+ rack (>= 0.9.0)
60
+ binding_of_caller (0.7.2)
61
+ debug_inspector (>= 0.0.1)
62
+ builder (3.2.2)
63
+ bullet (5.0.0)
64
+ activesupport (>= 3.0.0)
65
+ uniform_notifier (~> 1.9.0)
66
+ byebug (9.0.5)
67
+ carrierwave (0.11.2)
68
+ activemodel (>= 3.2.0)
69
+ activesupport (>= 3.2.0)
70
+ json (>= 1.7)
71
+ mime-types (>= 1.16)
72
+ mimemagic (>= 0.3.0)
73
+ client_side_validations (4.2.5)
74
+ jquery-rails (>= 3.1.2, < 5.0.0)
75
+ js_regex (~> 1.0, >= 1.0.9)
76
+ rails (>= 4.0.0, < 4.3.0)
77
+ client_side_validations-simple_form (3.2.4)
78
+ client_side_validations (~> 4.2.3)
79
+ simple_form (~> 3.2)
80
+ cloudinary (1.2.4)
81
+ aws_cf_signer
82
+ rest-client
83
+ coderay (1.1.1)
84
+ coffee-rails (4.1.1)
85
+ coffee-script (>= 2.2.0)
86
+ railties (>= 4.0.0, < 5.1.x)
87
+ coffee-script (2.4.1)
88
+ coffee-script-source
89
+ execjs
90
+ coffee-script-source (1.10.0)
91
+ commander (4.4.1)
92
+ highline (~> 1.7.2)
93
+ concurrent-ruby (1.0.2)
94
+ debug_inspector (0.0.2)
95
+ domain_name (0.5.20161129)
96
+ unf (>= 0.0.5, < 1.0.0)
97
+ dotenv (2.1.1)
98
+ dotenv-rails (2.1.1)
99
+ dotenv (= 2.1.1)
100
+ railties (>= 4.0, < 5.1)
101
+ draper (2.1.0)
102
+ actionpack (>= 3.0)
103
+ activemodel (>= 3.0)
104
+ activesupport (>= 3.0)
105
+ request_store (~> 1.0)
106
+ erubis (2.7.0)
107
+ excon (0.54.0)
108
+ execjs (2.7.0)
109
+ faraday (0.10.0)
110
+ multipart-post (>= 1.2, < 3)
111
+ fission (0.5.0)
112
+ CFPropertyList (~> 2.2)
113
+ fog (1.38.0)
114
+ fog-aliyun (>= 0.1.0)
115
+ fog-atmos
116
+ fog-aws (>= 0.6.0)
117
+ fog-brightbox (~> 0.4)
118
+ fog-cloudatcost (~> 0.1.0)
119
+ fog-core (~> 1.32)
120
+ fog-dynect (~> 0.0.2)
121
+ fog-ecloud (~> 0.1)
122
+ fog-google (<= 0.1.0)
123
+ fog-json
124
+ fog-local
125
+ fog-openstack
126
+ fog-powerdns (>= 0.1.1)
127
+ fog-profitbricks
128
+ fog-rackspace
129
+ fog-radosgw (>= 0.0.2)
130
+ fog-riakcs
131
+ fog-sakuracloud (>= 0.0.4)
132
+ fog-serverlove
133
+ fog-softlayer
134
+ fog-storm_on_demand
135
+ fog-terremark
136
+ fog-vmfusion
137
+ fog-voxel
138
+ fog-vsphere (>= 0.4.0)
139
+ fog-xenserver
140
+ fog-xml (~> 0.1.1)
141
+ ipaddress (~> 0.5)
142
+ fog-aliyun (0.1.0)
143
+ fog-core (~> 1.27)
144
+ fog-json (~> 1.0)
145
+ ipaddress (~> 0.8)
146
+ xml-simple (~> 1.1)
147
+ fog-atmos (0.1.0)
148
+ fog-core
149
+ fog-xml
150
+ fog-aws (0.13.0)
151
+ fog-core (~> 1.38)
152
+ fog-json (~> 1.0)
153
+ fog-xml (~> 0.1)
154
+ ipaddress (~> 0.8)
155
+ fog-brightbox (0.11.0)
156
+ fog-core (~> 1.22)
157
+ fog-json
158
+ inflecto (~> 0.0.2)
159
+ fog-cloudatcost (0.1.2)
160
+ fog-core (~> 1.36)
161
+ fog-json (~> 1.0)
162
+ fog-xml (~> 0.1)
163
+ ipaddress (~> 0.8)
164
+ fog-core (1.43.0)
165
+ builder
166
+ excon (~> 0.49)
167
+ formatador (~> 0.2)
168
+ fog-dynect (0.0.3)
169
+ fog-core
170
+ fog-json
171
+ fog-xml
172
+ fog-ecloud (0.3.0)
173
+ fog-core
174
+ fog-xml
175
+ fog-google (0.1.0)
176
+ fog-core
177
+ fog-json
178
+ fog-xml
179
+ fog-json (1.0.2)
180
+ fog-core (~> 1.0)
181
+ multi_json (~> 1.10)
182
+ fog-local (0.3.1)
183
+ fog-core (~> 1.27)
184
+ fog-openstack (0.1.18)
185
+ fog-core (>= 1.40)
186
+ fog-json (>= 1.0)
187
+ ipaddress (>= 0.8)
188
+ fog-powerdns (0.1.1)
189
+ fog-core (~> 1.27)
190
+ fog-json (~> 1.0)
191
+ fog-xml (~> 0.1)
192
+ fog-profitbricks (3.0.0)
193
+ fog-core (~> 1.42)
194
+ fog-json (~> 1.0)
195
+ fog-rackspace (0.1.2)
196
+ fog-core (>= 1.35)
197
+ fog-json (>= 1.0)
198
+ fog-xml (>= 0.1)
199
+ ipaddress (>= 0.8)
200
+ fog-radosgw (0.0.5)
201
+ fog-core (>= 1.21.0)
202
+ fog-json
203
+ fog-xml (>= 0.0.1)
204
+ fog-riakcs (0.1.0)
205
+ fog-core
206
+ fog-json
207
+ fog-xml
208
+ fog-sakuracloud (1.7.5)
209
+ fog-core
210
+ fog-json
211
+ fog-serverlove (0.1.2)
212
+ fog-core
213
+ fog-json
214
+ fog-softlayer (1.1.4)
215
+ fog-core
216
+ fog-json
217
+ fog-storm_on_demand (0.1.1)
218
+ fog-core
219
+ fog-json
220
+ fog-terremark (0.1.0)
221
+ fog-core
222
+ fog-xml
223
+ fog-vmfusion (0.1.0)
224
+ fission
225
+ fog-core
226
+ fog-voxel (0.1.0)
227
+ fog-core
228
+ fog-xml
229
+ fog-vsphere (1.5.2)
230
+ fog-core
231
+ rbvmomi (~> 1.9)
232
+ fog-xenserver (0.2.3)
233
+ fog-core
234
+ fog-xml
235
+ fog-xml (0.1.2)
236
+ fog-core
237
+ nokogiri (~> 1.5, >= 1.5.11)
238
+ font-awesome-rails (4.6.3.1)
239
+ railties (>= 3.2, < 5.1)
240
+ formatador (0.2.5)
241
+ geocoder (1.4.1)
242
+ globalid (0.3.7)
243
+ activesupport (>= 4.1.0)
244
+ haml (4.0.7)
245
+ tilt
246
+ hashie (3.4.6)
247
+ highline (1.7.8)
248
+ http-cookie (1.0.3)
249
+ domain_name (~> 0.5)
250
+ i18n (0.7.0)
251
+ inflecto (0.0.2)
252
+ ipaddress (0.8.3)
253
+ jquery-rails (4.2.1)
254
+ rails-dom-testing (>= 1, < 3)
255
+ railties (>= 4.2.0)
256
+ thor (>= 0.14, < 2.0)
257
+ jquery-ui-rails (5.0.5)
258
+ railties (>= 3.2.16)
259
+ js_regex (1.0.17)
260
+ regexp_parser (= 0.3.6)
261
+ json (1.8.3)
262
+ kaminari (0.17.0)
263
+ actionpack (>= 3.0.0)
264
+ activesupport (>= 3.0.0)
265
+ loofah (2.0.3)
266
+ nokogiri (>= 1.5.9)
267
+ mail (2.6.4)
268
+ mime-types (>= 1.16, < 4)
269
+ mime-types (3.1)
270
+ mime-types-data (~> 3.2015)
271
+ mime-types-data (3.2016.0521)
272
+ mimemagic (0.3.2)
273
+ mini_portile2 (2.1.0)
274
+ minimum_viable_product (0.6.6)
275
+ analytics-ruby
276
+ carrierwave
277
+ cloudinary
278
+ faraday
279
+ fog
280
+ fog-aws
281
+ geocoder
282
+ hashie
283
+ rack-canonical-host
284
+ rack-ssl-enforcer
285
+ rollbar
286
+ sass-rails (~> 5.0)
287
+ sitemap_generator
288
+ slack-notifier
289
+ minitest (5.10.1)
290
+ multi_json (1.12.1)
291
+ multipart-post (2.0.0)
292
+ mustache (1.0.3)
293
+ nested_form (0.3.2)
294
+ netrc (0.11.0)
295
+ nokogiri (1.6.8.1)
296
+ mini_portile2 (~> 2.1.0)
297
+ pg (0.18.4)
298
+ public_suffix (2.0.4)
299
+ rack (1.6.5)
300
+ rack-canonical-host (0.2.2)
301
+ addressable (> 0, < 3)
302
+ rack (>= 1.0.0, < 3)
303
+ rack-pjax (0.8.0)
304
+ nokogiri (~> 1.5)
305
+ rack (~> 1.1)
306
+ rack-ssl-enforcer (0.2.9)
307
+ rack-test (0.6.3)
308
+ rack (>= 1.0)
309
+ rails (4.2.3)
310
+ actionmailer (= 4.2.3)
311
+ actionpack (= 4.2.3)
312
+ actionview (= 4.2.3)
313
+ activejob (= 4.2.3)
314
+ activemodel (= 4.2.3)
315
+ activerecord (= 4.2.3)
316
+ activesupport (= 4.2.3)
317
+ bundler (>= 1.3.0, < 2.0)
318
+ railties (= 4.2.3)
319
+ sprockets-rails
320
+ rails-deprecated_sanitizer (1.0.3)
321
+ activesupport (>= 4.2.0.alpha)
322
+ rails-dom-testing (1.0.7)
323
+ activesupport (>= 4.2.0.beta, < 5.0)
324
+ nokogiri (~> 1.6.0)
325
+ rails-deprecated_sanitizer (>= 1.0.1)
326
+ rails-html-sanitizer (1.0.3)
327
+ loofah (~> 2.0)
328
+ rails_admin (0.8.1)
329
+ builder (~> 3.1)
330
+ coffee-rails (~> 4.0)
331
+ font-awesome-rails (>= 3.0, < 5)
332
+ haml (~> 4.0)
333
+ jquery-rails (>= 3.0, < 5)
334
+ jquery-ui-rails (~> 5.0)
335
+ kaminari (~> 0.14)
336
+ nested_form (~> 0.3)
337
+ rack-pjax (~> 0.7)
338
+ rails (~> 4.0)
339
+ remotipart (~> 1.0)
340
+ safe_yaml (~> 1.0)
341
+ sass-rails (>= 4.0, < 6)
342
+ railties (4.2.3)
343
+ actionpack (= 4.2.3)
344
+ activesupport (= 4.2.3)
345
+ rake (>= 0.8.7)
346
+ thor (>= 0.18.1, < 2.0)
347
+ rake (12.0.0)
348
+ rbvmomi (1.9.4)
349
+ builder (~> 3.2)
350
+ json (>= 1.8)
351
+ nokogiri (~> 1.5)
352
+ trollop (~> 2.1)
353
+ rdoc (4.2.2)
354
+ json (~> 1.4)
355
+ regexp_parser (0.3.6)
356
+ remotipart (1.2.1)
357
+ request_store (1.3.1)
358
+ rest-client (2.0.0)
359
+ http-cookie (>= 1.0.2, < 2.0)
360
+ mime-types (>= 1.16, < 4.0)
361
+ netrc (~> 0.8)
362
+ rollbar (2.13.3)
363
+ multi_json
364
+ safe_yaml (1.0.4)
365
+ sass (3.4.22)
366
+ sass-rails (5.0.6)
367
+ railties (>= 4.0.0, < 6)
368
+ sass (~> 3.1)
369
+ sprockets (>= 2.8, < 4.0)
370
+ sprockets-rails (>= 2.0, < 4.0)
371
+ tilt (>= 1.1, < 3)
372
+ sdoc (0.4.1)
373
+ json (~> 1.7, >= 1.7.7)
374
+ rdoc (~> 4.0)
375
+ semantic (1.4.1)
376
+ simple_form (3.3.1)
377
+ actionpack (> 4, < 5.1)
378
+ activemodel (> 4, < 5.1)
379
+ sitemap_generator (5.2.0)
380
+ builder (~> 3.0)
381
+ slack-notifier (1.5.1)
382
+ spring (1.7.2)
383
+ sprockets (3.7.0)
384
+ concurrent-ruby (~> 1.0)
385
+ rack (> 1, < 3)
386
+ sprockets-rails (3.2.0)
387
+ actionpack (>= 4.0)
388
+ activesupport (>= 4.0)
389
+ sprockets (>= 3.0.0)
390
+ thor (0.19.4)
391
+ thread_safe (0.3.5)
392
+ tilt (2.0.5)
393
+ trollop (2.1.2)
394
+ turbolinks (5.0.0)
395
+ turbolinks-source (~> 5)
396
+ turbolinks-source (5.0.0)
397
+ tzinfo (1.2.2)
398
+ thread_safe (~> 0.1)
399
+ uglifier (3.0.0)
400
+ execjs (>= 0.3.0, < 3)
401
+ unf (0.1.4)
402
+ unf_ext
403
+ unf_ext (0.0.7.2)
404
+ uniform_notifier (1.9.0)
405
+ web-console (2.3.0)
406
+ activemodel (>= 4.0)
407
+ binding_of_caller (>= 0.7.2)
408
+ railties (>= 4.0)
409
+ sprockets-rails (>= 2.0, < 4.0)
410
+ xml-simple (1.1.5)
411
+
412
+ PLATFORMS
413
+ ruby
414
+
415
+ DEPENDENCIES
416
+ better_errors
417
+ binding_of_caller
418
+ bullet
419
+ byebug
420
+ client_side_validations
421
+ client_side_validations-simple_form
422
+ dotenv-rails
423
+ draper
424
+ minimum_viable_product
425
+ pg
426
+ rails (= 4.2.3)
427
+ rails_admin
428
+ sdoc (~> 0.4.0)
429
+ semantic
430
+ smt_rails!
431
+ spring
432
+ turbolinks
433
+ uglifier (>= 1.3.0)
434
+ web-console (~> 2.0)
435
+
436
+ BUNDLED WITH
437
+ 1.12.5
data/project/Procfile ADDED
@@ -0,0 +1,2 @@
1
+ web: bundle exec rails server -p $PORT
2
+ assets: webpack --progress --colors --watch
data/project/README.md ADDED
@@ -0,0 +1,117 @@
1
+ # Installation
2
+
3
+ Install the mvp gem:
4
+
5
+ ```
6
+ gem install minimum_viable_product
7
+ ```
8
+
9
+ Then setup your project:
10
+
11
+ ```
12
+ mvp new PROJECT
13
+ ```
14
+
15
+ # Setup
16
+
17
+ ## `.env`
18
+
19
+ Set your `.env` file up with your own variables
20
+
21
+ ```
22
+ ROLLBAR_CLIENT_ACCESS_TOKEN=
23
+ ROLLBAR_SERVER_ACCESS_TOKEN=
24
+ SEGMENT_WRITE_KEY=
25
+ FACEBOOK_TRACKING_ID=
26
+ CANONICAL_HOST=
27
+ GOOGLE_ANALYTICS_ID=
28
+ HOTJAR_ID=
29
+ AWS_ACCESS_KEY_ID=
30
+ AWS_SECRET_ACCESS_KEY=
31
+ AWS_S3_BUCKET=
32
+ SPOOF_IP=true
33
+ ```
34
+
35
+ ## Heroku
36
+
37
+ To setup deployment for heroku, first create the project:
38
+
39
+ ```
40
+ heroku create PROJECT
41
+ ```
42
+
43
+ You're probably going to want Database backups. This will let you use `rake db:import`
44
+
45
+ ```
46
+ heroku addons:create heroku-postgresql:hobby-dev
47
+ heroku pg:backups capture
48
+ ```
49
+
50
+ You're also going to need to setup the buildpacks
51
+
52
+ ```
53
+ heroku buildpacks:set heroku/ruby
54
+ heroku buildpacks:add --index 1 heroku/nodejs
55
+ ```
56
+
57
+ Add a scheduled task to update your sitemaps: `rake sitemap:create_upload_and_ping`
58
+
59
+ # SEO
60
+
61
+ ## Meta Properties
62
+
63
+ All meta fields are controlled via the `page` object. Set attributes on this in order to get meta properties populated. This is best done at the controller level.
64
+
65
+ ### Available Properties
66
+
67
+ |Property|Description|Inheritance|
68
+ |---|---|---|
69
+ |`page.title`| | |
70
+ |`page.description`| | |
71
+ |`page.author`| | |
72
+ |`page.og_url`| | |
73
+ |`page.og_type`| | |
74
+ |`page.og_title`| |`page.title`|
75
+ |`page.og_description`| |`page.description`|
76
+ |`page.og_image`| | |
77
+ |`page.twitter_card`| | | |
78
+
79
+ ## Sitemaps
80
+
81
+ ### Setup
82
+
83
+ Edit `config/sitemap.rb` with your own custom routes.
84
+
85
+ ### Updating
86
+
87
+ Run `sitemap:refresh` in production to update Bing/Google with changes to the sitemap.
88
+
89
+ Put this in a `cron` task or in Heroku Scheduler.
90
+
91
+ # Helpers
92
+
93
+ ## Geolocation
94
+
95
+ By default, Geolocation of the session will automatically happen.
96
+
97
+ You can access the session's geolocation in `request.location`.
98
+
99
+ To test geolocation locally, set `SPOOF_IP=true` in your `.env`.
100
+
101
+ For more info see [Geocoder](https://github.com/alexreisner/geocoder).
102
+
103
+ ## Bootstrap
104
+
105
+ ### `row_groups_of`
106
+
107
+ Makes a series of row/col `div` elements based in group count.
108
+
109
+ ```
110
+ <% row_groups_of(3, [1,2,3,4,5,6,7,8,9]) do |i| %>
111
+ <div class="panel panel-default">
112
+ <div class="panel-heading">
113
+ <h2 class="text-center"><%= i %></h2>
114
+ </div>
115
+ </div>
116
+ <% end %>
117
+ ```
data/project/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ # HACK @see http://stackoverflow.com/questions/35893584/nomethoderror-undefined-method-last-comment-after-upgrading-to-rake-11
7
+ module TempFixForRakeLastComment
8
+ def last_comment
9
+ last_description
10
+ end
11
+ end
12
+ Rake::Application.send :include, TempFixForRakeLastComment
13
+
14
+ Rails.application.load_tasks
@@ -0,0 +1,12 @@
1
+ class ApplicationController < ActionController::Base
2
+ include MinimumViableProduct::AnalyticsConcern
3
+ include MinimumViableProduct::SEOConcern
4
+ include MinimumViableProduct::SessionConcern
5
+
6
+ helper MVP::BodyHelper
7
+ helper MVP::BootstrapHelper
8
+
9
+ # Prevent CSRF attacks by raising an exception.
10
+ # For APIs, you may want to use :null_session instead.
11
+ protect_from_forgery with: :exception
12
+ end
@@ -0,0 +1,24 @@
1
+ class ConversionsController < ApplicationController
2
+ skip_before_action :verify_authenticity_token
3
+
4
+ def create
5
+ @conversion = Conversion.new(conversion_params)
6
+
7
+ respond_to do |format|
8
+ if @conversion.save
9
+ sign_in(@conversion)
10
+ track! 'Conversion', {email: @conversion.email}
11
+ slack! "Conversion: #{@conversion.email}"
12
+ format.json { render json: @conversion, status: :ok }
13
+ else
14
+ format.json { render json: @conversion.errors, status: :unprocessable_entity }
15
+ end
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ def conversion_params
22
+ params.require(:conversion).permit(:email)
23
+ end
24
+ end
@@ -0,0 +1,2 @@
1
+ class ExamplesController < ApplicationController
2
+ end
@@ -0,0 +1,7 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+
5
+ def conversion
6
+ end
7
+ end
File without changes