diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8beef20 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,31 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at http://EditorConfig.org + +root = true + +; Use 2 spaces for indentation in all Ruby files + +[*.rb] +indent_style = space +indent_size = 2 + +[Rakefile] +indent_style = space +indent_size = 2 + +[Gemfile*] +indent_style = space +indent_size = 2 + +[config.ru] +indent_style = space +indent_size = 2 + +# Tab indentation (no size specified) +[*.js] +indent_style = space + +# Indentation override for all JS under lib directory +[lib/**.js] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.gitignore b/.gitignore index a4bb393..cf10335 100644 --- a/.gitignore +++ b/.gitignore @@ -23,18 +23,20 @@ public/system tags vendor/bundler_gems -# Ignore ide and text editor -.idea - # Ignore pow files .powrc # Ignore mac files .DS_Store +# Ignore config files config/settings.local.yml config/settings/*.local.yml config/environments/*.local.yml + .rvmrc + +# Ignore ide and text editor +.idea .idea/ .idea/**/* \ No newline at end of file diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..133fcc5 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.0.0-p247 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d56a79d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ + +#### [Current] + +#### + * [1a31842](../../commit/1a31842) [#5](../../issues/5) project created with cybele __(Muhammet DİLEK)__ + * [20f347a](../../commit/20f347a) Initial commit __(Muhammet DİLEK)__ diff --git a/Gemfile b/Gemfile index 7dc8e73..677e151 100644 --- a/Gemfile +++ b/Gemfile @@ -22,6 +22,8 @@ gem 'will_paginate-bootstrap', '~> 0.2.3' gem 'will-paginate-i18n', '~> 0.1.13' gem 'paperclip', '~> 3.5.1' gem 'kangal', '~> 0.1.2' +gem 'rack-timeout', '~> 0.0.4' +gem 'recipient_interceptor', '~> 0.1.2' group :doc do gem 'sdoc', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 466e841..1663985 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -134,6 +134,7 @@ GEM rack (1.5.2) rack-test (0.6.2) rack (>= 1.0) + rack-timeout (0.0.4) rails (4.0.0) actionmailer (= 4.0.0) actionpack (= 4.0.0) @@ -152,6 +153,8 @@ GEM rake (10.1.0) rdoc (3.12.2) json (~> 1.4) + recipient_interceptor (0.1.2) + mail responders (1.0.0.rc) railties (>= 3.2, < 5) rspec-core (2.14.5) @@ -231,8 +234,10 @@ DEPENDENCIES letter_opener paperclip (~> 3.5.1) pg (~> 0.15.1) + rack-timeout (~> 0.0.4) rails (~> 4.0.0) rails_config (~> 0.3.3) + recipient_interceptor (~> 0.1.2) responders (~> 1.0.0.rc) rspec-rails (~> 2.14.0) sass-rails (~> 4.0.0) diff --git a/config/application.rb b/config/application.rb index 9aef14b..f957a7b 100644 --- a/config/application.rb +++ b/config/application.rb @@ -19,11 +19,11 @@ class Application < Rails::Application # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. - # config.time_zone = 'Central Time (US & Canada)' + config.time_zone = 'Istanbul' # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] - # config.i18n.default_locale = :de + config.i18n.default_locale = :tr config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) config.sass.preferred_syntax = :sass diff --git a/config/environments/development.rb b/config/environments/development.rb index f33c121..9e3fddf 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -27,9 +27,7 @@ # number of complex assets. config.assets.debug = true - # Mail Setting + # Mail Setting config.action_mailer.default_url_options = { :host => 'yakut.dev' } - - config.action_mailer.delivery_method = :letter_opener end diff --git a/config/environments/production.rb b/config/environments/production.rb index 55fd722..593e242 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -78,18 +78,10 @@ # Use default logging formatter so that PID and timestamp are not suppressed. config.log_formatter = ::Logger::Formatter.new - # Mail Setting - config.action_mailer.default_url_options = { :host => 'yakut.com' } - - + # Mail Setting + config.action_mailer.default_url_options = {host: 'yakut.com'} + config.action_mailer.raise_delivery_errors = false config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { - :address => 'smtp.mandrillapp.com', - :port => 587, - :enable_starttls_auto => true, - :user_name => 'email@email.com', #TODO change this with original - :password => 'password', #TODO change this with original - :authentication => 'plain' - } + config.action_mailer.smtp_settings = Settings.smtp.mandrill end diff --git a/config/environments/staging.rb b/config/environments/staging.rb new file mode 100644 index 0000000..ac9360b --- /dev/null +++ b/config/environments/staging.rb @@ -0,0 +1,85 @@ +Mail.register_interceptor RecipientInterceptor.new(Settings.email.noreply, subject_prefix: '[STAGING]') + +Yakut::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 thread 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 + + # Enable Rack::Cache to put a simple HTTP cache in front of your application + # Add `rack-cache` to your Gemfile before enabling this. + # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. + # config.action_dispatch.rack_cache = true + + # Disable Rails's static asset server (Apache or nginx will already do this). + config.serve_static_assets = false + + # 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 + + # Generate digests for assets URLs. + config.assets.digest = true + + # Version of your assets, change this if you want to expire all your assets. + config.assets.version = '1.0' + + # 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 + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Set to :debug to see everything in the log. + config.log_level = :info + + # Prepend all log lines with the following tags. + # config.log_tags = [ :subdomain, :uuid ] + + # Use a different logger for distributed setups. + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets. + # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. + # config.assets.precompile += %w( search.js ) + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Disable automatic flushing of the log to improve performance. + # config.autoflush_log = false + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # 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 + config.action_mailer.delivery_method = :smtp + config.action_mailer.smtp_settings = Settings.smtp.mandrill + config.action_mailer.default_url_options = { host: 'yakut.sta' } +end \ No newline at end of file diff --git a/config/initializers/disable_xml_params.rb b/config/initializers/disable_xml_params.rb new file mode 100644 index 0000000..319f4ff --- /dev/null +++ b/config/initializers/disable_xml_params.rb @@ -0,0 +1,3 @@ +# Protect against injection attacks +# http://www.kb.cert.org/vuls/id/380039 +ActionDispatch::ParamsParser::DEFAULT_PARSERS.delete(Mime::XML) \ No newline at end of file diff --git a/config/initializers/rack_timeout.rb b/config/initializers/rack_timeout.rb new file mode 100644 index 0000000..37be91b --- /dev/null +++ b/config/initializers/rack_timeout.rb @@ -0,0 +1 @@ +Rack::Timeout.timeout = 5 # seconds \ No newline at end of file diff --git a/config/settings.yml b/config/settings.yml index e69de29..1c27be3 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -0,0 +1,2 @@ +email: + noreply: noreply@yakut-project.org \ No newline at end of file diff --git a/config/settings/production.yml b/config/settings/production.yml index e69de29..42c4f82 100644 --- a/config/settings/production.yml +++ b/config/settings/production.yml @@ -0,0 +1,8 @@ +smtp: + mandrill: + address: 'smtp.mandrillapp.com' + port: 587 + enable_starttls_auto: true + user_name: 'email@email.com' + password: 'password' + authentication: 'plain' \ No newline at end of file diff --git a/config/settings/staging.yml b/config/settings/staging.yml new file mode 100644 index 0000000..e69de29 diff --git a/public/VERSION.txt b/public/VERSION.txt new file mode 100644 index 0000000..6c6aa7c --- /dev/null +++ b/public/VERSION.txt @@ -0,0 +1 @@ +0.1.0 \ No newline at end of file