From 8a7575dc95e87b8c8a6f6ce41448ac14db322968 Mon Sep 17 00:00:00 2001 From: s2luckyboy Date: Wed, 15 Mar 2017 18:33:56 +0700 Subject: [PATCH 1/2] init_project --- bcnnofarray.rb | 24 +++ blogs/.gitignore | 21 +++ blogs/Gemfile | 53 ++++++ blogs/Gemfile.lock | 174 ++++++++++++++++++ blogs/README.md | 24 +++ blogs/Rakefile | 6 + blogs/app/assets/config/manifest.js | 3 + blogs/app/assets/images/.keep | 0 blogs/app/assets/javascripts/application.js | 16 ++ blogs/app/assets/javascripts/cable.js | 13 ++ blogs/app/assets/javascripts/channels/.keep | 0 blogs/app/assets/javascripts/users.coffee | 3 + blogs/app/assets/stylesheets/application.css | 15 ++ blogs/app/assets/stylesheets/scaffolds.scss | 89 +++++++++ blogs/app/assets/stylesheets/users.scss | 3 + .../app/channels/application_cable/channel.rb | 4 + .../channels/application_cable/connection.rb | 4 + .../app/controllers/application_controller.rb | 3 + blogs/app/controllers/concerns/.keep | 0 blogs/app/controllers/users_controller.rb | 78 ++++++++ blogs/app/helpers/application_helper.rb | 2 + blogs/app/helpers/users_helper.rb | 6 + blogs/app/jobs/application_job.rb | 2 + blogs/app/mailers/application_mailer.rb | 4 + blogs/app/models/application_record.rb | 3 + blogs/app/models/concerns/.keep | 0 blogs/app/models/user.rb | 2 + blogs/app/views/layouts/application.html.erb | 14 ++ blogs/app/views/layouts/mailer.html.erb | 13 ++ blogs/app/views/layouts/mailer.text.erb | 1 + blogs/app/views/users/_form.html.erb | 27 +++ blogs/app/views/users/_user.json.jbuilder | 2 + blogs/app/views/users/edit.html.erb | 6 + blogs/app/views/users/index.html.erb | 29 +++ blogs/app/views/users/index.json.jbuilder | 1 + blogs/app/views/users/new.html.erb | 5 + blogs/app/views/users/show.html.erb | 14 ++ blogs/app/views/users/show.json.jbuilder | 1 + blogs/bin/bundle | 3 + blogs/bin/rails | 4 + blogs/bin/rake | 4 + blogs/bin/setup | 34 ++++ blogs/bin/update | 29 +++ blogs/config.ru | 5 + blogs/config/application.rb | 15 ++ blogs/config/boot.rb | 3 + blogs/config/cable.yml | 9 + blogs/config/database.yml | 25 +++ blogs/config/environment.rb | 5 + blogs/config/environments/development.rb | 54 ++++++ blogs/config/environments/production.rb | 86 +++++++++ blogs/config/environments/test.rb | 42 +++++ .../application_controller_renderer.rb | 6 + blogs/config/initializers/assets.rb | 11 ++ .../initializers/backtrace_silencers.rb | 7 + .../config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + blogs/config/initializers/inflections.rb | 16 ++ blogs/config/initializers/mime_types.rb | 4 + .../initializers/new_framework_defaults.rb | 24 +++ blogs/config/initializers/session_store.rb | 3 + blogs/config/initializers/wrap_parameters.rb | 14 ++ blogs/config/locales/en.yml | 23 +++ blogs/config/puma.rb | 47 +++++ blogs/config/routes.rb | 5 + blogs/config/secrets.yml | 22 +++ blogs/config/spring.rb | 6 + .../db/migrate/20170313115524_create_users.rb | 10 + blogs/db/schema.rb | 22 +++ blogs/db/seeds.rb | 7 + blogs/lib/assets/.keep | 0 blogs/lib/tasks/.keep | 0 blogs/log/.keep | 0 blogs/public/404.html | 67 +++++++ blogs/public/422.html | 67 +++++++ blogs/public/500.html | 66 +++++++ blogs/public/apple-touch-icon-precomposed.png | 0 blogs/public/apple-touch-icon.png | 0 blogs/public/favicon.ico | 0 blogs/public/robots.txt | 5 + blogs/test/controllers/.keep | 0 .../test/controllers/users_controller_test.rb | 48 +++++ blogs/test/fixtures/.keep | 0 blogs/test/fixtures/files/.keep | 0 blogs/test/fixtures/users.yml | 9 + blogs/test/helpers/.keep | 0 blogs/test/integration/.keep | 0 blogs/test/mailers/.keep | 0 blogs/test/models/.keep | 0 blogs/test/models/user_test.rb | 7 + blogs/test/test_helper.rb | 10 + blogs/tmp/.keep | 0 blogs/vendor/assets/javascripts/.keep | 0 blogs/vendor/assets/stylesheets/.keep | 0 sntthun.rb | 28 +++ uclnofarray.rb | 20 ++ 96 files changed, 1546 insertions(+) create mode 100644 bcnnofarray.rb create mode 100644 blogs/.gitignore create mode 100644 blogs/Gemfile create mode 100644 blogs/Gemfile.lock create mode 100644 blogs/README.md create mode 100644 blogs/Rakefile create mode 100644 blogs/app/assets/config/manifest.js create mode 100644 blogs/app/assets/images/.keep create mode 100644 blogs/app/assets/javascripts/application.js create mode 100644 blogs/app/assets/javascripts/cable.js create mode 100644 blogs/app/assets/javascripts/channels/.keep create mode 100644 blogs/app/assets/javascripts/users.coffee create mode 100644 blogs/app/assets/stylesheets/application.css create mode 100644 blogs/app/assets/stylesheets/scaffolds.scss create mode 100644 blogs/app/assets/stylesheets/users.scss create mode 100644 blogs/app/channels/application_cable/channel.rb create mode 100644 blogs/app/channels/application_cable/connection.rb create mode 100644 blogs/app/controllers/application_controller.rb create mode 100644 blogs/app/controllers/concerns/.keep create mode 100644 blogs/app/controllers/users_controller.rb create mode 100644 blogs/app/helpers/application_helper.rb create mode 100644 blogs/app/helpers/users_helper.rb create mode 100644 blogs/app/jobs/application_job.rb create mode 100644 blogs/app/mailers/application_mailer.rb create mode 100644 blogs/app/models/application_record.rb create mode 100644 blogs/app/models/concerns/.keep create mode 100644 blogs/app/models/user.rb create mode 100644 blogs/app/views/layouts/application.html.erb create mode 100644 blogs/app/views/layouts/mailer.html.erb create mode 100644 blogs/app/views/layouts/mailer.text.erb create mode 100644 blogs/app/views/users/_form.html.erb create mode 100644 blogs/app/views/users/_user.json.jbuilder create mode 100644 blogs/app/views/users/edit.html.erb create mode 100644 blogs/app/views/users/index.html.erb create mode 100644 blogs/app/views/users/index.json.jbuilder create mode 100644 blogs/app/views/users/new.html.erb create mode 100644 blogs/app/views/users/show.html.erb create mode 100644 blogs/app/views/users/show.json.jbuilder create mode 100755 blogs/bin/bundle create mode 100755 blogs/bin/rails create mode 100755 blogs/bin/rake create mode 100755 blogs/bin/setup create mode 100755 blogs/bin/update create mode 100644 blogs/config.ru create mode 100644 blogs/config/application.rb create mode 100644 blogs/config/boot.rb create mode 100644 blogs/config/cable.yml create mode 100644 blogs/config/database.yml create mode 100644 blogs/config/environment.rb create mode 100644 blogs/config/environments/development.rb create mode 100644 blogs/config/environments/production.rb create mode 100644 blogs/config/environments/test.rb create mode 100644 blogs/config/initializers/application_controller_renderer.rb create mode 100644 blogs/config/initializers/assets.rb create mode 100644 blogs/config/initializers/backtrace_silencers.rb create mode 100644 blogs/config/initializers/cookies_serializer.rb create mode 100644 blogs/config/initializers/filter_parameter_logging.rb create mode 100644 blogs/config/initializers/inflections.rb create mode 100644 blogs/config/initializers/mime_types.rb create mode 100644 blogs/config/initializers/new_framework_defaults.rb create mode 100644 blogs/config/initializers/session_store.rb create mode 100644 blogs/config/initializers/wrap_parameters.rb create mode 100644 blogs/config/locales/en.yml create mode 100644 blogs/config/puma.rb create mode 100644 blogs/config/routes.rb create mode 100644 blogs/config/secrets.yml create mode 100644 blogs/config/spring.rb create mode 100644 blogs/db/migrate/20170313115524_create_users.rb create mode 100644 blogs/db/schema.rb create mode 100644 blogs/db/seeds.rb create mode 100644 blogs/lib/assets/.keep create mode 100644 blogs/lib/tasks/.keep create mode 100644 blogs/log/.keep create mode 100644 blogs/public/404.html create mode 100644 blogs/public/422.html create mode 100644 blogs/public/500.html create mode 100644 blogs/public/apple-touch-icon-precomposed.png create mode 100644 blogs/public/apple-touch-icon.png create mode 100644 blogs/public/favicon.ico create mode 100644 blogs/public/robots.txt create mode 100644 blogs/test/controllers/.keep create mode 100644 blogs/test/controllers/users_controller_test.rb create mode 100644 blogs/test/fixtures/.keep create mode 100644 blogs/test/fixtures/files/.keep create mode 100644 blogs/test/fixtures/users.yml create mode 100644 blogs/test/helpers/.keep create mode 100644 blogs/test/integration/.keep create mode 100644 blogs/test/mailers/.keep create mode 100644 blogs/test/models/.keep create mode 100644 blogs/test/models/user_test.rb create mode 100644 blogs/test/test_helper.rb create mode 100644 blogs/tmp/.keep create mode 100644 blogs/vendor/assets/javascripts/.keep create mode 100644 blogs/vendor/assets/stylesheets/.keep create mode 100644 sntthun.rb create mode 100644 uclnofarray.rb diff --git a/bcnnofarray.rb b/bcnnofarray.rb new file mode 100644 index 0000000..da355c3 --- /dev/null +++ b/bcnnofarray.rb @@ -0,0 +1,24 @@ +def ucln a, b + b == 0 ? a : ucln(b, a % b) +end + +def bcnn a, b + result = a * b / (ucln a, b) +end + +def bcnnofarray + a = [1,2,3,4,5,6,7,8,9] + + if a.length == 1 + tmp = a[0] + else + tmp = a[0] + for i in (1...a.length) + tmp = bcnn(tmp, a[i]) + end + end + puts tmp + +end + +bcnnofarray \ No newline at end of file diff --git a/blogs/.gitignore b/blogs/.gitignore new file mode 100644 index 0000000..bab620d --- /dev/null +++ b/blogs/.gitignore @@ -0,0 +1,21 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore the default SQLite database. +/db/*.sqlite3 +/db/*.sqlite3-journal + +# Ignore all logfiles and tempfiles. +/log/* +/tmp/* +!/log/.keep +!/tmp/.keep + +# Ignore Byebug command history file. +.byebug_history diff --git a/blogs/Gemfile b/blogs/Gemfile new file mode 100644 index 0000000..b5fbf94 --- /dev/null +++ b/blogs/Gemfile @@ -0,0 +1,53 @@ +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.0.2' +# Use sqlite3 as the database for Active Record +gem 'sqlite3' +# Use Puma as the app server +gem 'puma', '~> 3.0' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.2' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'therubyracer', platforms: :ruby + +# Use jquery as the JavaScript library +gem 'jquery-rails' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 3.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platform: :mri +end + +group :development do + # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '~> 3.0.5' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/blogs/Gemfile.lock b/blogs/Gemfile.lock new file mode 100644 index 0000000..5a8cef1 --- /dev/null +++ b/blogs/Gemfile.lock @@ -0,0 +1,174 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.0.2) + actionpack (= 5.0.2) + nio4r (>= 1.2, < 3.0) + websocket-driver (~> 0.6.1) + actionmailer (5.0.2) + actionpack (= 5.0.2) + actionview (= 5.0.2) + activejob (= 5.0.2) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.0.2) + actionview (= 5.0.2) + activesupport (= 5.0.2) + rack (~> 2.0) + rack-test (~> 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.0.2) + activesupport (= 5.0.2) + builder (~> 3.1) + erubis (~> 2.7.0) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.0.2) + activesupport (= 5.0.2) + globalid (>= 0.3.6) + activemodel (5.0.2) + activesupport (= 5.0.2) + activerecord (5.0.2) + activemodel (= 5.0.2) + activesupport (= 5.0.2) + arel (~> 7.0) + activesupport (5.0.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + arel (7.1.4) + builder (3.2.3) + byebug (9.0.6) + coffee-rails (4.2.1) + coffee-script (>= 2.2.0) + railties (>= 4.0.0, < 5.2.x) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + debug_inspector (0.0.2) + erubis (2.7.0) + execjs (2.7.0) + ffi (1.9.18) + globalid (0.3.7) + activesupport (>= 4.1.0) + i18n (0.8.1) + jbuilder (2.6.3) + activesupport (>= 3.0.0, < 5.2) + multi_json (~> 1.2) + jquery-rails (4.2.2) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + loofah (2.0.3) + nokogiri (>= 1.5.9) + mail (2.6.4) + mime-types (>= 1.16, < 4) + method_source (0.8.2) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_portile2 (2.1.0) + minitest (5.10.1) + multi_json (1.12.1) + nio4r (2.0.0) + nokogiri (1.7.0.1) + mini_portile2 (~> 2.1.0) + puma (3.8.1) + rack (2.0.1) + rack-test (0.6.3) + rack (>= 1.0) + rails (5.0.2) + actioncable (= 5.0.2) + actionmailer (= 5.0.2) + actionpack (= 5.0.2) + actionview (= 5.0.2) + activejob (= 5.0.2) + activemodel (= 5.0.2) + activerecord (= 5.0.2) + activesupport (= 5.0.2) + bundler (>= 1.3.0, < 2.0) + railties (= 5.0.2) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.2) + activesupport (>= 4.2.0, < 6.0) + nokogiri (~> 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + railties (5.0.2) + actionpack (= 5.0.2) + activesupport (= 5.0.2) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (12.0.0) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) + ffi (>= 0.5.0) + sass (3.4.23) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + spring (2.0.1) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.0) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + sqlite3 (1.3.13) + thor (0.19.4) + thread_safe (0.3.6) + tilt (2.0.6) + turbolinks (5.0.1) + turbolinks-source (~> 5) + turbolinks-source (5.0.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + uglifier (3.1.7) + execjs (>= 0.3.0, < 3) + web-console (3.4.0) + actionview (>= 5.0) + activemodel (>= 5.0) + debug_inspector + railties (>= 5.0) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + +PLATFORMS + ruby + +DEPENDENCIES + byebug + coffee-rails (~> 4.2) + jbuilder (~> 2.5) + jquery-rails + listen (~> 3.0.5) + puma (~> 3.0) + rails (~> 5.0.2) + sass-rails (~> 5.0) + spring + spring-watcher-listen (~> 2.0.0) + sqlite3 + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +BUNDLED WITH + 1.14.6 diff --git a/blogs/README.md b/blogs/README.md new file mode 100644 index 0000000..7db80e4 --- /dev/null +++ b/blogs/README.md @@ -0,0 +1,24 @@ +# README + +This README would normally document whatever steps are necessary to get the +application up and running. + +Things you may want to cover: + +* Ruby version + +* System dependencies + +* Configuration + +* Database creation + +* Database initialization + +* How to run the test suite + +* Services (job queues, cache servers, search engines, etc.) + +* Deployment instructions + +* ... diff --git a/blogs/Rakefile b/blogs/Rakefile new file mode 100644 index 0000000..e85f913 --- /dev/null +++ b/blogs/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/blogs/app/assets/config/manifest.js b/blogs/app/assets/config/manifest.js new file mode 100644 index 0000000..b16e53d --- /dev/null +++ b/blogs/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/blogs/app/assets/images/.keep b/blogs/app/assets/images/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/app/assets/javascripts/application.js b/blogs/app/assets/javascripts/application.js new file mode 100644 index 0000000..b12018d --- /dev/null +++ b/blogs/app/assets/javascripts/application.js @@ -0,0 +1,16 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require jquery +//= require jquery_ujs +//= require turbolinks +//= require_tree . diff --git a/blogs/app/assets/javascripts/cable.js b/blogs/app/assets/javascripts/cable.js new file mode 100644 index 0000000..71ee1e6 --- /dev/null +++ b/blogs/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the rails generate channel command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/blogs/app/assets/javascripts/channels/.keep b/blogs/app/assets/javascripts/channels/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/app/assets/javascripts/users.coffee b/blogs/app/assets/javascripts/users.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/blogs/app/assets/javascripts/users.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/blogs/app/assets/stylesheets/application.css b/blogs/app/assets/stylesheets/application.css new file mode 100644 index 0000000..0ebd7fe --- /dev/null +++ b/blogs/app/assets/stylesheets/application.css @@ -0,0 +1,15 @@ +/* + * 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, vendor/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/blogs/app/assets/stylesheets/scaffolds.scss b/blogs/app/assets/stylesheets/scaffolds.scss new file mode 100644 index 0000000..4ce4266 --- /dev/null +++ b/blogs/app/assets/stylesheets/scaffolds.scss @@ -0,0 +1,89 @@ +body { + background-color: #fff; + color: #333; + font-family: verdana, arial, helvetica, sans-serif; + font-size: 13px; + line-height: 18px; + margin: 33px; +} + +p, ol, ul, td { + font-family: verdana, arial, helvetica, sans-serif; + font-size: 13px; + line-height: 18px; + margin: 33px; +} + +pre { + background-color: #eee; + padding: 10px; + font-size: 11px; +} + +a { + color: #000; + + &:visited { + color: #666; + } + + &:hover { + color: #fff; + background-color: #000; + } +} + +th { + padding-bottom: 5px; +} + +td { + padding-bottom: 7px; + padding-left: 5px; + padding-right: 5px; +} + +div { + &.field, &.actions { + margin-bottom: 10px; + } +} + +#notice { + color: green; +} + +.field_with_errors { + padding: 2px; + background-color: red; + display: table; +} + +#error_explanation { + width: 450px; + border: 2px solid red; + padding: 7px; + padding-bottom: 0; + margin-bottom: 20px; + background-color: #f0f0f0; + + h2 { + text-align: left; + font-weight: bold; + padding: 5px 5px 5px 15px; + font-size: 12px; + margin: -7px; + margin-bottom: 0; + background-color: #c00; + color: #fff; + } + + ul li { + font-size: 12px; + list-style: square; + } +} + +label { + display: block; +} diff --git a/blogs/app/assets/stylesheets/users.scss b/blogs/app/assets/stylesheets/users.scss new file mode 100644 index 0000000..31a2eac --- /dev/null +++ b/blogs/app/assets/stylesheets/users.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Users controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/blogs/app/channels/application_cable/channel.rb b/blogs/app/channels/application_cable/channel.rb new file mode 100644 index 0000000..d672697 --- /dev/null +++ b/blogs/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/blogs/app/channels/application_cable/connection.rb b/blogs/app/channels/application_cable/connection.rb new file mode 100644 index 0000000..0ff5442 --- /dev/null +++ b/blogs/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/blogs/app/controllers/application_controller.rb b/blogs/app/controllers/application_controller.rb new file mode 100644 index 0000000..1c07694 --- /dev/null +++ b/blogs/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base + protect_from_forgery with: :exception +end diff --git a/blogs/app/controllers/concerns/.keep b/blogs/app/controllers/concerns/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/app/controllers/users_controller.rb b/blogs/app/controllers/users_controller.rb new file mode 100644 index 0000000..c0f8a5c --- /dev/null +++ b/blogs/app/controllers/users_controller.rb @@ -0,0 +1,78 @@ +class UsersController < ApplicationController + before_action :set_user, only: [:show, :edit, :update, :destroy] + + include UsersHelper + # GET /users + # GET /users.json + def index + # byebug la 1 gem cua ruby giup debug + @users = User.all + @p_hust = print_hust + end + + # GET /users/1 + # GET /users/1.json + def show + end + + # GET /users/new + def new + @user = User.new + end + + # GET /users/1/edit + def edit + end + + # POST /users + # POST /users.json + def create + @user = User.new(user_params) + + + respond_to do |format| + if @user.save + format.html { redirect_to @user, notice: 'User was successfully created.' } + format.json { render :show, status: :created, location: @user } + else + format.html { render :new } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /users/1 + # PATCH/PUT /users/1.json + def update + respond_to do |format| + if @user.update(user_params) + format.html { redirect_to @user, notice: 'User was successfully updated.' } + format.json { render :show, status: :ok, location: @user } + else + format.html { render :edit } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /users/1 + # DELETE /users/1.json + def destroy + @user.destroy + respond_to do |format| + format.html { redirect_to users_url, notice: 'User was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_user + @user = User.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def user_params + params.require(:user).permit(:name, :email) + end +end diff --git a/blogs/app/helpers/application_helper.rb b/blogs/app/helpers/application_helper.rb new file mode 100644 index 0000000..de6be79 --- /dev/null +++ b/blogs/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/blogs/app/helpers/users_helper.rb b/blogs/app/helpers/users_helper.rb new file mode 100644 index 0000000..3a4291d --- /dev/null +++ b/blogs/app/helpers/users_helper.rb @@ -0,0 +1,6 @@ +module UsersHelper + def print_hust + "Hello Lam Beo Bui" + end + +end diff --git a/blogs/app/jobs/application_job.rb b/blogs/app/jobs/application_job.rb new file mode 100644 index 0000000..a009ace --- /dev/null +++ b/blogs/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/blogs/app/mailers/application_mailer.rb b/blogs/app/mailers/application_mailer.rb new file mode 100644 index 0000000..286b223 --- /dev/null +++ b/blogs/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/blogs/app/models/application_record.rb b/blogs/app/models/application_record.rb new file mode 100644 index 0000000..10a4cba --- /dev/null +++ b/blogs/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/blogs/app/models/concerns/.keep b/blogs/app/models/concerns/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/app/models/user.rb b/blogs/app/models/user.rb new file mode 100644 index 0000000..379658a --- /dev/null +++ b/blogs/app/models/user.rb @@ -0,0 +1,2 @@ +class User < ApplicationRecord +end diff --git a/blogs/app/views/layouts/application.html.erb b/blogs/app/views/layouts/application.html.erb new file mode 100644 index 0000000..1db7596 --- /dev/null +++ b/blogs/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + Blogs + <%= csrf_meta_tags %> + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + + + + <%= yield %> + + diff --git a/blogs/app/views/layouts/mailer.html.erb b/blogs/app/views/layouts/mailer.html.erb new file mode 100644 index 0000000..cbd34d2 --- /dev/null +++ b/blogs/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/blogs/app/views/layouts/mailer.text.erb b/blogs/app/views/layouts/mailer.text.erb new file mode 100644 index 0000000..37f0bdd --- /dev/null +++ b/blogs/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/blogs/app/views/users/_form.html.erb b/blogs/app/views/users/_form.html.erb new file mode 100644 index 0000000..90688af --- /dev/null +++ b/blogs/app/views/users/_form.html.erb @@ -0,0 +1,27 @@ +<%= form_for(user) do |f| %> + <% if user.errors.any? %> +
+

<%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:

+ + +
+ <% end %> + +
+ <%= f.label :name %> + <%= f.text_field :name %> +
+ +
+ <%= f.label :email %> + <%= f.text_field :email %> +
+ +
+ <%= f.submit %> +
+<% end %> diff --git a/blogs/app/views/users/_user.json.jbuilder b/blogs/app/views/users/_user.json.jbuilder new file mode 100644 index 0000000..bc21008 --- /dev/null +++ b/blogs/app/views/users/_user.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! user, :id, :name, :email, :created_at, :updated_at +json.url user_url(user, format: :json) diff --git a/blogs/app/views/users/edit.html.erb b/blogs/app/views/users/edit.html.erb new file mode 100644 index 0000000..1a5c2a6 --- /dev/null +++ b/blogs/app/views/users/edit.html.erb @@ -0,0 +1,6 @@ +

Editing User

+ +<%= render 'form', user: @user %> + +<%= link_to 'Show', @user %> | +<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/index.html.erb b/blogs/app/views/users/index.html.erb new file mode 100644 index 0000000..aad030e --- /dev/null +++ b/blogs/app/views/users/index.html.erb @@ -0,0 +1,29 @@ +

<%= notice %>

+ +

<%=@p_hust%>

+ + + + + + + + + + + + <% @users.each do |user| %> + + + + + + + + <% end %> + +
NameEmail
<%= user.name %><%= user.email %><%= link_to 'Show', user %><%= link_to 'Edit', edit_user_path(user) %><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New User', new_user_path %> diff --git a/blogs/app/views/users/index.json.jbuilder b/blogs/app/views/users/index.json.jbuilder new file mode 100644 index 0000000..2faf5af --- /dev/null +++ b/blogs/app/views/users/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @users, partial: 'users/user', as: :user diff --git a/blogs/app/views/users/new.html.erb b/blogs/app/views/users/new.html.erb new file mode 100644 index 0000000..844c39b --- /dev/null +++ b/blogs/app/views/users/new.html.erb @@ -0,0 +1,5 @@ +

New User

+ +<%= render 'form', user: @user %> + +<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/show.html.erb b/blogs/app/views/users/show.html.erb new file mode 100644 index 0000000..3816c64 --- /dev/null +++ b/blogs/app/views/users/show.html.erb @@ -0,0 +1,14 @@ +

<%= notice %>

+ +

+ Name: + <%= @user.name %> +

+ +

+ Email: + <%= @user.email %> +

+ +<%= link_to 'Edit', edit_user_path(@user) %> | +<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/show.json.jbuilder b/blogs/app/views/users/show.json.jbuilder new file mode 100644 index 0000000..ff40bb9 --- /dev/null +++ b/blogs/app/views/users/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "users/user", user: @user diff --git a/blogs/bin/bundle b/blogs/bin/bundle new file mode 100755 index 0000000..66e9889 --- /dev/null +++ b/blogs/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/blogs/bin/rails b/blogs/bin/rails new file mode 100755 index 0000000..0739660 --- /dev/null +++ b/blogs/bin/rails @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/blogs/bin/rake b/blogs/bin/rake new file mode 100755 index 0000000..1724048 --- /dev/null +++ b/blogs/bin/rake @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/blogs/bin/setup b/blogs/bin/setup new file mode 100755 index 0000000..e620b4d --- /dev/null +++ b/blogs/bin/setup @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/blogs/bin/update b/blogs/bin/update new file mode 100755 index 0000000..a8e4462 --- /dev/null +++ b/blogs/bin/update @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/blogs/config.ru b/blogs/config.ru new file mode 100644 index 0000000..f7ba0b5 --- /dev/null +++ b/blogs/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/blogs/config/application.rb b/blogs/config/application.rb new file mode 100644 index 0000000..377680d --- /dev/null +++ b/blogs/config/application.rb @@ -0,0 +1,15 @@ +require_relative 'boot' + +require 'rails/all' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module Blogs + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + end +end diff --git a/blogs/config/boot.rb b/blogs/config/boot.rb new file mode 100644 index 0000000..30f5120 --- /dev/null +++ b/blogs/config/boot.rb @@ -0,0 +1,3 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/blogs/config/cable.yml b/blogs/config/cable.yml new file mode 100644 index 0000000..0bbde6f --- /dev/null +++ b/blogs/config/cable.yml @@ -0,0 +1,9 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: redis://localhost:6379/1 diff --git a/blogs/config/database.yml b/blogs/config/database.yml new file mode 100644 index 0000000..1c1a37c --- /dev/null +++ b/blogs/config/database.yml @@ -0,0 +1,25 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +# +default: &default + adapter: sqlite3 + pool: 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/blogs/config/environment.rb b/blogs/config/environment.rb new file mode 100644 index 0000000..426333b --- /dev/null +++ b/blogs/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/blogs/config/environments/development.rb b/blogs/config/environments/development.rb new file mode 100644 index 0000000..6f71970 --- /dev/null +++ b/blogs/config/environments/development.rb @@ -0,0 +1,54 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + if Rails.root.join('tmp/caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=172800' + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/blogs/config/environments/production.rb b/blogs/config/environments/production.rb new file mode 100644 index 0000000..1879d24 --- /dev/null +++ b/blogs/config/environments/production.rb @@ -0,0 +1,86 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Mount Action Cable outside main process or domain + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment) + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "blogs_#{Rails.env}" + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false +end diff --git a/blogs/config/environments/test.rb b/blogs/config/environments/test.rb new file mode 100644 index 0000000..30587ef --- /dev/null +++ b/blogs/config/environments/test.rb @@ -0,0 +1,42 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=3600' + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true +end diff --git a/blogs/config/initializers/application_controller_renderer.rb b/blogs/config/initializers/application_controller_renderer.rb new file mode 100644 index 0000000..51639b6 --- /dev/null +++ b/blogs/config/initializers/application_controller_renderer.rb @@ -0,0 +1,6 @@ +# Be sure to restart your server when you modify this file. + +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) diff --git a/blogs/config/initializers/assets.rb b/blogs/config/initializers/assets.rb new file mode 100644 index 0000000..01ef3e6 --- /dev/null +++ b/blogs/config/initializers/assets.rb @@ -0,0 +1,11 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path +# Rails.application.config.assets.paths << Emoji.images_path + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. +# Rails.application.config.assets.precompile += %w( search.js ) diff --git a/blogs/config/initializers/backtrace_silencers.rb b/blogs/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000..59385cd --- /dev/null +++ b/blogs/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/blogs/config/initializers/cookies_serializer.rb b/blogs/config/initializers/cookies_serializer.rb new file mode 100644 index 0000000..5a6a32d --- /dev/null +++ b/blogs/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/blogs/config/initializers/filter_parameter_logging.rb b/blogs/config/initializers/filter_parameter_logging.rb new file mode 100644 index 0000000..4a994e1 --- /dev/null +++ b/blogs/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/blogs/config/initializers/inflections.rb b/blogs/config/initializers/inflections.rb new file mode 100644 index 0000000..ac033bf --- /dev/null +++ b/blogs/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/blogs/config/initializers/mime_types.rb b/blogs/config/initializers/mime_types.rb new file mode 100644 index 0000000..dc18996 --- /dev/null +++ b/blogs/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/blogs/config/initializers/new_framework_defaults.rb b/blogs/config/initializers/new_framework_defaults.rb new file mode 100644 index 0000000..671abb6 --- /dev/null +++ b/blogs/config/initializers/new_framework_defaults.rb @@ -0,0 +1,24 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains migration options to ease your Rails 5.0 upgrade. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. + +# Enable per-form CSRF tokens. Previous versions had false. +Rails.application.config.action_controller.per_form_csrf_tokens = true + +# Enable origin-checking CSRF mitigation. Previous versions had false. +Rails.application.config.action_controller.forgery_protection_origin_check = true + +# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`. +# Previous versions had false. +ActiveSupport.to_time_preserves_timezone = true + +# Require `belongs_to` associations by default. Previous versions had false. +Rails.application.config.active_record.belongs_to_required_by_default = true + +# Do not halt callback chains when a callback returns false. Previous versions had true. +ActiveSupport.halt_callback_chains_on_return_false = false + +# Configure SSL options to enable HSTS with subdomains. Previous versions had false. +Rails.application.config.ssl_options = { hsts: { subdomains: true } } diff --git a/blogs/config/initializers/session_store.rb b/blogs/config/initializers/session_store.rb new file mode 100644 index 0000000..ef84247 --- /dev/null +++ b/blogs/config/initializers/session_store.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.session_store :cookie_store, key: '_blogs_session' diff --git a/blogs/config/initializers/wrap_parameters.rb b/blogs/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000..bbfc396 --- /dev/null +++ b/blogs/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/blogs/config/locales/en.yml b/blogs/config/locales/en.yml new file mode 100644 index 0000000..0653957 --- /dev/null +++ b/blogs/config/locales/en.yml @@ -0,0 +1,23 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/blogs/config/puma.rb b/blogs/config/puma.rb new file mode 100644 index 0000000..c7f311f --- /dev/null +++ b/blogs/config/puma.rb @@ -0,0 +1,47 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum, this matches the default thread size of Active Record. +# +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i +threads threads_count, threads_count + +# Specifies the `port` that Puma will listen on to receive requests, default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked webserver processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. If you use this option +# you need to make sure to reconnect any threads in the `on_worker_boot` +# block. +# +# preload_app! + +# The code in the `on_worker_boot` will be called if you are using +# clustered mode by specifying a number of `workers`. After each worker +# process is booted this block will be run, if you are using `preload_app!` +# option you will want to use this block to reconnect to any threads +# or connections that may have been created at application boot, Ruby +# cannot share connections between processes. +# +# on_worker_boot do +# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) +# end + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/blogs/config/routes.rb b/blogs/config/routes.rb new file mode 100644 index 0000000..ef522ca --- /dev/null +++ b/blogs/config/routes.rb @@ -0,0 +1,5 @@ +Rails.application.routes.draw do + root "users#index" # chuyen huong den users khi dang nhap vao trang chu + resources :users + # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html +end diff --git a/blogs/config/secrets.yml b/blogs/config/secrets.yml new file mode 100644 index 0000000..8c41ac5 --- /dev/null +++ b/blogs/config/secrets.yml @@ -0,0 +1,22 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rails secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +development: + secret_key_base: 3ce730b26c95fe4275ec08f95df8a2bf622ef3f0046a693df56a3c7f27c252c1280c3d86cda7f4a70dc2834b3e50cf68583d5b5328e7e02b2532978d5f69ac7e + +test: + secret_key_base: 7ccca60903c00a64b4eb460156434113e7fdec4b6bcfdac053fe2e43366ffaa4a85a1a6423ff7a1e156ff58a8103d16e1bf7a596ef713af571f715c941621081 + +# Do not keep production secrets in the repository, +# instead read values from the environment. +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/blogs/config/spring.rb b/blogs/config/spring.rb new file mode 100644 index 0000000..c9119b4 --- /dev/null +++ b/blogs/config/spring.rb @@ -0,0 +1,6 @@ +%w( + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +).each { |path| Spring.watch(path) } diff --git a/blogs/db/migrate/20170313115524_create_users.rb b/blogs/db/migrate/20170313115524_create_users.rb new file mode 100644 index 0000000..7ed2370 --- /dev/null +++ b/blogs/db/migrate/20170313115524_create_users.rb @@ -0,0 +1,10 @@ +class CreateUsers < ActiveRecord::Migration[5.0] + def change + create_table :users do |t| + t.string :name + t.string :email + + t.timestamps + end + end +end diff --git a/blogs/db/schema.rb b/blogs/db/schema.rb new file mode 100644 index 0000000..93245b5 --- /dev/null +++ b/blogs/db/schema.rb @@ -0,0 +1,22 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20170313115524) do + + create_table "users", force: :cascade do |t| + t.string "name" + t.string "email" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + +end diff --git a/blogs/db/seeds.rb b/blogs/db/seeds.rb new file mode 100644 index 0000000..1beea2a --- /dev/null +++ b/blogs/db/seeds.rb @@ -0,0 +1,7 @@ +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). +# +# Examples: +# +# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) +# Character.create(name: 'Luke', movie: movies.first) diff --git a/blogs/lib/assets/.keep b/blogs/lib/assets/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/lib/tasks/.keep b/blogs/lib/tasks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/log/.keep b/blogs/log/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/public/404.html b/blogs/public/404.html new file mode 100644 index 0000000..b612547 --- /dev/null +++ b/blogs/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/blogs/public/422.html b/blogs/public/422.html new file mode 100644 index 0000000..a21f82b --- /dev/null +++ b/blogs/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/blogs/public/500.html b/blogs/public/500.html new file mode 100644 index 0000000..061abc5 --- /dev/null +++ b/blogs/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/blogs/public/apple-touch-icon-precomposed.png b/blogs/public/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..e69de29 diff --git a/blogs/public/apple-touch-icon.png b/blogs/public/apple-touch-icon.png new file mode 100644 index 0000000..e69de29 diff --git a/blogs/public/favicon.ico b/blogs/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/blogs/public/robots.txt b/blogs/public/robots.txt new file mode 100644 index 0000000..3c9c7c0 --- /dev/null +++ b/blogs/public/robots.txt @@ -0,0 +1,5 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file +# +# To ban all spiders from the entire site uncomment the next two lines: +# User-agent: * +# Disallow: / diff --git a/blogs/test/controllers/.keep b/blogs/test/controllers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/controllers/users_controller_test.rb b/blogs/test/controllers/users_controller_test.rb new file mode 100644 index 0000000..f45042b --- /dev/null +++ b/blogs/test/controllers/users_controller_test.rb @@ -0,0 +1,48 @@ +require 'test_helper' + +class UsersControllerTest < ActionDispatch::IntegrationTest + setup do + @user = users(:one) + end + + test "should get index" do + get users_url + assert_response :success + end + + test "should get new" do + get new_user_url + assert_response :success + end + + test "should create user" do + assert_difference('User.count') do + post users_url, params: { user: { email: @user.email, name: @user.name } } + end + + assert_redirected_to user_url(User.last) + end + + test "should show user" do + get user_url(@user) + assert_response :success + end + + test "should get edit" do + get edit_user_url(@user) + assert_response :success + end + + test "should update user" do + patch user_url(@user), params: { user: { email: @user.email, name: @user.name } } + assert_redirected_to user_url(@user) + end + + test "should destroy user" do + assert_difference('User.count', -1) do + delete user_url(@user) + end + + assert_redirected_to users_url + end +end diff --git a/blogs/test/fixtures/.keep b/blogs/test/fixtures/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/fixtures/files/.keep b/blogs/test/fixtures/files/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/fixtures/users.yml b/blogs/test/fixtures/users.yml new file mode 100644 index 0000000..5dc4ddf --- /dev/null +++ b/blogs/test/fixtures/users.yml @@ -0,0 +1,9 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: MyString + email: MyString + +two: + name: MyString + email: MyString diff --git a/blogs/test/helpers/.keep b/blogs/test/helpers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/integration/.keep b/blogs/test/integration/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/mailers/.keep b/blogs/test/mailers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/models/.keep b/blogs/test/models/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/test/models/user_test.rb b/blogs/test/models/user_test.rb new file mode 100644 index 0000000..82f61e0 --- /dev/null +++ b/blogs/test/models/user_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class UserTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/blogs/test/test_helper.rb b/blogs/test/test_helper.rb new file mode 100644 index 0000000..92e39b2 --- /dev/null +++ b/blogs/test/test_helper.rb @@ -0,0 +1,10 @@ +ENV['RAILS_ENV'] ||= 'test' +require File.expand_path('../../config/environment', __FILE__) +require 'rails/test_help' + +class ActiveSupport::TestCase + # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. + fixtures :all + + # Add more helper methods to be used by all tests here... +end diff --git a/blogs/tmp/.keep b/blogs/tmp/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/vendor/assets/javascripts/.keep b/blogs/vendor/assets/javascripts/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blogs/vendor/assets/stylesheets/.keep b/blogs/vendor/assets/stylesheets/.keep new file mode 100644 index 0000000..e69de29 diff --git a/sntthun.rb b/sntthun.rb new file mode 100644 index 0000000..fa5fb9d --- /dev/null +++ b/sntthun.rb @@ -0,0 +1,28 @@ +def is_primes? n + if n <= 1 + false + elsif n == 2 + true + else + (2..n/2).none?{|i| n % i == 0} + end +end + +def find_prime n + primes = [] + i = 2 + count = 0 + while i > 1 && count != n + if is_primes? i + primes << i + count = count + 1 + end + i = i + 1 + if count == n + puts primes + end + end +end + +find_prime 6 + \ No newline at end of file diff --git a/uclnofarray.rb b/uclnofarray.rb new file mode 100644 index 0000000..25fcc55 --- /dev/null +++ b/uclnofarray.rb @@ -0,0 +1,20 @@ +def ucln a, b + b == 0 ? a : ucln(b, a % b) +end + +def uclnofarray + a = [1,2,3,4,5,6,7,8,9] + if a.length == 1 + tmp = a[0] + else + tmp = a[0] + for i in (1...a.length) + tmp = ucln(tmp, a[i]) + end + end + puts tmp +end + +uclnofarray + + From 8a4bfb9d05af374272ef3dfa123317beddc849dc Mon Sep 17 00:00:00 2001 From: s2luckyboy Date: Thu, 16 Mar 2017 16:17:43 +0700 Subject: [PATCH 2/2] user_model --- blogs/Gemfile => Gemfile | 0 blogs/Gemfile.lock => Gemfile.lock | 2 +- LICENSE | 21 --- blogs/README.md => README.md | 0 blogs/Rakefile => Rakefile | 0 {blogs/app => app}/assets/config/manifest.js | 0 {blogs/app => app}/assets/images/.keep | 0 .../assets/javascripts/application.js | 0 .../app => app}/assets/javascripts/cable.js | 0 .../assets/javascripts/channels/.keep | 0 .../assets/stylesheets/application.css | 0 .../channels/application_cable/channel.rb | 0 .../channels/application_cable/connection.rb | 0 .../controllers/application_controller.rb | 0 {blogs/app => app}/controllers/concerns/.keep | 0 .../app => app}/helpers/application_helper.rb | 0 {blogs/app => app}/jobs/application_job.rb | 0 .../app => app}/mailers/application_mailer.rb | 0 .../app => app}/models/application_record.rb | 0 {blogs/app => app}/models/concerns/.keep | 0 app/models/user.rb | 24 +++ .../views/layouts/application.html.erb | 2 +- .../app => app}/views/layouts/mailer.html.erb | 0 .../app => app}/views/layouts/mailer.text.erb | 0 bcnnofarray.rb | 24 --- {blogs/bin => bin}/bundle | 0 {blogs/bin => bin}/rails | 5 + bin/rake | 9 ++ {blogs/bin => bin}/setup | 0 bin/spring | 17 +++ {blogs/bin => bin}/update | 0 blogs/.gitignore | 21 --- blogs/app/assets/javascripts/users.coffee | 3 - blogs/app/assets/stylesheets/scaffolds.scss | 89 ----------- blogs/app/assets/stylesheets/users.scss | 3 - blogs/app/controllers/users_controller.rb | 78 ---------- blogs/app/helpers/users_helper.rb | 6 - blogs/app/models/user.rb | 2 - blogs/app/views/users/_form.html.erb | 27 ---- blogs/app/views/users/_user.json.jbuilder | 2 - blogs/app/views/users/edit.html.erb | 6 - blogs/app/views/users/index.html.erb | 29 ---- blogs/app/views/users/index.json.jbuilder | 1 - blogs/app/views/users/new.html.erb | 5 - blogs/app/views/users/show.html.erb | 14 -- blogs/app/views/users/show.json.jbuilder | 1 - blogs/bin/rake | 4 - blogs/config/initializers/session_store.rb | 3 - .../test/controllers/users_controller_test.rb | 48 ------ blogs/vendor/assets/stylesheets/.keep | 0 blogs/config.ru => config.ru | 0 {blogs/config => config}/application.rb | 2 +- {blogs/config => config}/boot.rb | 0 {blogs/config => config}/cable.yml | 0 {blogs/config => config}/database.yml | 0 {blogs/config => config}/environment.rb | 0 .../environments/development.rb | 0 .../environments/production.rb | 2 +- {blogs/config => config}/environments/test.rb | 0 .../application_controller_renderer.rb | 0 .../config => config}/initializers/assets.rb | 0 .../initializers/backtrace_silencers.rb | 0 .../initializers/cookies_serializer.rb | 0 .../initializers/filter_parameter_logging.rb | 0 .../initializers/inflections.rb | 0 .../initializers/mime_types.rb | 0 .../initializers/new_framework_defaults.rb | 0 config/initializers/session_store.rb | 3 + .../initializers/wrap_parameters.rb | 0 {blogs/config => config}/locales/en.yml | 0 {blogs/config => config}/puma.rb | 0 {blogs/config => config}/routes.rb | 2 - {blogs/config => config}/secrets.yml | 4 +- {blogs/config => config}/spring.rb | 0 db/development.sqlite3 | Bin 0 -> 7168 bytes .../migrate/20170316074855_create_users.rb | 2 + {blogs/db => db}/schema.rb | 4 +- {blogs/db => db}/seeds.rb | 0 {blogs/lib => lib}/assets/.keep | 0 {blogs/lib => lib}/tasks/.keep | 0 {blogs/log => log}/.keep | 0 log/development.log | 144 ++++++++++++++++++ {blogs/public => public}/404.html | 0 {blogs/public => public}/422.html | 0 {blogs/public => public}/500.html | 0 .../apple-touch-icon-precomposed.png | 0 {blogs/public => public}/apple-touch-icon.png | 0 {blogs/public => public}/favicon.ico | 0 {blogs/public => public}/robots.txt | 0 sntthun.rb | 28 ---- {blogs/test => test}/controllers/.keep | 0 {blogs/test => test}/fixtures/.keep | 0 {blogs/test => test}/fixtures/files/.keep | 0 {blogs/test => test}/fixtures/users.yml | 4 + {blogs/test => test}/helpers/.keep | 0 {blogs/test => test}/integration/.keep | 0 {blogs/test => test}/mailers/.keep | 0 {blogs/test => test}/models/.keep | 0 {blogs/test => test}/models/user_test.rb | 0 {blogs/test => test}/test_helper.rb | 0 uclnofarray.rb | 20 --- .../tmp => vendor/assets/javascripts}/.keep | 0 .../assets/stylesheets}/.keep | 0 103 files changed, 217 insertions(+), 444 deletions(-) rename blogs/Gemfile => Gemfile (100%) rename blogs/Gemfile.lock => Gemfile.lock (99%) delete mode 100644 LICENSE rename blogs/README.md => README.md (100%) rename blogs/Rakefile => Rakefile (100%) rename {blogs/app => app}/assets/config/manifest.js (100%) rename {blogs/app => app}/assets/images/.keep (100%) rename {blogs/app => app}/assets/javascripts/application.js (100%) rename {blogs/app => app}/assets/javascripts/cable.js (100%) rename {blogs/app => app}/assets/javascripts/channels/.keep (100%) rename {blogs/app => app}/assets/stylesheets/application.css (100%) rename {blogs/app => app}/channels/application_cable/channel.rb (100%) rename {blogs/app => app}/channels/application_cable/connection.rb (100%) rename {blogs/app => app}/controllers/application_controller.rb (100%) rename {blogs/app => app}/controllers/concerns/.keep (100%) rename {blogs/app => app}/helpers/application_helper.rb (100%) rename {blogs/app => app}/jobs/application_job.rb (100%) rename {blogs/app => app}/mailers/application_mailer.rb (100%) rename {blogs/app => app}/models/application_record.rb (100%) rename {blogs/app => app}/models/concerns/.keep (100%) create mode 100644 app/models/user.rb rename {blogs/app => app}/views/layouts/application.html.erb (91%) rename {blogs/app => app}/views/layouts/mailer.html.erb (100%) rename {blogs/app => app}/views/layouts/mailer.text.erb (100%) delete mode 100644 bcnnofarray.rb rename {blogs/bin => bin}/bundle (100%) rename {blogs/bin => bin}/rails (53%) create mode 100755 bin/rake rename {blogs/bin => bin}/setup (100%) create mode 100755 bin/spring rename {blogs/bin => bin}/update (100%) delete mode 100644 blogs/.gitignore delete mode 100644 blogs/app/assets/javascripts/users.coffee delete mode 100644 blogs/app/assets/stylesheets/scaffolds.scss delete mode 100644 blogs/app/assets/stylesheets/users.scss delete mode 100644 blogs/app/controllers/users_controller.rb delete mode 100644 blogs/app/helpers/users_helper.rb delete mode 100644 blogs/app/models/user.rb delete mode 100644 blogs/app/views/users/_form.html.erb delete mode 100644 blogs/app/views/users/_user.json.jbuilder delete mode 100644 blogs/app/views/users/edit.html.erb delete mode 100644 blogs/app/views/users/index.html.erb delete mode 100644 blogs/app/views/users/index.json.jbuilder delete mode 100644 blogs/app/views/users/new.html.erb delete mode 100644 blogs/app/views/users/show.html.erb delete mode 100644 blogs/app/views/users/show.json.jbuilder delete mode 100755 blogs/bin/rake delete mode 100644 blogs/config/initializers/session_store.rb delete mode 100644 blogs/test/controllers/users_controller_test.rb delete mode 100644 blogs/vendor/assets/stylesheets/.keep rename blogs/config.ru => config.ru (100%) rename {blogs/config => config}/application.rb (96%) rename {blogs/config => config}/boot.rb (100%) rename {blogs/config => config}/cable.yml (100%) rename {blogs/config => config}/database.yml (100%) rename {blogs/config => config}/environment.rb (100%) rename {blogs/config => config}/environments/development.rb (100%) rename {blogs/config => config}/environments/production.rb (98%) rename {blogs/config => config}/environments/test.rb (100%) rename {blogs/config => config}/initializers/application_controller_renderer.rb (100%) rename {blogs/config => config}/initializers/assets.rb (100%) rename {blogs/config => config}/initializers/backtrace_silencers.rb (100%) rename {blogs/config => config}/initializers/cookies_serializer.rb (100%) rename {blogs/config => config}/initializers/filter_parameter_logging.rb (100%) rename {blogs/config => config}/initializers/inflections.rb (100%) rename {blogs/config => config}/initializers/mime_types.rb (100%) rename {blogs/config => config}/initializers/new_framework_defaults.rb (100%) create mode 100644 config/initializers/session_store.rb rename {blogs/config => config}/initializers/wrap_parameters.rb (100%) rename {blogs/config => config}/locales/en.yml (100%) rename {blogs/config => config}/puma.rb (100%) rename {blogs/config => config}/routes.rb (60%) rename {blogs/config => config}/secrets.yml (69%) rename {blogs/config => config}/spring.rb (100%) create mode 100644 db/development.sqlite3 rename blogs/db/migrate/20170313115524_create_users.rb => db/migrate/20170316074855_create_users.rb (80%) rename {blogs/db => db}/schema.rb (90%) rename {blogs/db => db}/seeds.rb (100%) rename {blogs/lib => lib}/assets/.keep (100%) rename {blogs/lib => lib}/tasks/.keep (100%) rename {blogs/log => log}/.keep (100%) create mode 100644 log/development.log rename {blogs/public => public}/404.html (100%) rename {blogs/public => public}/422.html (100%) rename {blogs/public => public}/500.html (100%) rename {blogs/public => public}/apple-touch-icon-precomposed.png (100%) rename {blogs/public => public}/apple-touch-icon.png (100%) rename {blogs/public => public}/favicon.ico (100%) rename {blogs/public => public}/robots.txt (100%) delete mode 100644 sntthun.rb rename {blogs/test => test}/controllers/.keep (100%) rename {blogs/test => test}/fixtures/.keep (100%) rename {blogs/test => test}/fixtures/files/.keep (100%) rename {blogs/test => test}/fixtures/users.yml (75%) rename {blogs/test => test}/helpers/.keep (100%) rename {blogs/test => test}/integration/.keep (100%) rename {blogs/test => test}/mailers/.keep (100%) rename {blogs/test => test}/models/.keep (100%) rename {blogs/test => test}/models/user_test.rb (100%) rename {blogs/test => test}/test_helper.rb (100%) delete mode 100644 uclnofarray.rb rename {blogs/tmp => vendor/assets/javascripts}/.keep (100%) rename {blogs/vendor/assets/javascripts => vendor/assets/stylesheets}/.keep (100%) diff --git a/blogs/Gemfile b/Gemfile similarity index 100% rename from blogs/Gemfile rename to Gemfile diff --git a/blogs/Gemfile.lock b/Gemfile.lock similarity index 99% rename from blogs/Gemfile.lock rename to Gemfile.lock index 5a8cef1..813f681 100644 --- a/blogs/Gemfile.lock +++ b/Gemfile.lock @@ -80,7 +80,7 @@ GEM nio4r (2.0.0) nokogiri (1.7.0.1) mini_portile2 (~> 2.1.0) - puma (3.8.1) + puma (3.8.2) rack (2.0.1) rack-test (0.6.3) rack (>= 1.0) diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 5b33d60..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 TrungNT - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/blogs/README.md b/README.md similarity index 100% rename from blogs/README.md rename to README.md diff --git a/blogs/Rakefile b/Rakefile similarity index 100% rename from blogs/Rakefile rename to Rakefile diff --git a/blogs/app/assets/config/manifest.js b/app/assets/config/manifest.js similarity index 100% rename from blogs/app/assets/config/manifest.js rename to app/assets/config/manifest.js diff --git a/blogs/app/assets/images/.keep b/app/assets/images/.keep similarity index 100% rename from blogs/app/assets/images/.keep rename to app/assets/images/.keep diff --git a/blogs/app/assets/javascripts/application.js b/app/assets/javascripts/application.js similarity index 100% rename from blogs/app/assets/javascripts/application.js rename to app/assets/javascripts/application.js diff --git a/blogs/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js similarity index 100% rename from blogs/app/assets/javascripts/cable.js rename to app/assets/javascripts/cable.js diff --git a/blogs/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep similarity index 100% rename from blogs/app/assets/javascripts/channels/.keep rename to app/assets/javascripts/channels/.keep diff --git a/blogs/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css similarity index 100% rename from blogs/app/assets/stylesheets/application.css rename to app/assets/stylesheets/application.css diff --git a/blogs/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb similarity index 100% rename from blogs/app/channels/application_cable/channel.rb rename to app/channels/application_cable/channel.rb diff --git a/blogs/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb similarity index 100% rename from blogs/app/channels/application_cable/connection.rb rename to app/channels/application_cable/connection.rb diff --git a/blogs/app/controllers/application_controller.rb b/app/controllers/application_controller.rb similarity index 100% rename from blogs/app/controllers/application_controller.rb rename to app/controllers/application_controller.rb diff --git a/blogs/app/controllers/concerns/.keep b/app/controllers/concerns/.keep similarity index 100% rename from blogs/app/controllers/concerns/.keep rename to app/controllers/concerns/.keep diff --git a/blogs/app/helpers/application_helper.rb b/app/helpers/application_helper.rb similarity index 100% rename from blogs/app/helpers/application_helper.rb rename to app/helpers/application_helper.rb diff --git a/blogs/app/jobs/application_job.rb b/app/jobs/application_job.rb similarity index 100% rename from blogs/app/jobs/application_job.rb rename to app/jobs/application_job.rb diff --git a/blogs/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb similarity index 100% rename from blogs/app/mailers/application_mailer.rb rename to app/mailers/application_mailer.rb diff --git a/blogs/app/models/application_record.rb b/app/models/application_record.rb similarity index 100% rename from blogs/app/models/application_record.rb rename to app/models/application_record.rb diff --git a/blogs/app/models/concerns/.keep b/app/models/concerns/.keep similarity index 100% rename from blogs/app/models/concerns/.keep rename to app/models/concerns/.keep diff --git a/app/models/user.rb b/app/models/user.rb new file mode 100644 index 0000000..8fdb58e --- /dev/null +++ b/app/models/user.rb @@ -0,0 +1,24 @@ +class User < ApplicationRecord + validates :name, presence: true + validates :email, presence: true + validates :date, presence: true + validates :phone, presence: true + + validate :check_date + validate :check_phone + + private + def check_date + if self.date && self.date.year <= (Time.now.year - 90) || + self.date && self.date.year >= (Time.now.year - 7) + self.errors.add :date, "Ngay sinh khong hop le" + end + end + + def check_phone + if self.phone && self.phone[0] == '0' && self.phone.length == 10 + else + self.errors.add :phone, "So dien thoai khong hop le" + end + end +end diff --git a/blogs/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb similarity index 91% rename from blogs/app/views/layouts/application.html.erb rename to app/views/layouts/application.html.erb index 1db7596..e7b6925 100644 --- a/blogs/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,7 +1,7 @@ - Blogs + UserModel <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> diff --git a/blogs/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb similarity index 100% rename from blogs/app/views/layouts/mailer.html.erb rename to app/views/layouts/mailer.html.erb diff --git a/blogs/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb similarity index 100% rename from blogs/app/views/layouts/mailer.text.erb rename to app/views/layouts/mailer.text.erb diff --git a/bcnnofarray.rb b/bcnnofarray.rb deleted file mode 100644 index da355c3..0000000 --- a/bcnnofarray.rb +++ /dev/null @@ -1,24 +0,0 @@ -def ucln a, b - b == 0 ? a : ucln(b, a % b) -end - -def bcnn a, b - result = a * b / (ucln a, b) -end - -def bcnnofarray - a = [1,2,3,4,5,6,7,8,9] - - if a.length == 1 - tmp = a[0] - else - tmp = a[0] - for i in (1...a.length) - tmp = bcnn(tmp, a[i]) - end - end - puts tmp - -end - -bcnnofarray \ No newline at end of file diff --git a/blogs/bin/bundle b/bin/bundle similarity index 100% rename from blogs/bin/bundle rename to bin/bundle diff --git a/blogs/bin/rails b/bin/rails similarity index 53% rename from blogs/bin/rails rename to bin/rails index 0739660..5badb2f 100755 --- a/blogs/bin/rails +++ b/bin/rails @@ -1,4 +1,9 @@ #!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end APP_PATH = File.expand_path('../config/application', __dir__) require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 0000000..d87d5f5 --- /dev/null +++ b/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/blogs/bin/setup b/bin/setup similarity index 100% rename from blogs/bin/setup rename to bin/setup diff --git a/bin/spring b/bin/spring new file mode 100755 index 0000000..fb2ec2e --- /dev/null +++ b/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/blogs/bin/update b/bin/update similarity index 100% rename from blogs/bin/update rename to bin/update diff --git a/blogs/.gitignore b/blogs/.gitignore deleted file mode 100644 index bab620d..0000000 --- a/blogs/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# See https://help.github.com/articles/ignoring-files for more about ignoring files. -# -# If you find yourself ignoring temporary files generated by your text editor -# or operating system, you probably want to add a global ignore instead: -# git config --global core.excludesfile '~/.gitignore_global' - -# Ignore bundler config. -/.bundle - -# Ignore the default SQLite database. -/db/*.sqlite3 -/db/*.sqlite3-journal - -# Ignore all logfiles and tempfiles. -/log/* -/tmp/* -!/log/.keep -!/tmp/.keep - -# Ignore Byebug command history file. -.byebug_history diff --git a/blogs/app/assets/javascripts/users.coffee b/blogs/app/assets/javascripts/users.coffee deleted file mode 100644 index 24f83d1..0000000 --- a/blogs/app/assets/javascripts/users.coffee +++ /dev/null @@ -1,3 +0,0 @@ -# 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/blogs/app/assets/stylesheets/scaffolds.scss b/blogs/app/assets/stylesheets/scaffolds.scss deleted file mode 100644 index 4ce4266..0000000 --- a/blogs/app/assets/stylesheets/scaffolds.scss +++ /dev/null @@ -1,89 +0,0 @@ -body { - background-color: #fff; - color: #333; - font-family: verdana, arial, helvetica, sans-serif; - font-size: 13px; - line-height: 18px; - margin: 33px; -} - -p, ol, ul, td { - font-family: verdana, arial, helvetica, sans-serif; - font-size: 13px; - line-height: 18px; - margin: 33px; -} - -pre { - background-color: #eee; - padding: 10px; - font-size: 11px; -} - -a { - color: #000; - - &:visited { - color: #666; - } - - &:hover { - color: #fff; - background-color: #000; - } -} - -th { - padding-bottom: 5px; -} - -td { - padding-bottom: 7px; - padding-left: 5px; - padding-right: 5px; -} - -div { - &.field, &.actions { - margin-bottom: 10px; - } -} - -#notice { - color: green; -} - -.field_with_errors { - padding: 2px; - background-color: red; - display: table; -} - -#error_explanation { - width: 450px; - border: 2px solid red; - padding: 7px; - padding-bottom: 0; - margin-bottom: 20px; - background-color: #f0f0f0; - - h2 { - text-align: left; - font-weight: bold; - padding: 5px 5px 5px 15px; - font-size: 12px; - margin: -7px; - margin-bottom: 0; - background-color: #c00; - color: #fff; - } - - ul li { - font-size: 12px; - list-style: square; - } -} - -label { - display: block; -} diff --git a/blogs/app/assets/stylesheets/users.scss b/blogs/app/assets/stylesheets/users.scss deleted file mode 100644 index 31a2eac..0000000 --- a/blogs/app/assets/stylesheets/users.scss +++ /dev/null @@ -1,3 +0,0 @@ -// Place all the styles related to the Users controller here. -// They will automatically be included in application.css. -// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/blogs/app/controllers/users_controller.rb b/blogs/app/controllers/users_controller.rb deleted file mode 100644 index c0f8a5c..0000000 --- a/blogs/app/controllers/users_controller.rb +++ /dev/null @@ -1,78 +0,0 @@ -class UsersController < ApplicationController - before_action :set_user, only: [:show, :edit, :update, :destroy] - - include UsersHelper - # GET /users - # GET /users.json - def index - # byebug la 1 gem cua ruby giup debug - @users = User.all - @p_hust = print_hust - end - - # GET /users/1 - # GET /users/1.json - def show - end - - # GET /users/new - def new - @user = User.new - end - - # GET /users/1/edit - def edit - end - - # POST /users - # POST /users.json - def create - @user = User.new(user_params) - - - respond_to do |format| - if @user.save - format.html { redirect_to @user, notice: 'User was successfully created.' } - format.json { render :show, status: :created, location: @user } - else - format.html { render :new } - format.json { render json: @user.errors, status: :unprocessable_entity } - end - end - end - - # PATCH/PUT /users/1 - # PATCH/PUT /users/1.json - def update - respond_to do |format| - if @user.update(user_params) - format.html { redirect_to @user, notice: 'User was successfully updated.' } - format.json { render :show, status: :ok, location: @user } - else - format.html { render :edit } - format.json { render json: @user.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /users/1 - # DELETE /users/1.json - def destroy - @user.destroy - respond_to do |format| - format.html { redirect_to users_url, notice: 'User was successfully destroyed.' } - format.json { head :no_content } - end - end - - private - # Use callbacks to share common setup or constraints between actions. - def set_user - @user = User.find(params[:id]) - end - - # Never trust parameters from the scary internet, only allow the white list through. - def user_params - params.require(:user).permit(:name, :email) - end -end diff --git a/blogs/app/helpers/users_helper.rb b/blogs/app/helpers/users_helper.rb deleted file mode 100644 index 3a4291d..0000000 --- a/blogs/app/helpers/users_helper.rb +++ /dev/null @@ -1,6 +0,0 @@ -module UsersHelper - def print_hust - "Hello Lam Beo Bui" - end - -end diff --git a/blogs/app/models/user.rb b/blogs/app/models/user.rb deleted file mode 100644 index 379658a..0000000 --- a/blogs/app/models/user.rb +++ /dev/null @@ -1,2 +0,0 @@ -class User < ApplicationRecord -end diff --git a/blogs/app/views/users/_form.html.erb b/blogs/app/views/users/_form.html.erb deleted file mode 100644 index 90688af..0000000 --- a/blogs/app/views/users/_form.html.erb +++ /dev/null @@ -1,27 +0,0 @@ -<%= form_for(user) do |f| %> - <% if user.errors.any? %> -
-

<%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:

- -
    - <% user.errors.full_messages.each do |message| %> -
  • <%= message %>
  • - <% end %> -
-
- <% end %> - -
- <%= f.label :name %> - <%= f.text_field :name %> -
- -
- <%= f.label :email %> - <%= f.text_field :email %> -
- -
- <%= f.submit %> -
-<% end %> diff --git a/blogs/app/views/users/_user.json.jbuilder b/blogs/app/views/users/_user.json.jbuilder deleted file mode 100644 index bc21008..0000000 --- a/blogs/app/views/users/_user.json.jbuilder +++ /dev/null @@ -1,2 +0,0 @@ -json.extract! user, :id, :name, :email, :created_at, :updated_at -json.url user_url(user, format: :json) diff --git a/blogs/app/views/users/edit.html.erb b/blogs/app/views/users/edit.html.erb deleted file mode 100644 index 1a5c2a6..0000000 --- a/blogs/app/views/users/edit.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

Editing User

- -<%= render 'form', user: @user %> - -<%= link_to 'Show', @user %> | -<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/index.html.erb b/blogs/app/views/users/index.html.erb deleted file mode 100644 index aad030e..0000000 --- a/blogs/app/views/users/index.html.erb +++ /dev/null @@ -1,29 +0,0 @@ -

<%= notice %>

- -

<%=@p_hust%>

- - - - - - - - - - - - <% @users.each do |user| %> - - - - - - - - <% end %> - -
NameEmail
<%= user.name %><%= user.email %><%= link_to 'Show', user %><%= link_to 'Edit', edit_user_path(user) %><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %>
- -
- -<%= link_to 'New User', new_user_path %> diff --git a/blogs/app/views/users/index.json.jbuilder b/blogs/app/views/users/index.json.jbuilder deleted file mode 100644 index 2faf5af..0000000 --- a/blogs/app/views/users/index.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.array! @users, partial: 'users/user', as: :user diff --git a/blogs/app/views/users/new.html.erb b/blogs/app/views/users/new.html.erb deleted file mode 100644 index 844c39b..0000000 --- a/blogs/app/views/users/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

New User

- -<%= render 'form', user: @user %> - -<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/show.html.erb b/blogs/app/views/users/show.html.erb deleted file mode 100644 index 3816c64..0000000 --- a/blogs/app/views/users/show.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -

<%= notice %>

- -

- Name: - <%= @user.name %> -

- -

- Email: - <%= @user.email %> -

- -<%= link_to 'Edit', edit_user_path(@user) %> | -<%= link_to 'Back', users_path %> diff --git a/blogs/app/views/users/show.json.jbuilder b/blogs/app/views/users/show.json.jbuilder deleted file mode 100644 index ff40bb9..0000000 --- a/blogs/app/views/users/show.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.partial! "users/user", user: @user diff --git a/blogs/bin/rake b/blogs/bin/rake deleted file mode 100755 index 1724048..0000000 --- a/blogs/bin/rake +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env ruby -require_relative '../config/boot' -require 'rake' -Rake.application.run diff --git a/blogs/config/initializers/session_store.rb b/blogs/config/initializers/session_store.rb deleted file mode 100644 index ef84247..0000000 --- a/blogs/config/initializers/session_store.rb +++ /dev/null @@ -1,3 +0,0 @@ -# Be sure to restart your server when you modify this file. - -Rails.application.config.session_store :cookie_store, key: '_blogs_session' diff --git a/blogs/test/controllers/users_controller_test.rb b/blogs/test/controllers/users_controller_test.rb deleted file mode 100644 index f45042b..0000000 --- a/blogs/test/controllers/users_controller_test.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'test_helper' - -class UsersControllerTest < ActionDispatch::IntegrationTest - setup do - @user = users(:one) - end - - test "should get index" do - get users_url - assert_response :success - end - - test "should get new" do - get new_user_url - assert_response :success - end - - test "should create user" do - assert_difference('User.count') do - post users_url, params: { user: { email: @user.email, name: @user.name } } - end - - assert_redirected_to user_url(User.last) - end - - test "should show user" do - get user_url(@user) - assert_response :success - end - - test "should get edit" do - get edit_user_url(@user) - assert_response :success - end - - test "should update user" do - patch user_url(@user), params: { user: { email: @user.email, name: @user.name } } - assert_redirected_to user_url(@user) - end - - test "should destroy user" do - assert_difference('User.count', -1) do - delete user_url(@user) - end - - assert_redirected_to users_url - end -end diff --git a/blogs/vendor/assets/stylesheets/.keep b/blogs/vendor/assets/stylesheets/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/blogs/config.ru b/config.ru similarity index 100% rename from blogs/config.ru rename to config.ru diff --git a/blogs/config/application.rb b/config/application.rb similarity index 96% rename from blogs/config/application.rb rename to config/application.rb index 377680d..1d5fddf 100644 --- a/blogs/config/application.rb +++ b/config/application.rb @@ -6,7 +6,7 @@ # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) -module Blogs +module UserModel class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers diff --git a/blogs/config/boot.rb b/config/boot.rb similarity index 100% rename from blogs/config/boot.rb rename to config/boot.rb diff --git a/blogs/config/cable.yml b/config/cable.yml similarity index 100% rename from blogs/config/cable.yml rename to config/cable.yml diff --git a/blogs/config/database.yml b/config/database.yml similarity index 100% rename from blogs/config/database.yml rename to config/database.yml diff --git a/blogs/config/environment.rb b/config/environment.rb similarity index 100% rename from blogs/config/environment.rb rename to config/environment.rb diff --git a/blogs/config/environments/development.rb b/config/environments/development.rb similarity index 100% rename from blogs/config/environments/development.rb rename to config/environments/development.rb diff --git a/blogs/config/environments/production.rb b/config/environments/production.rb similarity index 98% rename from blogs/config/environments/production.rb rename to config/environments/production.rb index 1879d24..6b91ae6 100644 --- a/blogs/config/environments/production.rb +++ b/config/environments/production.rb @@ -54,7 +54,7 @@ # Use a real queuing backend for Active Job (and separate queues per environment) # config.active_job.queue_adapter = :resque - # config.active_job.queue_name_prefix = "blogs_#{Rails.env}" + # config.active_job.queue_name_prefix = "user_model_#{Rails.env}" config.action_mailer.perform_caching = false # Ignore bad email addresses and do not raise email delivery errors. diff --git a/blogs/config/environments/test.rb b/config/environments/test.rb similarity index 100% rename from blogs/config/environments/test.rb rename to config/environments/test.rb diff --git a/blogs/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb similarity index 100% rename from blogs/config/initializers/application_controller_renderer.rb rename to config/initializers/application_controller_renderer.rb diff --git a/blogs/config/initializers/assets.rb b/config/initializers/assets.rb similarity index 100% rename from blogs/config/initializers/assets.rb rename to config/initializers/assets.rb diff --git a/blogs/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb similarity index 100% rename from blogs/config/initializers/backtrace_silencers.rb rename to config/initializers/backtrace_silencers.rb diff --git a/blogs/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb similarity index 100% rename from blogs/config/initializers/cookies_serializer.rb rename to config/initializers/cookies_serializer.rb diff --git a/blogs/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb similarity index 100% rename from blogs/config/initializers/filter_parameter_logging.rb rename to config/initializers/filter_parameter_logging.rb diff --git a/blogs/config/initializers/inflections.rb b/config/initializers/inflections.rb similarity index 100% rename from blogs/config/initializers/inflections.rb rename to config/initializers/inflections.rb diff --git a/blogs/config/initializers/mime_types.rb b/config/initializers/mime_types.rb similarity index 100% rename from blogs/config/initializers/mime_types.rb rename to config/initializers/mime_types.rb diff --git a/blogs/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb similarity index 100% rename from blogs/config/initializers/new_framework_defaults.rb rename to config/initializers/new_framework_defaults.rb diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 0000000..d986e32 --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.session_store :cookie_store, key: '_user_model_session' diff --git a/blogs/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb similarity index 100% rename from blogs/config/initializers/wrap_parameters.rb rename to config/initializers/wrap_parameters.rb diff --git a/blogs/config/locales/en.yml b/config/locales/en.yml similarity index 100% rename from blogs/config/locales/en.yml rename to config/locales/en.yml diff --git a/blogs/config/puma.rb b/config/puma.rb similarity index 100% rename from blogs/config/puma.rb rename to config/puma.rb diff --git a/blogs/config/routes.rb b/config/routes.rb similarity index 60% rename from blogs/config/routes.rb rename to config/routes.rb index ef522ca..787824f 100644 --- a/blogs/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,3 @@ Rails.application.routes.draw do - root "users#index" # chuyen huong den users khi dang nhap vao trang chu - resources :users # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end diff --git a/blogs/config/secrets.yml b/config/secrets.yml similarity index 69% rename from blogs/config/secrets.yml rename to config/secrets.yml index 8c41ac5..15a21d5 100644 --- a/blogs/config/secrets.yml +++ b/config/secrets.yml @@ -11,10 +11,10 @@ # if you're sharing your code publicly. development: - secret_key_base: 3ce730b26c95fe4275ec08f95df8a2bf622ef3f0046a693df56a3c7f27c252c1280c3d86cda7f4a70dc2834b3e50cf68583d5b5328e7e02b2532978d5f69ac7e + secret_key_base: 8f869297cfc400ccc246c37d9fb11c77328a0a30ab63b33b4d341363ec0b7e1b210d255ef6179255a7bc6a89c5fd0a349efeed1e528aba873615dcb941e3c56d test: - secret_key_base: 7ccca60903c00a64b4eb460156434113e7fdec4b6bcfdac053fe2e43366ffaa4a85a1a6423ff7a1e156ff58a8103d16e1bf7a596ef713af571f715c941621081 + secret_key_base: d5f096da942f40e59fa46002ad385d0269027b72b335d619e60bcf6b78661090713de31662288c1ffb9da42e31bf6b8cd05877763353dca574d3f33b66953096 # Do not keep production secrets in the repository, # instead read values from the environment. diff --git a/blogs/config/spring.rb b/config/spring.rb similarity index 100% rename from blogs/config/spring.rb rename to config/spring.rb diff --git a/db/development.sqlite3 b/db/development.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..2363a529975f2286213b53c424267e046f7fc421 GIT binary patch literal 7168 zcmeI1O>f#T7{_hGOWD+EJ4HLJvw|iSQ6Rj80GBrFq6&>d$3QCDA@ab3XnCO_pzg@_ zU3%?#Uu7R)$4R?z+F?#;D_(b+)C$?)U_XAIIRBsXUP=v@I-YEAV-ZJ@J8yLo9ay=p-2CKS&Vh zR+n7fEG!XAND#2%k>F$;;X8)alcu(M-MPU{|-T;c(dySVXci?(rDY z`-cYqn@L;=g!xu_lZ2HMYnc_3pU=BA4wCJ%OsZDC1YaP z1Fz|2c2dkGGX*5dWhq}4v#C-^%9o_gBeVUVKAYd)6Zr#2&MuD;*dhW?xL9=V>tnY6 zUjgoFi!?GRjKEeAIEOocPXwMT%A1jG^}62SsOS9(oa)$S 1 && count != n - if is_primes? i - primes << i - count = count + 1 - end - i = i + 1 - if count == n - puts primes - end - end -end - -find_prime 6 - \ No newline at end of file diff --git a/blogs/test/controllers/.keep b/test/controllers/.keep similarity index 100% rename from blogs/test/controllers/.keep rename to test/controllers/.keep diff --git a/blogs/test/fixtures/.keep b/test/fixtures/.keep similarity index 100% rename from blogs/test/fixtures/.keep rename to test/fixtures/.keep diff --git a/blogs/test/fixtures/files/.keep b/test/fixtures/files/.keep similarity index 100% rename from blogs/test/fixtures/files/.keep rename to test/fixtures/files/.keep diff --git a/blogs/test/fixtures/users.yml b/test/fixtures/users.yml similarity index 75% rename from blogs/test/fixtures/users.yml rename to test/fixtures/users.yml index 5dc4ddf..4489925 100644 --- a/blogs/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -3,7 +3,11 @@ one: name: MyString email: MyString + date: 1 + phone: MyString two: name: MyString email: MyString + date: 1 + phone: MyString diff --git a/blogs/test/helpers/.keep b/test/helpers/.keep similarity index 100% rename from blogs/test/helpers/.keep rename to test/helpers/.keep diff --git a/blogs/test/integration/.keep b/test/integration/.keep similarity index 100% rename from blogs/test/integration/.keep rename to test/integration/.keep diff --git a/blogs/test/mailers/.keep b/test/mailers/.keep similarity index 100% rename from blogs/test/mailers/.keep rename to test/mailers/.keep diff --git a/blogs/test/models/.keep b/test/models/.keep similarity index 100% rename from blogs/test/models/.keep rename to test/models/.keep diff --git a/blogs/test/models/user_test.rb b/test/models/user_test.rb similarity index 100% rename from blogs/test/models/user_test.rb rename to test/models/user_test.rb diff --git a/blogs/test/test_helper.rb b/test/test_helper.rb similarity index 100% rename from blogs/test/test_helper.rb rename to test/test_helper.rb diff --git a/uclnofarray.rb b/uclnofarray.rb deleted file mode 100644 index 25fcc55..0000000 --- a/uclnofarray.rb +++ /dev/null @@ -1,20 +0,0 @@ -def ucln a, b - b == 0 ? a : ucln(b, a % b) -end - -def uclnofarray - a = [1,2,3,4,5,6,7,8,9] - if a.length == 1 - tmp = a[0] - else - tmp = a[0] - for i in (1...a.length) - tmp = ucln(tmp, a[i]) - end - end - puts tmp -end - -uclnofarray - - diff --git a/blogs/tmp/.keep b/vendor/assets/javascripts/.keep similarity index 100% rename from blogs/tmp/.keep rename to vendor/assets/javascripts/.keep diff --git a/blogs/vendor/assets/javascripts/.keep b/vendor/assets/stylesheets/.keep similarity index 100% rename from blogs/vendor/assets/javascripts/.keep rename to vendor/assets/stylesheets/.keep