mvpkit 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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