From e0893428b1e21f16f10d185bc07fe382ddaaeb26 Mon Sep 17 00:00:00 2001 From: Adrian Hinz Date: Wed, 11 Oct 2017 11:20:44 +0200 Subject: [PATCH] Signed-off-by: Adrian Hinz --- Gemfile | 7 +++++- Gemfile.lock | 17 +++++++++++++-- app/assets/images/favicon.png | Bin 0 -> 7185 bytes app/assets/images/logo-symbol.png | Bin 0 -> 7185 bytes app/assets/images/logo.png | Bin 0 -> 15028 bytes app/assets/javascripts/application.js | 3 +++ app/assets/javascripts/home.coffee | 3 +++ app/assets/stylesheets/application.css | 15 ------------- app/assets/stylesheets/application.scss | 1 + app/assets/stylesheets/home.scss | 3 +++ app/controllers/home_controller.rb | 4 ++++ app/helpers/home_helper.rb | 2 ++ app/views/home/index.html.erb | 2 ++ config/database.yml | 20 ++++++++--------- config/database_sqlite.yml | 26 +++++++++++++++++++++++ config/routes.rb | 2 ++ test/controllers/home_controller_test.rb | 9 ++++++++ 17 files changed, 85 insertions(+), 29 deletions(-) create mode 100644 app/assets/images/favicon.png create mode 100644 app/assets/images/logo-symbol.png create mode 100644 app/assets/images/logo.png create mode 100644 app/assets/javascripts/home.coffee delete mode 100644 app/assets/stylesheets/application.css create mode 100644 app/assets/stylesheets/application.scss create mode 100644 app/assets/stylesheets/home.scss create mode 100644 app/controllers/home_controller.rb create mode 100644 app/helpers/home_helper.rb create mode 100644 app/views/home/index.html.erb create mode 100644 config/database_sqlite.yml create mode 100644 test/controllers/home_controller_test.rb diff --git a/Gemfile b/Gemfile index d35de94..dad9056 100644 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,8 @@ end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.1.4' # Use sqlite3 as the database for Active Record -gem 'sqlite3' +#gem 'sqlite3' +gem 'mysql2' # Use Puma as the app server gem 'puma', '~> 3.7' # Use SCSS for stylesheets @@ -19,6 +20,10 @@ gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby +gem 'bootstrap', '~> 4.0.0.beta' +gem 'jquery-rails' + + # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks diff --git a/Gemfile.lock b/Gemfile.lock index 7d3960b..1758f0e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,7 +41,13 @@ GEM addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) arel (8.0.0) + autoprefixer-rails (7.1.5) + execjs bindex (0.5.0) + bootstrap (4.0.0.beta) + autoprefixer-rails (>= 6.0.3) + popper_js (~> 1.11.1) + sass (>= 3.4.19) builder (3.2.3) byebug (9.1.0) capybara (2.15.4) @@ -71,6 +77,10 @@ GEM jbuilder (2.7.0) activesupport (>= 4.2.0) multi_json (>= 1.2) + jquery-rails (4.3.1) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) loofah (2.1.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -84,9 +94,11 @@ GEM mini_portile2 (2.3.0) minitest (5.10.3) multi_json (1.12.2) + mysql2 (0.4.9-x64-mingw32) nio4r (2.1.0) nokogiri (1.8.1-x64-mingw32) mini_portile2 (~> 2.3.0) + popper_js (1.11.1) public_suffix (3.0.0) puma (3.10.0) rack (2.0.3) @@ -141,7 +153,6 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - sqlite3 (1.3.13-x64-mingw32) thor (0.20.0) thread_safe (0.3.6) tilt (2.0.8) @@ -169,15 +180,17 @@ PLATFORMS x64-mingw32 DEPENDENCIES + bootstrap (~> 4.0.0.beta) byebug capybara (~> 2.13) coffee-rails (~> 4.2) jbuilder (~> 2.5) + jquery-rails + mysql2 puma (~> 3.7) rails (~> 5.1.4) sass-rails (~> 5.0) selenium-webdriver - sqlite3 turbolinks (~> 5) tzinfo-data uglifier (>= 1.3.0) diff --git a/app/assets/images/favicon.png b/app/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7f62affe0cd4cf62d912341fdb37637ea2bab2a9 GIT binary patch literal 7185 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 f6Q_3=gn%x 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 46b2035..dc8f1b9 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -12,4 +12,7 @@ // //= require rails-ujs //= require turbolinks +//= require jquery3 +//= require popper +//= require bootstrap //= require_tree . diff --git a/app/assets/javascripts/home.coffee b/app/assets/javascripts/home.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/home.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css deleted file mode 100644 index d05ea0f..0000000 --- a/app/assets/stylesheets/application.css +++ /dev/null @@ -1,15 +0,0 @@ -/* - * This is a manifest file that'll be compiled into application.css, which will include all the files - * listed below. - * - * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's - * vendor/assets/stylesheets directory can be referenced here using a relative path. - * - * You're free to add application-wide styles to this file and they'll appear at the bottom of the - * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS - * files in this directory. Styles in this file should be added after the last require_* statement. - * It is generally better to create a new file per style scope. - * - *= require_tree . - *= require_self - */ diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss new file mode 100644 index 0000000..cbd46a7 --- /dev/null +++ b/app/assets/stylesheets/application.scss @@ -0,0 +1 @@ +@import "bootstrap"; diff --git a/app/assets/stylesheets/home.scss b/app/assets/stylesheets/home.scss new file mode 100644 index 0000000..7131aac --- /dev/null +++ b/app/assets/stylesheets/home.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Home controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb new file mode 100644 index 0000000..95f2992 --- /dev/null +++ b/app/controllers/home_controller.rb @@ -0,0 +1,4 @@ +class HomeController < ApplicationController + def index + end +end diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb new file mode 100644 index 0000000..23de56a --- /dev/null +++ b/app/helpers/home_helper.rb @@ -0,0 +1,2 @@ +module HomeHelper +end diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb new file mode 100644 index 0000000..2085730 --- /dev/null +++ b/app/views/home/index.html.erb @@ -0,0 +1,2 @@ +

Home#index

+

Find me in app/views/home/index.html.erb

diff --git a/config/database.yml b/config/database.yml index 0d02f24..b2f90b0 100644 --- a/config/database.yml +++ b/config/database.yml @@ -1,25 +1,23 @@ -# SQLite version 3.x -# gem install sqlite3 -# -# Ensure the SQLite 3 gem is defined in your Gemfile -# gem 'sqlite3' -# default: &default - adapter: sqlite3 - pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + adapter: mysql2 + encoding: utf8 + username: thiscrm_usr + password: Wdfiayjto340278_!349 + host: 51.254.143.84 + pool: 5 timeout: 5000 development: <<: *default - database: db/development.sqlite3 + database: thiscrm # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default - database: db/test.sqlite3 + database: thiscrm_tst production: <<: *default - database: db/production.sqlite3 + database: thiscrm diff --git a/config/database_sqlite.yml b/config/database_sqlite.yml new file mode 100644 index 0000000..ed0932c --- /dev/null +++ b/config/database_sqlite.yml @@ -0,0 +1,26 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +# thiscrm_usr +# Wdfiayjto340278_!349 +default: &default + adapter: sqlite3 + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + timeout: 5000 + +development: + <<: *default + database: db/development.sqlite3 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: db/test.sqlite3 + +production: + <<: *default + database: db/production.sqlite3 diff --git a/config/routes.rb b/config/routes.rb index 787824f..80a21f6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,5 @@ Rails.application.routes.draw do + get 'home/index' + root 'home#index' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end diff --git a/test/controllers/home_controller_test.rb b/test/controllers/home_controller_test.rb new file mode 100644 index 0000000..6013b68 --- /dev/null +++ b/test/controllers/home_controller_test.rb @@ -0,0 +1,9 @@ +require 'test_helper' + +class HomeControllerTest < ActionDispatch::IntegrationTest + test "should get index" do + get home_index_url + assert_response :success + end + +end