mvpkit 0.8.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/bin/mvp +0 -1
  4. data/mvpkit.gemspec +71 -50
  5. data/package.json +1 -0
  6. data/project/.babelrc +3 -0
  7. data/project/.env +15 -0
  8. data/project/.gitignore +15 -40
  9. data/project/.iteration +3 -0
  10. data/project/Gemfile +43 -19
  11. data/project/Gemfile.lock +237 -165
  12. data/project/Procfile +2 -1
  13. data/project/README.md +0 -1
  14. data/project/app/assets/config/manifest.js +2 -0
  15. data/project/app/assets/javascripts/application.js +5 -0
  16. data/project/app/assets/javascripts/templates.js.erb +14 -0
  17. data/project/app/assets/stylesheets/application.scss +2 -0
  18. data/project/app/controllers/application_controller.rb +25 -5
  19. data/project/app/helpers/application_helper.rb +17 -4
  20. data/project/app/mailers/application_mailer.rb +5 -0
  21. data/project/app/templates/README.txt +1 -0
  22. data/project/app/templates/examples/template.mustache +1 -0
  23. data/project/app/views/examples/mustache.html.erb +25 -3
  24. data/project/app/views/layouts/_header.html.erb +22 -14
  25. data/project/app/views/layouts/_notifications.html.erb +10 -0
  26. data/project/app/views/layouts/application.html.erb +22 -11
  27. data/project/app/views/layouts/mailer.html.erb +5 -0
  28. data/project/app/views/layouts/mailer.text.erb +1 -0
  29. data/project/app/webpack/javascripts/behaviors/example.js +21 -0
  30. data/project/app/webpack/javascripts/controllers/home.js +15 -0
  31. data/project/app/webpack/javascripts/lib/clientsidevalidations.js +3 -0
  32. data/project/app/webpack/javascripts/lib/selectize.js +1 -0
  33. data/project/app/webpack/javascripts/pack.js +47 -0
  34. data/project/app/webpack/stylesheets/config/variables.scss +41 -0
  35. data/project/app/webpack/stylesheets/init/reset.scss +48 -0
  36. data/project/app/webpack/stylesheets/layout/main.scss +7 -0
  37. data/project/app/webpack/stylesheets/pack.scss +20 -0
  38. data/project/app/webpack/stylesheets/skin/alerts.scss +3 -0
  39. data/project/app/webpack/stylesheets/skin/buttons.scss +38 -0
  40. data/project/app/webpack/stylesheets/skin/hero.scss +45 -0
  41. data/project/app/webpack/stylesheets/skin/images.scss +13 -0
  42. data/project/app/webpack/stylesheets/skin/progress.scss +3 -0
  43. data/project/app/webpack/stylesheets/skin/selectize.scss +30 -0
  44. data/project/{assets/stylesheets/lib → app/webpack/stylesheets/skin}/spacing.scss +0 -2
  45. data/project/app/webpack/stylesheets/skin/tables.scss +10 -0
  46. data/project/app/webpack/stylesheets/skin/treatments.scss +3 -0
  47. data/project/app/webpack/stylesheets/skin/turbolinks.scss +4 -0
  48. data/project/app/webpack/stylesheets/skin/typography.scss +116 -0
  49. data/project/bin/rails +1 -6
  50. data/project/bin/rake +0 -5
  51. data/project/bin/setup +17 -17
  52. data/project/bin/update +29 -0
  53. data/project/config/application.rb +5 -4
  54. data/project/config/boot.rb +1 -1
  55. data/project/config/cable.yml +9 -0
  56. data/project/config/environment.rb +1 -1
  57. data/project/config/environments/development.rb +29 -26
  58. data/project/config/environments/production.rb +32 -19
  59. data/project/config/environments/test.rb +6 -6
  60. data/project/config/initializers/algolia.rb +7 -0
  61. data/project/config/initializers/application_controller_renderer.rb +6 -0
  62. data/project/config/initializers/assets.rb +23 -2
  63. data/project/config/initializers/client_side_validations.rb +20 -0
  64. data/project/config/initializers/cookies_serializer.rb +2 -0
  65. data/project/config/initializers/date_formats.rb +6 -0
  66. data/project/config/initializers/fingerprint.rb +1 -0
  67. data/project/config/initializers/geocoder.rb +9 -0
  68. data/project/config/initializers/new_framework_defaults.rb +23 -0
  69. data/project/config/initializers/rails_admin.rb +13 -7
  70. data/project/config/initializers/sidekiq.rb +19 -0
  71. data/project/config/initializers/simple_form.rb +2 -0
  72. data/project/config/initializers/stripe.rb +8 -0
  73. data/project/config/initializers/wrap_parameters.rb +2 -2
  74. data/project/config/puma.rb +47 -0
  75. data/project/config/routes.rb +4 -2
  76. data/project/config/secrets.yml +17 -3
  77. data/project/config/sidekiq.yml +6 -0
  78. data/project/config/spring.rb +6 -0
  79. data/project/config/stripe/coupons.rb +39 -0
  80. data/project/config/stripe/plans.rb +32 -0
  81. data/project/lib/tasks/heroku.rake +10 -2
  82. data/project/lib/tasks/migrations.rake +3 -0
  83. data/project/package.json +19 -28
  84. data/project/public/favicon.ico +0 -0
  85. data/project/webpack.config.js +62 -53
  86. metadata +70 -49
  87. data/project/app/decorators/.keep +0 -0
  88. data/project/app/mailers/.keep +0 -0
  89. data/project/app/views/layouts/_includes.html.erb +0 -7
  90. data/project/app/views/layouts/modal.html.erb +0 -14
  91. data/project/assets/images/.keep +0 -0
  92. data/project/assets/images/favicon.ico +0 -0
  93. data/project/assets/javascripts/controllers/home.coffee +0 -15
  94. data/project/assets/javascripts/pack.js +0 -9
  95. data/project/assets/stylesheets/config/variables.scss +0 -876
  96. data/project/assets/stylesheets/layout/basic.scss +0 -6
  97. data/project/assets/stylesheets/layout/carousel.scss +0 -127
  98. data/project/assets/stylesheets/layout/cover.scss +0 -129
  99. data/project/assets/stylesheets/skin/style.scss +0 -16
  100. data/project/assets/stylesheets/style.scss +0 -8
  101. data/project/config/initializers/mustache.rb +0 -7
  102. data/project/log/development.log +0 -48216
  103. data/project/log/production.log +0 -0
  104. data/project/public/404.html +0 -67
  105. data/project/public/422.html +0 -67
  106. data/project/public/500.html +0 -66
  107. data/project/public/assets/javascripts/448c34a56d699c29117adc64c43affeb.woff2 +0 -0
  108. data/project/public/assets/javascripts/89889688147bd7575d6327160d64e760.svg +0 -288
  109. data/project/public/assets/javascripts/e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
  110. data/project/public/assets/javascripts/f4769f9bdb7466be65088239c12046d1.eot +0 -0
  111. data/project/public/assets/javascripts/fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
  112. data/project/public/assets/javascripts/pack.js +0 -31367
  113. data/project/public/assets/javascripts/pack.js.map +0 -1
  114. data/project/public/assets/pack.js +0 -17220
  115. data/project/public/assets/style.css +0 -7477
  116. /data/app/views/layouts/{minimum_viable_product → mvp}/_instrumentation.html.erb +0 -0
  117. /data/app/views/layouts/{minimum_viable_product → mvp}/_meta.html.erb +0 -0
  118. /data/app/views/layouts/{minimum_viable_product → mvp}/application.html.erb +0 -0
  119. /data/app/views/{minimum_viable_product → mvp}/styleguide/_example.html.erb +0 -0
  120. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_buttons.html.erb +0 -0
  121. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_forms.html.erb +0 -0
  122. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_header.html.erb +0 -0
  123. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_panels.html.erb +0 -0
  124. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_tables.html.erb +0 -0
  125. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap/_typography.html.erb +0 -0
  126. /data/app/views/{minimum_viable_product → mvp}/styleguide/bootstrap.html.erb +0 -0
  127. /data/app/views/{minimum_viable_product → mvp}/styleguide/elements/_grouping.html.erb +0 -0
  128. /data/app/views/{minimum_viable_product → mvp}/styleguide/elements/partials/_row_groups_of.html.erb +0 -0
  129. /data/app/views/{minimum_viable_product → mvp}/styleguide/index.html.erb +0 -0
  130. /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/basic.html.erb +0 -0
  131. /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/carousel.html.erb +0 -0
  132. /data/app/views/{minimum_viable_product → mvp}/styleguide/layouts/cover.html.erb +0 -0
@@ -1,3 +1,5 @@
1
+ # Setup SimpleForm for Bootstrap
2
+
1
3
  SimpleForm.setup do |config|
2
4
  config.label_text = lambda { |label, required, explicit_label| "#{label}" }
3
5
  config.error_notification_class = 'alert alert-danger'
@@ -0,0 +1,8 @@
1
+ Rails.application.config.stripe.publishable_key = ENV['STRIPE_PUBLISHIBLE_KEY']
2
+
3
+ class ActionController::Base
4
+ # monkey patch bug with Stripe calling respond_to and Rails5 no longer has this.
5
+ def self.respond_to(format)
6
+ # do nothing
7
+ end
8
+ end
@@ -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] if respond_to?(:wrap_parameters)
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
- # self.include_root_in_json = true
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
@@ -1,6 +1,8 @@
1
+ require 'sidekiq/web'
2
+
1
3
  Rails.application.routes.draw do
2
- # mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
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
@@ -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: makesuretochangethisifyoucareaboutdevelopmentenvironmentforsomereason
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,6 @@
1
+ ---
2
+ :concurrency: 1
3
+ production:
4
+ :concurrency: 5
5
+ :queues:
6
+ - default
@@ -0,0 +1,6 @@
1
+ %w(
2
+ .ruby-version
3
+ .rbenv-vars
4
+ tmp/restart.txt
5
+ tmp/caching-dev.txt
6
+ ).each { |path| Spring.watch(path) }
@@ -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
@@ -0,0 +1,3 @@
1
+ namespace :migrations do
2
+ # Put temporary migrations that need to be run for deploys in here. Remove after they've been run successfully.
3
+ 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/ian/mvp_rails.git"
12
+ "url": "git+https://github.com/superlabs/mvpkit.git"
16
13
  },
17
14
  "author": "",
18
15
  "license": "ISC",
19
16
  "dependencies": {
20
- "babel-core": "^6.14.0",
21
- "babel-loader": "^6.2.5",
22
- "babel-preset-es2015": "^6.14.0",
23
- "babel-preset-react": "^6.11.1",
24
- "babel-preset-stage-0": "^6.5.0",
25
- "bootstrap": "github:twbs/bootstrap#v4-dev",
26
- "coffee-loader": "^0.7.2",
27
- "coffee-script": "^1.10.0",
28
- "extract-text-webpack-plugin": "^1.0.1",
29
- "font-awesome": "^4.6.3",
30
- "formvalidation": "^0.6.2-dev",
31
- "imports-loader": "^0.6.5",
32
- "jquery": "^3.1.1",
33
- "jquery-ui-dist": "^1.12.1",
34
- "lodash": "^4.17.2",
35
- "minimum_viable_product": "https://github.com/ian/minimum_viable_product",
36
- "mustache-loader": "^0.3.1",
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
@@ -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
- entry: [
7
- './assets/javascripts/pack.js',
8
- './assets/stylesheets/style.scss',
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
- test: /\.(js|jsx)$/,
20
- include: path.join(__dirname, '/app'),
21
- exclude: path.join(__dirname, '/node_modules'),
22
- loader: 'babel-loader',
23
- query: {
24
- presets: ['es2015', 'react'],
25
- plugins: ["transform-object-rest-spread"]
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('style.css')
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.8.1
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-14 00:00:00.000000000 Z
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/minimum_viable_product/_instrumentation.html.erb
321
- - app/views/layouts/minimum_viable_product/_meta.html.erb
322
- - app/views/layouts/minimum_viable_product/application.html.erb
323
- - app/views/minimum_viable_product/styleguide/_example.html.erb
324
- - app/views/minimum_viable_product/styleguide/bootstrap.html.erb
325
- - app/views/minimum_viable_product/styleguide/bootstrap/_buttons.html.erb
326
- - app/views/minimum_viable_product/styleguide/bootstrap/_forms.html.erb
327
- - app/views/minimum_viable_product/styleguide/bootstrap/_header.html.erb
328
- - app/views/minimum_viable_product/styleguide/bootstrap/_panels.html.erb
329
- - app/views/minimum_viable_product/styleguide/bootstrap/_tables.html.erb
330
- - app/views/minimum_viable_product/styleguide/bootstrap/_typography.html.erb
331
- - app/views/minimum_viable_product/styleguide/elements/_grouping.html.erb
332
- - app/views/minimum_viable_product/styleguide/elements/partials/_row_groups_of.html.erb
333
- - app/views/minimum_viable_product/styleguide/index.html.erb
334
- - app/views/minimum_viable_product/styleguide/layouts/basic.html.erb
335
- - app/views/minimum_viable_product/styleguide/layouts/carousel.html.erb
336
- - app/views/minimum_viable_product/styleguide/layouts/cover.html.erb
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/.keep
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/_includes.html.erb
388
+ - project/app/views/layouts/_notifications.html.erb
381
389
  - project/app/views/layouts/application.html.erb
382
- - project/app/views/layouts/modal.html.erb
383
- - project/assets/images/.keep
384
- - project/assets/images/favicon.ico
385
- - project/assets/javascripts/controllers/home.coffee
386
- - project/assets/javascripts/pack.js
387
- - project/assets/stylesheets/config/variables.scss
388
- - project/assets/stylesheets/layout/basic.scss
389
- - project/assets/stylesheets/layout/carousel.scss
390
- - project/assets/stylesheets/layout/cover.scss
391
- - project/assets/stylesheets/lib/spacing.scss
392
- - project/assets/stylesheets/skin/style.scss
393
- - project/assets/stylesheets/style.scss
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/mustache.rb
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/404.html
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
File without changes
@@ -1,7 +0,0 @@
1
- <%- content_for :javascripts do %>
2
- <script src="/assets/pack.js" type="text/javascript"></script>
3
- <% end %>
4
-
5
- <%- content_for :stylesheets do %>
6
- <link rel="stylesheet" href="/assets/style.css" media="screen" title="">
7
- <% end %>