mvpkit 0.8.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/bin/mvp +0 -1
- data/mvpkit.gemspec +71 -50
- data/package.json +1 -0
- data/project/.babelrc +3 -0
- data/project/.env +15 -0
- data/project/.gitignore +15 -40
- data/project/.iteration +3 -0
- data/project/Gemfile +43 -19
- data/project/Gemfile.lock +237 -165
- data/project/Procfile +2 -1
- data/project/README.md +0 -1
- data/project/app/assets/config/manifest.js +2 -0
- data/project/app/assets/javascripts/application.js +5 -0
- data/project/app/assets/javascripts/templates.js.erb +14 -0
- data/project/app/assets/stylesheets/application.scss +2 -0
- data/project/app/controllers/application_controller.rb +25 -5
- data/project/app/helpers/application_helper.rb +17 -4
- data/project/app/mailers/application_mailer.rb +5 -0
- data/project/app/templates/README.txt +1 -0
- data/project/app/templates/examples/template.mustache +1 -0
- data/project/app/views/examples/mustache.html.erb +25 -3
- data/project/app/views/layouts/_header.html.erb +22 -14
- data/project/app/views/layouts/_notifications.html.erb +10 -0
- data/project/app/views/layouts/application.html.erb +22 -11
- data/project/app/views/layouts/mailer.html.erb +5 -0
- data/project/app/views/layouts/mailer.text.erb +1 -0
- data/project/app/webpack/javascripts/behaviors/example.js +21 -0
- data/project/app/webpack/javascripts/controllers/home.js +15 -0
- data/project/app/webpack/javascripts/lib/clientsidevalidations.js +3 -0
- data/project/app/webpack/javascripts/lib/selectize.js +1 -0
- data/project/app/webpack/javascripts/pack.js +47 -0
- data/project/app/webpack/stylesheets/config/variables.scss +41 -0
- data/project/app/webpack/stylesheets/init/reset.scss +48 -0
- data/project/app/webpack/stylesheets/layout/main.scss +7 -0
- data/project/app/webpack/stylesheets/pack.scss +20 -0
- data/project/app/webpack/stylesheets/skin/alerts.scss +3 -0
- data/project/app/webpack/stylesheets/skin/buttons.scss +38 -0
- data/project/app/webpack/stylesheets/skin/hero.scss +45 -0
- data/project/app/webpack/stylesheets/skin/images.scss +13 -0
- data/project/app/webpack/stylesheets/skin/progress.scss +3 -0
- data/project/app/webpack/stylesheets/skin/selectize.scss +30 -0
- data/project/{assets/stylesheets/lib → app/webpack/stylesheets/skin}/spacing.scss +0 -2
- data/project/app/webpack/stylesheets/skin/tables.scss +10 -0
- data/project/app/webpack/stylesheets/skin/treatments.scss +3 -0
- data/project/app/webpack/stylesheets/skin/turbolinks.scss +4 -0
- data/project/app/webpack/stylesheets/skin/typography.scss +116 -0
- data/project/bin/rails +1 -6
- data/project/bin/rake +0 -5
- data/project/bin/setup +17 -17
- data/project/bin/update +29 -0
- data/project/config/application.rb +5 -4
- data/project/config/boot.rb +1 -1
- data/project/config/cable.yml +9 -0
- data/project/config/environment.rb +1 -1
- data/project/config/environments/development.rb +29 -26
- data/project/config/environments/production.rb +32 -19
- data/project/config/environments/test.rb +6 -6
- data/project/config/initializers/algolia.rb +7 -0
- data/project/config/initializers/application_controller_renderer.rb +6 -0
- data/project/config/initializers/assets.rb +23 -2
- data/project/config/initializers/client_side_validations.rb +20 -0
- data/project/config/initializers/cookies_serializer.rb +2 -0
- data/project/config/initializers/date_formats.rb +6 -0
- data/project/config/initializers/fingerprint.rb +1 -0
- data/project/config/initializers/geocoder.rb +9 -0
- data/project/config/initializers/new_framework_defaults.rb +23 -0
- data/project/config/initializers/rails_admin.rb +13 -7
- data/project/config/initializers/sidekiq.rb +19 -0
- data/project/config/initializers/simple_form.rb +2 -0
- data/project/config/initializers/stripe.rb +8 -0
- data/project/config/initializers/wrap_parameters.rb +2 -2
- data/project/config/puma.rb +47 -0
- data/project/config/routes.rb +4 -2
- data/project/config/secrets.yml +17 -3
- data/project/config/sidekiq.yml +6 -0
- data/project/config/spring.rb +6 -0
- data/project/config/stripe/coupons.rb +39 -0
- data/project/config/stripe/plans.rb +32 -0
- data/project/lib/tasks/heroku.rake +10 -2
- data/project/lib/tasks/migrations.rake +3 -0
- data/project/package.json +19 -28
- data/project/public/favicon.ico +0 -0
- data/project/webpack.config.js +62 -53
- metadata +70 -49
- data/project/app/decorators/.keep +0 -0
- data/project/app/mailers/.keep +0 -0
- data/project/app/views/layouts/_includes.html.erb +0 -7
- data/project/app/views/layouts/modal.html.erb +0 -14
- data/project/assets/images/.keep +0 -0
- data/project/assets/images/favicon.ico +0 -0
- data/project/assets/javascripts/controllers/home.coffee +0 -15
- data/project/assets/javascripts/pack.js +0 -9
- data/project/assets/stylesheets/config/variables.scss +0 -876
- data/project/assets/stylesheets/layout/basic.scss +0 -6
- data/project/assets/stylesheets/layout/carousel.scss +0 -127
- data/project/assets/stylesheets/layout/cover.scss +0 -129
- data/project/assets/stylesheets/skin/style.scss +0 -16
- data/project/assets/stylesheets/style.scss +0 -8
- data/project/config/initializers/mustache.rb +0 -7
- data/project/log/development.log +0 -48216
- data/project/log/production.log +0 -0
- data/project/public/404.html +0 -67
- data/project/public/422.html +0 -67
- data/project/public/500.html +0 -66
- data/project/public/assets/javascripts/448c34a56d699c29117adc64c43affeb.woff2 +0 -0
- data/project/public/assets/javascripts/89889688147bd7575d6327160d64e760.svg +0 -288
- data/project/public/assets/javascripts/e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
- data/project/public/assets/javascripts/f4769f9bdb7466be65088239c12046d1.eot +0 -0
- data/project/public/assets/javascripts/fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
- data/project/public/assets/javascripts/pack.js +0 -31367
- data/project/public/assets/javascripts/pack.js.map +0 -1
- data/project/public/assets/pack.js +0 -17220
- data/project/public/assets/style.css +0 -7477
- /data/app/views/layouts/{minimum_viable_product → mvp}/_instrumentation.html.erb +0 -0
- /data/app/views/layouts/{minimum_viable_product → mvp}/_meta.html.erb +0 -0
- /data/app/views/layouts/{minimum_viable_product → mvp}/application.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/_example.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_buttons.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_forms.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_header.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_panels.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_tables.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_typography.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/elements/_grouping.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/elements/partials/_row_groups_of.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/index.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/basic.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/carousel.html.erb +0 -0
- /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/cover.html.erb +0 -0
@@ -5,10 +5,10 @@
|
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
7
|
ActiveSupport.on_load(:action_controller) do
|
8
|
-
wrap_parameters format: [:json]
|
8
|
+
wrap_parameters format: [:json]
|
9
9
|
end
|
10
10
|
|
11
11
|
# To enable root element in JSON for ActiveRecord objects.
|
12
12
|
# ActiveSupport.on_load(:active_record) do
|
13
|
-
#
|
13
|
+
# self.include_root_in_json = true
|
14
14
|
# end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Puma can serve each request in a thread from an internal thread pool.
|
2
|
+
# The `threads` method setting takes two numbers a minimum and maximum.
|
3
|
+
# Any libraries that use thread pools should be configured to match
|
4
|
+
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
5
|
+
# and maximum, this matches the default thread size of Active Record.
|
6
|
+
#
|
7
|
+
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
|
8
|
+
threads threads_count, threads_count
|
9
|
+
|
10
|
+
# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
|
11
|
+
#
|
12
|
+
port ENV.fetch("PORT") { 3000 }
|
13
|
+
|
14
|
+
# Specifies the `environment` that Puma will run in.
|
15
|
+
#
|
16
|
+
environment ENV.fetch("RAILS_ENV") { "development" }
|
17
|
+
|
18
|
+
# Specifies the number of `workers` to boot in clustered mode.
|
19
|
+
# Workers are forked webserver processes. If using threads and workers together
|
20
|
+
# the concurrency of the application would be max `threads` * `workers`.
|
21
|
+
# Workers do not work on JRuby or Windows (both of which do not support
|
22
|
+
# processes).
|
23
|
+
#
|
24
|
+
# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
|
25
|
+
|
26
|
+
# Use the `preload_app!` method when specifying a `workers` number.
|
27
|
+
# This directive tells Puma to first boot the application and load code
|
28
|
+
# before forking the application. This takes advantage of Copy On Write
|
29
|
+
# process behavior so workers use less memory. If you use this option
|
30
|
+
# you need to make sure to reconnect any threads in the `on_worker_boot`
|
31
|
+
# block.
|
32
|
+
#
|
33
|
+
# preload_app!
|
34
|
+
|
35
|
+
# The code in the `on_worker_boot` will be called if you are using
|
36
|
+
# clustered mode by specifying a number of `workers`. After each worker
|
37
|
+
# process is booted this block will be run, if you are using `preload_app!`
|
38
|
+
# option you will want to use this block to reconnect to any threads
|
39
|
+
# or connections that may have been created at application boot, Ruby
|
40
|
+
# cannot share connections between processes.
|
41
|
+
#
|
42
|
+
# on_worker_boot do
|
43
|
+
# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
|
44
|
+
# end
|
45
|
+
|
46
|
+
# Allow puma to be restarted by `rails restart` command.
|
47
|
+
plugin :tmp_restart
|
data/project/config/routes.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
require 'sidekiq/web'
|
2
|
+
|
1
3
|
Rails.application.routes.draw do
|
2
|
-
|
3
|
-
mount MVP::Engine
|
4
|
+
mount Sidekiq::Web => '/sidekiq'
|
5
|
+
mount MVP::Engine => "/"
|
4
6
|
|
5
7
|
scope path: '/examples' do
|
6
8
|
get 'mustache', to: 'examples#mustache', as: :mustache_example
|
data/project/config/secrets.yml
CHANGED
@@ -1,8 +1,22 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
|
6
|
+
# Make sure the secret is at least 30 characters and all random,
|
7
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
+
# You can use `rails secret` to generate a secure secret key.
|
9
|
+
|
10
|
+
# Make sure the secrets in this file are kept private
|
11
|
+
# if you're sharing your code publicly.
|
12
|
+
|
1
13
|
development:
|
2
|
-
secret_key_base:
|
14
|
+
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
15
|
+
|
3
16
|
test:
|
4
|
-
secret_key_base: makesuretochangethisifyoucareabouttestenvironmentforsomereason
|
5
|
-
staging:
|
6
17
|
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
18
|
+
|
19
|
+
# Do not keep production secrets in the repository,
|
20
|
+
# instead read values from the environment.
|
7
21
|
production:
|
8
22
|
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# This file contains descriptions of all your statically defined
|
2
|
+
# stripe coupons. You may wish to define unique one-off coupons
|
3
|
+
# elsewhere, but for ones you will use many times, and will be
|
4
|
+
# shared between users, this is a good place.
|
5
|
+
|
6
|
+
# Example
|
7
|
+
# Stripe::Coupons::Gold25 #=> 'gold25'
|
8
|
+
|
9
|
+
# Stripe.coupon :gold25 do |coupon|
|
10
|
+
#
|
11
|
+
# # specify if this coupon is useable 'once', 'forever', or 'repeating
|
12
|
+
# coupon.duration = 'repeating'
|
13
|
+
#
|
14
|
+
# # absolute amount, in cents, to discount
|
15
|
+
# coupon.amount_off = 199
|
16
|
+
#
|
17
|
+
# # what currency to interpret the coupon amount
|
18
|
+
# coupon.currency = 'usd'
|
19
|
+
#
|
20
|
+
# # how long will this coupon last? (only valid for duration of 'repeating')
|
21
|
+
# coupon.duration_in_months = 6
|
22
|
+
#
|
23
|
+
# # percentage off
|
24
|
+
# coupon.percent_off = 25
|
25
|
+
#
|
26
|
+
# UTC timestamp specifying the last time at which the coupon can be redeemed
|
27
|
+
# coupon.reedem_by = (Time.now + 15.days).utc
|
28
|
+
#
|
29
|
+
# # How many times can this coupon be redeemed?
|
30
|
+
# coupon.max_redemptions = 10
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# Once you have your coupons defined, you can run
|
34
|
+
#
|
35
|
+
# rake stripe:prepare
|
36
|
+
#
|
37
|
+
# This will export any new coupons to stripe.com so that you can
|
38
|
+
# begin using them in your API calls. Any coupons found that are not in this
|
39
|
+
# file will be left as-is.
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This file contains descriptions of all your stripe plans
|
2
|
+
|
3
|
+
# Example
|
4
|
+
# Stripe::Plans::PRIMO #=> 'primo'
|
5
|
+
|
6
|
+
# Stripe.plan :primo do |plan|
|
7
|
+
#
|
8
|
+
# # plan name as it will appear on credit card statements
|
9
|
+
# plan.name = 'Acme as a service PRIMO'
|
10
|
+
#
|
11
|
+
# # amount in cents. This is 6.99
|
12
|
+
# plan.amount = 699
|
13
|
+
#
|
14
|
+
# # currency to use for the plan (default 'usd')
|
15
|
+
# plan.currency = 'usd'
|
16
|
+
#
|
17
|
+
# # interval must be either 'week', 'month' or 'year'
|
18
|
+
# plan.interval = 'month'
|
19
|
+
#
|
20
|
+
# # only bill once every three months (default 1)
|
21
|
+
# plan.interval_count = 3
|
22
|
+
#
|
23
|
+
# # number of days before charging customer's card (default 0)
|
24
|
+
# plan.trial_period_days = 30
|
25
|
+
# end
|
26
|
+
|
27
|
+
# Once you have your plans defined, you can run
|
28
|
+
#
|
29
|
+
# rake stripe:prepare
|
30
|
+
#
|
31
|
+
# This will export any new plans to stripe.com so that you can
|
32
|
+
# begin using them in your API calls.
|
@@ -9,7 +9,9 @@ end
|
|
9
9
|
|
10
10
|
namespace :heroku do
|
11
11
|
desc 'Pull down production database'
|
12
|
-
task :import => ['heroku:dump:postgres', 'heroku:import:postgres'] do
|
12
|
+
# task :import => ['heroku:dump:postgres', 'heroku:import:postgres'] do
|
13
|
+
task :import => ['heroku:import:neo4j'] do
|
14
|
+
puts
|
13
15
|
puts "Done"
|
14
16
|
end
|
15
17
|
|
@@ -33,6 +35,13 @@ namespace :heroku do
|
|
33
35
|
end
|
34
36
|
|
35
37
|
namespace :import do
|
38
|
+
task :neo4j do
|
39
|
+
puts "Importing to Neo ..."
|
40
|
+
run "rm -rf /usr/local/Cellar/neo4j/3.0.6/libexec/data/databases/graph.db/"
|
41
|
+
run "tar xvfz tmp/graph.tar.gz -C /usr/local/Cellar/neo4j/3.0.6/libexec/data/databases"
|
42
|
+
run "neo4j restart"
|
43
|
+
end
|
44
|
+
|
36
45
|
task :postgres => ['kill_postgres_connections','db:drop','db:create'] do
|
37
46
|
config = Rails.configuration.database_configuration
|
38
47
|
host = config[Rails.env]["host"]
|
@@ -65,6 +74,5 @@ namespace :heroku do
|
|
65
74
|
fail $?.inspect
|
66
75
|
end
|
67
76
|
end
|
68
|
-
|
69
77
|
end
|
70
78
|
end
|
data/project/package.json
CHANGED
@@ -6,39 +6,30 @@
|
|
6
6
|
"directories": {
|
7
7
|
"test": "test"
|
8
8
|
},
|
9
|
-
"scripts": {
|
10
|
-
"postinstall": "webpack --config ./webpack.config.js --progress --colors",
|
11
|
-
"assets": "webpack --progress --colors --watch"
|
12
|
-
},
|
9
|
+
"scripts": {},
|
13
10
|
"repository": {
|
14
11
|
"type": "git",
|
15
|
-
"url": "git+https://github.com/
|
12
|
+
"url": "git+https://github.com/superlabs/mvpkit.git"
|
16
13
|
},
|
17
14
|
"author": "",
|
18
15
|
"license": "ISC",
|
19
16
|
"dependencies": {
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
23
|
-
|
24
|
-
|
25
|
-
"
|
26
|
-
"
|
27
|
-
"
|
28
|
-
"
|
29
|
-
"
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
33
|
-
"
|
34
|
-
"
|
35
|
-
"
|
36
|
-
"
|
37
|
-
"nestedSortable": "^1.3.4",
|
38
|
-
"selectize": "^0.12.3",
|
39
|
-
"tether": "^1.3.7",
|
40
|
-
"url-loader": "^0.5.7",
|
41
|
-
"webpack": "^1.13.3",
|
42
|
-
"webpack-combine-loaders": "^2.0.0"
|
17
|
+
"bootstrap": "^4.0.0-alpha.6",
|
18
|
+
"mvpkit": "https://github.com/superlabs/mvpkit",
|
19
|
+
"selectize": "^0.12.4"
|
20
|
+
},
|
21
|
+
"devDependencies": {
|
22
|
+
"babel-core": "^6.24.0",
|
23
|
+
"babel-loader": "^6.4.1",
|
24
|
+
"babel-polyfill": "^6.23.0",
|
25
|
+
"babel-preset-es2015": "^6.24.0",
|
26
|
+
"bootstrap": "^4.0.0-alpha.5",
|
27
|
+
"css-loader": "^0.27.3",
|
28
|
+
"extract-text-webpack-plugin": "^2.1.0",
|
29
|
+
"node-sass": "^4.5.1",
|
30
|
+
"postcss-loader": "^1.3.3",
|
31
|
+
"sass-loader": "^6.0.3",
|
32
|
+
"style-loader": "^0.16.0",
|
33
|
+
"webpack": "^2.3.2"
|
43
34
|
}
|
44
35
|
}
|
Binary file
|
data/project/webpack.config.js
CHANGED
@@ -1,67 +1,76 @@
|
|
1
1
|
const path = require('path');
|
2
|
+
const fs = require('fs');
|
2
3
|
const webpack = require("webpack");
|
3
4
|
const ExtractTextPlugin = require("extract-text-webpack-plugin");
|
4
5
|
|
6
|
+
const prod = process.argv.indexOf('-p') !== -1;
|
7
|
+
const css_output_template = "stylesheets/[name]-compiled.css";
|
8
|
+
const js_output_template = "javascripts/[name]-compiled.js";
|
9
|
+
|
5
10
|
module.exports = {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
],
|
10
|
-
output: {
|
11
|
-
path: path.join(__dirname, 'public', 'assets'),
|
12
|
-
filename: 'pack.js',
|
13
|
-
publicPath: '/assets',
|
11
|
+
context: __dirname + "/app/webpack",
|
12
|
+
entry: {
|
13
|
+
pack: ["./javascripts/pack.js", "./stylesheets/pack.scss"]
|
14
14
|
},
|
15
|
+
devtool: 'source-map',
|
15
16
|
plugins: [new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery" })],
|
17
|
+
output: {
|
18
|
+
path: __dirname + "/app/assets",
|
19
|
+
filename: js_output_template,
|
20
|
+
},
|
16
21
|
module: {
|
17
22
|
loaders: [
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
{
|
24
|
+
test: /\.js$/,
|
25
|
+
exclude: /node_modules/,
|
26
|
+
loader: 'babel-loader',
|
27
|
+
query: {
|
28
|
+
presets: ['es2015']
|
29
|
+
}
|
30
|
+
},
|
31
|
+
// {
|
32
|
+
// test: /\.(css|scss|sass)$/,
|
33
|
+
// include: /node_modules/,
|
34
|
+
// // loader: ExtractTextPlugin.extract("css!sass")
|
35
|
+
// // loader: ExtractTextPlugin.extract('style-loader!css-loader!sass-loader')
|
36
|
+
// loaders: ["style-loader", "css-loader", "sass-loader"]
|
37
|
+
// },
|
38
|
+
{
|
39
|
+
test: /\.scss$/,
|
40
|
+
loader: ExtractTextPlugin.extract({fallback: "style-loader", use: "css-loader!sass-loader"})
|
26
41
|
}
|
27
|
-
|
28
|
-
{
|
29
|
-
test: /\.(html|mustache)$/,
|
30
|
-
loader: 'mustache'
|
31
|
-
// loader: 'mustache?minify'
|
32
|
-
// loader: 'mustache?{ minify: { removeComments: false } }'
|
33
|
-
// loader: 'mustache?noShortcut'
|
34
|
-
},
|
35
|
-
{
|
36
|
-
test: /\.(eot|svg|ttf|woff(2)?)(\?v=\d+\.\d+\.\d+)?/,
|
37
|
-
loader: 'url',
|
38
|
-
},
|
39
|
-
{
|
40
|
-
test: /\.coffee$/,
|
41
|
-
loader: "coffee-loader"
|
42
|
-
},
|
43
|
-
{
|
44
|
-
test: /\.(coffee\.md|litcoffee)$/,
|
45
|
-
loader: "coffee-loader?literate"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
test: /\.(css|scss|sass)$/,
|
49
|
-
loader: ExtractTextPlugin.extract('css!sass?indentedSyntax=true&sourceMap=true')
|
50
|
-
}]
|
51
|
-
},
|
52
|
-
resolve: {
|
53
|
-
root: path.resolve('./assets'),
|
54
|
-
// tell webpack which extensions to auto search when it resolves modules. With this,
|
55
|
-
// you'll be able to do `require('./utils')` instead of `require('./utils.js')`
|
56
|
-
extensions: ['', '.js'],
|
57
|
-
// by default, webpack will search in `web_modules` and `node_modules`. Because we're using
|
58
|
-
// Bower, we want it to look in there too
|
59
|
-
// modulesDirectories: [ 'node_modules' ],
|
60
|
-
},
|
61
|
-
sassLoader: {
|
62
|
-
includePaths: [path.resolve(__dirname, "./node_modules")]
|
42
|
+
]
|
63
43
|
},
|
64
44
|
plugins: [
|
65
|
-
new ExtractTextPlugin(
|
45
|
+
new ExtractTextPlugin(css_output_template),
|
46
|
+
|
47
|
+
function() {
|
48
|
+
// delete previous outputs
|
49
|
+
this.plugin("compile", function() {
|
50
|
+
let basepath = __dirname + "/public";
|
51
|
+
// let paths = ["/javascripts", "/stylesheets"];
|
52
|
+
let paths = ["/stylesheets"];
|
53
|
+
|
54
|
+
for (let x = 0; x < paths.length; x++) {
|
55
|
+
const asset_path = basepath + paths[x];
|
56
|
+
|
57
|
+
fs.readdir(asset_path, function(err, files) {
|
58
|
+
if (files === undefined) {
|
59
|
+
return;
|
60
|
+
}
|
61
|
+
|
62
|
+
for (let i = 0; i < files.length; i++) {
|
63
|
+
fs.unlinkSync(asset_path + "/" + files[i]);
|
64
|
+
}
|
65
|
+
});
|
66
|
+
}
|
67
|
+
});
|
68
|
+
|
69
|
+
// output the fingerprint
|
70
|
+
// this.plugin("done", function(stats) {
|
71
|
+
// let output = "ASSET_FINGERPRINT = \"" + stats.hash + "\""
|
72
|
+
// fs.writeFileSync("config/initializers/fingerprint.rb", output, "utf8");
|
73
|
+
// });
|
74
|
+
}
|
66
75
|
]
|
67
76
|
};
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mvpkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Hunter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: carrierwave
|
@@ -317,23 +317,23 @@ files:
|
|
317
317
|
- app/helpers/minimum_viable_product/bootstrap_helper.rb
|
318
318
|
- app/helpers/minimum_viable_product/styleguide_helper.rb
|
319
319
|
- app/models/concerns/mvp/slugification.rb
|
320
|
-
- app/views/layouts/
|
321
|
-
- app/views/layouts/
|
322
|
-
- app/views/layouts/
|
323
|
-
- app/views/
|
324
|
-
- app/views/
|
325
|
-
- app/views/
|
326
|
-
- app/views/
|
327
|
-
- app/views/
|
328
|
-
- app/views/
|
329
|
-
- app/views/
|
330
|
-
- app/views/
|
331
|
-
- app/views/
|
332
|
-
- app/views/
|
333
|
-
- app/views/
|
334
|
-
- app/views/
|
335
|
-
- app/views/
|
336
|
-
- app/views/
|
320
|
+
- app/views/layouts/mvp/_instrumentation.html.erb
|
321
|
+
- app/views/layouts/mvp/_meta.html.erb
|
322
|
+
- app/views/layouts/mvp/application.html.erb
|
323
|
+
- app/views/mvp/styleguide/_example.html.erb
|
324
|
+
- app/views/mvp/styleguide/bootstrap.html.erb
|
325
|
+
- app/views/mvp/styleguide/bootstrap/_buttons.html.erb
|
326
|
+
- app/views/mvp/styleguide/bootstrap/_forms.html.erb
|
327
|
+
- app/views/mvp/styleguide/bootstrap/_header.html.erb
|
328
|
+
- app/views/mvp/styleguide/bootstrap/_panels.html.erb
|
329
|
+
- app/views/mvp/styleguide/bootstrap/_tables.html.erb
|
330
|
+
- app/views/mvp/styleguide/bootstrap/_typography.html.erb
|
331
|
+
- app/views/mvp/styleguide/elements/_grouping.html.erb
|
332
|
+
- app/views/mvp/styleguide/elements/partials/_row_groups_of.html.erb
|
333
|
+
- app/views/mvp/styleguide/index.html.erb
|
334
|
+
- app/views/mvp/styleguide/layouts/basic.html.erb
|
335
|
+
- app/views/mvp/styleguide/layouts/carousel.html.erb
|
336
|
+
- app/views/mvp/styleguide/layouts/cover.html.erb
|
337
337
|
- assets/js/application.js
|
338
338
|
- assets/js/init/controllers.js
|
339
339
|
- assets/js/init/forms.js
|
@@ -357,90 +357,111 @@ files:
|
|
357
357
|
- lib/tasks/sitemap.rake
|
358
358
|
- mvpkit.gemspec
|
359
359
|
- package.json
|
360
|
+
- project/.babelrc
|
361
|
+
- project/.env
|
360
362
|
- project/.gitignore
|
363
|
+
- project/.iteration
|
361
364
|
- project/Gemfile
|
362
365
|
- project/Gemfile.lock
|
363
366
|
- project/Procfile
|
364
367
|
- project/README.md
|
365
368
|
- project/Rakefile
|
369
|
+
- project/app/assets/config/manifest.js
|
370
|
+
- project/app/assets/javascripts/application.js
|
371
|
+
- project/app/assets/javascripts/templates.js.erb
|
372
|
+
- project/app/assets/stylesheets/application.scss
|
366
373
|
- project/app/controllers/application_controller.rb
|
367
374
|
- project/app/controllers/conversions_controller.rb
|
368
375
|
- project/app/controllers/examples_controller.rb
|
369
376
|
- project/app/controllers/home_controller.rb
|
370
|
-
- project/app/decorators/.keep
|
371
377
|
- project/app/helpers/application_helper.rb
|
372
|
-
- project/app/mailers
|
378
|
+
- project/app/mailers/application_mailer.rb
|
373
379
|
- project/app/models/conversion.rb
|
380
|
+
- project/app/templates/README.txt
|
381
|
+
- project/app/templates/examples/template.mustache
|
374
382
|
- project/app/views/examples/index.html.erb
|
375
383
|
- project/app/views/examples/mustache.html.erb
|
376
384
|
- project/app/views/examples/mustache/template.mustache
|
377
385
|
- project/app/views/home/conversion.html.erb
|
378
386
|
- project/app/views/home/index.html.erb
|
379
387
|
- project/app/views/layouts/_header.html.erb
|
380
|
-
- project/app/views/layouts/
|
388
|
+
- project/app/views/layouts/_notifications.html.erb
|
381
389
|
- project/app/views/layouts/application.html.erb
|
382
|
-
- project/app/views/layouts/
|
383
|
-
- project/
|
384
|
-
- project/
|
385
|
-
- project/
|
386
|
-
- project/
|
387
|
-
- project/
|
388
|
-
- project/
|
389
|
-
- project/
|
390
|
-
- project/
|
391
|
-
- project/
|
392
|
-
- project/
|
393
|
-
- project/
|
390
|
+
- project/app/views/layouts/mailer.html.erb
|
391
|
+
- project/app/views/layouts/mailer.text.erb
|
392
|
+
- project/app/webpack/javascripts/behaviors/example.js
|
393
|
+
- project/app/webpack/javascripts/controllers/home.js
|
394
|
+
- project/app/webpack/javascripts/lib/clientsidevalidations.js
|
395
|
+
- project/app/webpack/javascripts/lib/selectize.js
|
396
|
+
- project/app/webpack/javascripts/pack.js
|
397
|
+
- project/app/webpack/stylesheets/config/variables.scss
|
398
|
+
- project/app/webpack/stylesheets/init/reset.scss
|
399
|
+
- project/app/webpack/stylesheets/layout/main.scss
|
400
|
+
- project/app/webpack/stylesheets/pack.scss
|
401
|
+
- project/app/webpack/stylesheets/skin/alerts.scss
|
402
|
+
- project/app/webpack/stylesheets/skin/buttons.scss
|
403
|
+
- project/app/webpack/stylesheets/skin/hero.scss
|
404
|
+
- project/app/webpack/stylesheets/skin/images.scss
|
405
|
+
- project/app/webpack/stylesheets/skin/progress.scss
|
406
|
+
- project/app/webpack/stylesheets/skin/selectize.scss
|
407
|
+
- project/app/webpack/stylesheets/skin/spacing.scss
|
408
|
+
- project/app/webpack/stylesheets/skin/tables.scss
|
409
|
+
- project/app/webpack/stylesheets/skin/treatments.scss
|
410
|
+
- project/app/webpack/stylesheets/skin/turbolinks.scss
|
411
|
+
- project/app/webpack/stylesheets/skin/typography.scss
|
394
412
|
- project/bin/bundle
|
395
413
|
- project/bin/rails
|
396
414
|
- project/bin/rake
|
397
415
|
- project/bin/setup
|
398
416
|
- project/bin/spring
|
417
|
+
- project/bin/update
|
399
418
|
- project/config.ru
|
400
419
|
- project/config/application.rb
|
401
420
|
- project/config/boot.rb
|
421
|
+
- project/config/cable.yml
|
402
422
|
- project/config/database.yml
|
403
423
|
- project/config/environment.rb
|
404
424
|
- project/config/environments/development.rb
|
405
425
|
- project/config/environments/production.rb
|
406
426
|
- project/config/environments/test.rb
|
427
|
+
- project/config/initializers/algolia.rb
|
428
|
+
- project/config/initializers/application_controller_renderer.rb
|
407
429
|
- project/config/initializers/assets.rb
|
408
430
|
- project/config/initializers/backtrace_silencers.rb
|
431
|
+
- project/config/initializers/client_side_validations.rb
|
409
432
|
- project/config/initializers/cookies_serializer.rb
|
433
|
+
- project/config/initializers/date_formats.rb
|
410
434
|
- project/config/initializers/filter_parameter_logging.rb
|
435
|
+
- project/config/initializers/fingerprint.rb
|
436
|
+
- project/config/initializers/geocoder.rb
|
411
437
|
- project/config/initializers/inflections.rb
|
412
438
|
- project/config/initializers/mime_types.rb
|
413
|
-
- project/config/initializers/
|
439
|
+
- project/config/initializers/new_framework_defaults.rb
|
414
440
|
- project/config/initializers/rails_admin.rb
|
415
441
|
- project/config/initializers/session_store.rb
|
442
|
+
- project/config/initializers/sidekiq.rb
|
416
443
|
- project/config/initializers/simple_form.rb
|
444
|
+
- project/config/initializers/stripe.rb
|
417
445
|
- project/config/initializers/wrap_parameters.rb
|
418
446
|
- project/config/locales/en.yml
|
419
447
|
- project/config/locales/simple_form.en.yml
|
448
|
+
- project/config/puma.rb
|
420
449
|
- project/config/routes.rb
|
421
450
|
- project/config/secrets.yml
|
451
|
+
- project/config/sidekiq.yml
|
422
452
|
- project/config/sitemap.rb
|
453
|
+
- project/config/spring.rb
|
454
|
+
- project/config/stripe/coupons.rb
|
455
|
+
- project/config/stripe/plans.rb
|
423
456
|
- project/db/migrate/20160728235100_create_conversions.rb
|
424
457
|
- project/db/schema.rb
|
425
458
|
- project/db/seeds.rb
|
426
459
|
- project/lib/assets/.keep
|
427
460
|
- project/lib/tasks/heroku.rake
|
461
|
+
- project/lib/tasks/migrations.rake
|
428
462
|
- project/log/.keep
|
429
|
-
- project/log/development.log
|
430
|
-
- project/log/production.log
|
431
463
|
- project/package.json
|
432
|
-
- project/public/
|
433
|
-
- project/public/422.html
|
434
|
-
- project/public/500.html
|
435
|
-
- project/public/assets/javascripts/448c34a56d699c29117adc64c43affeb.woff2
|
436
|
-
- project/public/assets/javascripts/89889688147bd7575d6327160d64e760.svg
|
437
|
-
- project/public/assets/javascripts/e18bbf611f2a2e43afc071aa2f4e1512.ttf
|
438
|
-
- project/public/assets/javascripts/f4769f9bdb7466be65088239c12046d1.eot
|
439
|
-
- project/public/assets/javascripts/fa2772327f55d8198301fdb8bcfc8158.woff
|
440
|
-
- project/public/assets/javascripts/pack.js
|
441
|
-
- project/public/assets/javascripts/pack.js.map
|
442
|
-
- project/public/assets/pack.js
|
443
|
-
- project/public/assets/style.css
|
464
|
+
- project/public/favicon.ico
|
444
465
|
- project/vendor/assets/javascripts/.keep
|
445
466
|
- project/vendor/assets/stylesheets/.keep
|
446
467
|
- project/webpack.config.js
|
File without changes
|
data/project/app/mailers/.keep
DELETED
File without changes
|