commit
063d9bfe4f
58 changed files with 910 additions and 0 deletions
-
27.gitignore
-
47Gemfile
-
47README.md
-
28README.rdoc
-
6Rakefile
-
0app/assets/images/.keep
-
16app/assets/javascripts/application.js
-
15app/assets/stylesheets/application.css
-
5app/controllers/application_controller.rb
-
0app/controllers/concerns/.keep
-
2app/helpers/application_helper.rb
-
0app/mailers/.keep
-
0app/models/.keep
-
0app/models/concerns/.keep
-
14app/views/layouts/application.html.erb
-
3bin/bundle
-
9bin/rails
-
9bin/rake
-
29bin/setup
-
15bin/spring
-
4config.ru
-
26config/application.rb
-
3config/boot.rb
-
25config/database.yml
-
5config/environment.rb
-
41config/environments/development.rb
-
79config/environments/production.rb
-
42config/environments/test.rb
-
11config/initializers/assets.rb
-
7config/initializers/backtrace_silencers.rb
-
3config/initializers/cookies_serializer.rb
-
4config/initializers/filter_parameter_logging.rb
-
16config/initializers/inflections.rb
-
4config/initializers/mime_types.rb
-
3config/initializers/session_store.rb
-
14config/initializers/wrap_parameters.rb
-
23config/locales/en.yml
-
56config/routes.rb
-
22config/secrets.yml
-
7db/seeds.rb
-
28doc/test.rb
-
0lib/assets/.keep
-
0lib/tasks/.keep
-
0log/.keep
-
67public/404.html
-
67public/422.html
-
66public/500.html
-
0public/favicon.ico
-
5public/robots.txt
-
0test/controllers/.keep
-
0test/fixtures/.keep
-
0test/helpers/.keep
-
0test/integration/.keep
-
0test/mailers/.keep
-
0test/models/.keep
-
10test/test_helper.rb
-
0vendor/assets/javascripts/.keep
-
0vendor/assets/stylesheets/.keep
@ -0,0 +1,27 @@ |
|||
# 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/* |
|||
!/log/.keep |
|||
/tmp |
|||
|
|||
# Ignore vim swp files |
|||
.*.sw? |
|||
|
|||
# ignore generated Gemfile.lock |
|||
/Gemfile.lock |
|||
|
|||
# ignore my client key and cert |
|||
*.crt |
|||
*.key |
|||
@ -0,0 +1,47 @@ |
|||
source 'https://rubygems.org' |
|||
|
|||
|
|||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' |
|||
gem 'rails', '4.2.6' |
|||
# Use sqlite3 as the database for Active Record |
|||
gem 'sqlite3' |
|||
# 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.1.0' |
|||
# 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 following links in your web application faster. Read more: https://github.com/rails/turbolinks |
|||
gem 'turbolinks' |
|||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder |
|||
gem 'jbuilder', '~> 2.0' |
|||
# bundle exec rake doc:rails generates the API under doc/api. |
|||
gem 'sdoc', '~> 0.4.0', group: :doc |
|||
|
|||
# Use ActiveModel has_secure_password |
|||
# gem 'bcrypt', '~> 3.1.7' |
|||
|
|||
# Use Unicorn as the app server |
|||
# gem 'unicorn' |
|||
|
|||
# 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' |
|||
end |
|||
|
|||
group :development do |
|||
# Access an IRB console on exception pages or by using <%= console %> in views |
|||
gem 'web-console', '~> 2.0' |
|||
|
|||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring |
|||
gem 'spring' |
|||
end |
|||
|
|||
@ -0,0 +1,47 @@ |
|||
# lex-deeit |
|||
|
|||
A rails application acting as client for |
|||
[LXD](http://www.ubuntu.com/cloud/lxd). |
|||
|
|||
## Description |
|||
|
|||
This will become a rails application as client for |
|||
[LXD](http://www.ubuntu.com/cloud/lxd). I looked into OpenStack but it was |
|||
much oversized for my purpose. So I decided to come up with a small solution |
|||
by myself. In the beginning it will only manage my bare needs which mainly |
|||
is the manangement of static IP addresses within a given range. As well as |
|||
management of images and containers via the |
|||
[LXD API](https://linuxcontainers.org/lxd/rest-api/). |
|||
|
|||
## Requirements |
|||
|
|||
* Rails |
|||
* Webserver |
|||
|
|||
## Dependencies |
|||
|
|||
* At least one LXD installation with https activated. |
|||
|
|||
## Contributing |
|||
|
|||
You can either send me patches or drop me an email asking for access to |
|||
this gitlab server. |
|||
|
|||
## License |
|||
|
|||
> This program is free software: you can redistribute it and/or modify |
|||
> it under the terms of the GNU General Public License as published by |
|||
> the Free Software Foundation, either version 3 of the License, or |
|||
> (at your option) any later version. |
|||
> |
|||
> This program is distributed in the hope that it will be useful, |
|||
> but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
> GNU General Public License for more details. |
|||
> |
|||
> You should have received a copy of the GNU General Public License |
|||
> along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
## Author |
|||
|
|||
Georg Hopp <<georg@steffers.org>> |
|||
@ -0,0 +1,28 @@ |
|||
== 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 |
|||
|
|||
* ... |
|||
|
|||
|
|||
Please feel free to use a different markup language if you do not plan to run |
|||
<tt>rake doc:app</tt>. |
|||
@ -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 File.expand_path('../config/application', __FILE__) |
|||
|
|||
Rails.application.load_tasks |
|||
@ -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.
|
|||
//
|
|||
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|||
// about supported directives.
|
|||
//
|
|||
//= require jquery
|
|||
//= require jquery_ujs
|
|||
//= require turbolinks
|
|||
//= require_tree .
|
|||
@ -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 styles |
|||
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new |
|||
* file per style scope. |
|||
* |
|||
*= require_tree . |
|||
*= require_self |
|||
*/ |
|||
@ -0,0 +1,5 @@ |
|||
class ApplicationController < ActionController::Base |
|||
# Prevent CSRF attacks by raising an exception. |
|||
# For APIs, you may want to use :null_session instead. |
|||
protect_from_forgery with: :exception |
|||
end |
|||
@ -0,0 +1,2 @@ |
|||
module ApplicationHelper |
|||
end |
|||
@ -0,0 +1,14 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>LexDeeit</title> |
|||
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> |
|||
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> |
|||
<%= csrf_meta_tags %> |
|||
</head> |
|||
<body> |
|||
|
|||
<%= yield %> |
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,3 @@ |
|||
#!/usr/bin/env ruby |
|||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) |
|||
load Gem.bin_path('bundler', 'bundle') |
|||
@ -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 |
|||
APP_PATH = File.expand_path('../../config/application', __FILE__) |
|||
require_relative '../config/boot' |
|||
require 'rails/commands' |
|||
@ -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 |
|||
@ -0,0 +1,29 @@ |
|||
#!/usr/bin/env ruby |
|||
require 'pathname' |
|||
|
|||
# path to your application root. |
|||
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) |
|||
|
|||
Dir.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 || bundle install" |
|||
|
|||
# puts "\n== Copying sample files ==" |
|||
# unless File.exist?("config/database.yml") |
|||
# system "cp config/database.yml.sample config/database.yml" |
|||
# end |
|||
|
|||
puts "\n== Preparing database ==" |
|||
system "bin/rake db:setup" |
|||
|
|||
puts "\n== Removing old logs and tempfiles ==" |
|||
system "rm -f log/*" |
|||
system "rm -rf tmp/cache" |
|||
|
|||
puts "\n== Restarting application server ==" |
|||
system "touch tmp/restart.txt" |
|||
end |
|||
@ -0,0 +1,15 @@ |
|||
#!/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' |
|||
|
|||
if (match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m)) |
|||
Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq.join(Gem.path_separator) } |
|||
gem 'spring', match[1] |
|||
require 'spring/binstub' |
|||
end |
|||
end |
|||
@ -0,0 +1,4 @@ |
|||
# This file is used by Rack-based servers to start the application. |
|||
|
|||
require ::File.expand_path('../config/environment', __FILE__) |
|||
run Rails.application |
|||
@ -0,0 +1,26 @@ |
|||
require File.expand_path('../boot', __FILE__) |
|||
|
|||
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 LexDeeit |
|||
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. |
|||
|
|||
# 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)' |
|||
|
|||
# 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 |
|||
|
|||
# Do not swallow errors in after_commit/after_rollback callbacks. |
|||
config.active_record.raise_in_transactional_callbacks = true |
|||
end |
|||
end |
|||
@ -0,0 +1,3 @@ |
|||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) |
|||
|
|||
require 'bundler/setup' # Set up gems listed in the Gemfile. |
|||
@ -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 |
|||
@ -0,0 +1,5 @@ |
|||
# Load the Rails application. |
|||
require File.expand_path('../application', __FILE__) |
|||
|
|||
# Initialize the Rails application. |
|||
Rails.application.initialize! |
|||
@ -0,0 +1,41 @@ |
|||
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 and disable caching. |
|||
config.consider_all_requests_local = true |
|||
config.action_controller.perform_caching = false |
|||
|
|||
# Don't care if the mailer can't send. |
|||
config.action_mailer.raise_delivery_errors = 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 |
|||
|
|||
# Asset digests allow you to set far-future HTTP expiration dates on all assets, |
|||
# yet still be able to expire them through the digest params. |
|||
config.assets.digest = true |
|||
|
|||
# Adds additional error checking when serving assets at runtime. |
|||
# Checks for improperly declared sprockets dependencies. |
|||
# Raises helpful error messages. |
|||
config.assets.raise_runtime_errors = true |
|||
|
|||
# Raises error for missing translations |
|||
# config.action_view.raise_on_missing_translations = true |
|||
end |
|||
@ -0,0 +1,79 @@ |
|||
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 |
|||
|
|||
# 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 serving static files from the `/public` folder by default since |
|||
# Apache or NGINX already handles this. |
|||
config.serve_static_files = 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 |
|||
|
|||
# Asset digests allow you to set far-future HTTP expiration dates on all assets, |
|||
# yet still be able to expire them through the digest params. |
|||
config.assets.digest = true |
|||
|
|||
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb |
|||
|
|||
# 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 |
|||
|
|||
# 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 = [ :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' |
|||
|
|||
# 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 |
|||
|
|||
# Do not dump schema after migrations. |
|||
config.active_record.dump_schema_after_migration = false |
|||
end |
|||
@ -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 static file server for tests with Cache-Control for performance. |
|||
config.serve_static_files = true |
|||
config.static_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 |
|||
|
|||
# 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 |
|||
|
|||
# Randomize the order test cases are executed. |
|||
config.active_support.test_order = :random |
|||
|
|||
# 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 |
|||
@ -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 ) |
|||
@ -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! |
|||
@ -0,0 +1,3 @@ |
|||
# Be sure to restart your server when you modify this file. |
|||
|
|||
Rails.application.config.action_dispatch.cookies_serializer = :json |
|||
@ -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] |
|||
@ -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 |
|||
@ -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 |
|||
@ -0,0 +1,3 @@ |
|||
# Be sure to restart your server when you modify this file. |
|||
|
|||
Rails.application.config.session_store :cookie_store, key: '_lex-deeit_session' |
|||
@ -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] if respond_to?(:wrap_parameters) |
|||
end |
|||
|
|||
# To enable root element in JSON for ActiveRecord objects. |
|||
# ActiveSupport.on_load(:active_record) do |
|||
# self.include_root_in_json = true |
|||
# end |
|||
@ -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" |
|||
@ -0,0 +1,56 @@ |
|||
Rails.application.routes.draw do |
|||
# The priority is based upon order of creation: first created -> highest priority. |
|||
# See how all your routes lay out with "rake routes". |
|||
|
|||
# You can have the root of your site routed with "root" |
|||
# root 'welcome#index' |
|||
|
|||
# Example of regular route: |
|||
# get 'products/:id' => 'catalog#view' |
|||
|
|||
# Example of named route that can be invoked with purchase_url(id: product.id) |
|||
# get 'products/:id/purchase' => 'catalog#purchase', as: :purchase |
|||
|
|||
# Example resource route (maps HTTP verbs to controller actions automatically): |
|||
# resources :products |
|||
|
|||
# Example resource route with options: |
|||
# resources :products do |
|||
# member do |
|||
# get 'short' |
|||
# post 'toggle' |
|||
# end |
|||
# |
|||
# collection do |
|||
# get 'sold' |
|||
# end |
|||
# end |
|||
|
|||
# Example resource route with sub-resources: |
|||
# resources :products do |
|||
# resources :comments, :sales |
|||
# resource :seller |
|||
# end |
|||
|
|||
# Example resource route with more complex sub-resources: |
|||
# resources :products do |
|||
# resources :comments |
|||
# resources :sales do |
|||
# get 'recent', on: :collection |
|||
# end |
|||
# end |
|||
|
|||
# Example resource route with concerns: |
|||
# concern :toggleable do |
|||
# post 'toggle' |
|||
# end |
|||
# resources :posts, concerns: :toggleable |
|||
# resources :photos, concerns: :toggleable |
|||
|
|||
# Example resource route within a namespace: |
|||
# namespace :admin do |
|||
# # Directs /admin/products/* to Admin::ProductsController |
|||
# # (app/controllers/admin/products_controller.rb) |
|||
# resources :products |
|||
# end |
|||
end |
|||
@ -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 `rake 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: 35c576c8e74836cd42aeb4b6bb2087c9a309c7b38d4dbd50ead0612f53ae46a193c23efa8f113dd93f78a6b82471b0f36292167757de57eac1ca8a242f35b392 |
|||
|
|||
test: |
|||
secret_key_base: 353e5c7e80f08c8fc3c8c5cc0841f7991ec258b2b6f48c3ae43e628208204f9269f88630c3c2cdf1a4f2d0d6165a93af710538ca56cced12b570614d2b4244e6 |
|||
|
|||
# Do not keep production secrets in the repository, |
|||
# instead read values from the environment. |
|||
production: |
|||
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> |
|||
@ -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 rake db:seed (or created alongside the db with db:setup). |
|||
# |
|||
# Examples: |
|||
# |
|||
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) |
|||
# Mayor.create(name: 'Emanuel', city: cities.first) |
|||
@ -0,0 +1,28 @@ |
|||
require "net/http" |
|||
require "uri" |
|||
require "openssl" |
|||
require "json" |
|||
require "yaml" |
|||
|
|||
# curl -k -E lxd-client.crt -X GET https://192.168.30.1:8443/1.0/ |
|||
# where lxd-client contains both, cert and key. |
|||
# |
|||
api_base_uri = 'https://192.168.30.1:8443/' |
|||
|
|||
cert = File.read(File.dirname(__FILE__) + '/client.crt') |
|||
key = File.read(File.dirname(__FILE__) + '/client.key') |
|||
|
|||
uri = URI.parse(api_base_uri + '1.0') |
|||
http = Net::HTTP.new(uri.host, uri.port) |
|||
http.use_ssl = true |
|||
http.cert = OpenSSL::X509::Certificate.new(cert) |
|||
http.key = OpenSSL::PKey::RSA.new(key) |
|||
http.verify_mode = OpenSSL::SSL::VERIFY_NONE |
|||
|
|||
request = Net::HTTP::Get.new(uri.request_uri) |
|||
|
|||
response = http.request(request) |
|||
|
|||
puts JSON.parse(response.body).to_yaml |
|||
|
|||
# vim: set ts=2 sw=2: |
|||
@ -0,0 +1,67 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>The page you were looking for doesn't exist (404)</title> |
|||
<meta name="viewport" content="width=device-width,initial-scale=1"> |
|||
<style> |
|||
body { |
|||
background-color: #EFEFEF; |
|||
color: #2E2F30; |
|||
text-align: center; |
|||
font-family: arial, sans-serif; |
|||
margin: 0; |
|||
} |
|||
|
|||
div.dialog { |
|||
width: 95%; |
|||
max-width: 33em; |
|||
margin: 4em auto 0; |
|||
} |
|||
|
|||
div.dialog > div { |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #BBB; |
|||
border-top: #B00100 solid 4px; |
|||
border-top-left-radius: 9px; |
|||
border-top-right-radius: 9px; |
|||
background-color: white; |
|||
padding: 7px 12% 0; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
|
|||
h1 { |
|||
font-size: 100%; |
|||
color: #730E15; |
|||
line-height: 1.5em; |
|||
} |
|||
|
|||
div.dialog > p { |
|||
margin: 0 0 1em; |
|||
padding: 1em; |
|||
background-color: #F7F7F7; |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #999; |
|||
border-bottom-left-radius: 4px; |
|||
border-bottom-right-radius: 4px; |
|||
border-top-color: #DADADA; |
|||
color: #666; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
</style> |
|||
</head> |
|||
|
|||
<body> |
|||
<!-- This file lives in public/404.html --> |
|||
<div class="dialog"> |
|||
<div> |
|||
<h1>The page you were looking for doesn't exist.</h1> |
|||
<p>You may have mistyped the address or the page may have moved.</p> |
|||
</div> |
|||
<p>If you are the application owner check the logs for more information.</p> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,67 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>The change you wanted was rejected (422)</title> |
|||
<meta name="viewport" content="width=device-width,initial-scale=1"> |
|||
<style> |
|||
body { |
|||
background-color: #EFEFEF; |
|||
color: #2E2F30; |
|||
text-align: center; |
|||
font-family: arial, sans-serif; |
|||
margin: 0; |
|||
} |
|||
|
|||
div.dialog { |
|||
width: 95%; |
|||
max-width: 33em; |
|||
margin: 4em auto 0; |
|||
} |
|||
|
|||
div.dialog > div { |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #BBB; |
|||
border-top: #B00100 solid 4px; |
|||
border-top-left-radius: 9px; |
|||
border-top-right-radius: 9px; |
|||
background-color: white; |
|||
padding: 7px 12% 0; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
|
|||
h1 { |
|||
font-size: 100%; |
|||
color: #730E15; |
|||
line-height: 1.5em; |
|||
} |
|||
|
|||
div.dialog > p { |
|||
margin: 0 0 1em; |
|||
padding: 1em; |
|||
background-color: #F7F7F7; |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #999; |
|||
border-bottom-left-radius: 4px; |
|||
border-bottom-right-radius: 4px; |
|||
border-top-color: #DADADA; |
|||
color: #666; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
</style> |
|||
</head> |
|||
|
|||
<body> |
|||
<!-- This file lives in public/422.html --> |
|||
<div class="dialog"> |
|||
<div> |
|||
<h1>The change you wanted was rejected.</h1> |
|||
<p>Maybe you tried to change something you didn't have access to.</p> |
|||
</div> |
|||
<p>If you are the application owner check the logs for more information.</p> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,66 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>We're sorry, but something went wrong (500)</title> |
|||
<meta name="viewport" content="width=device-width,initial-scale=1"> |
|||
<style> |
|||
body { |
|||
background-color: #EFEFEF; |
|||
color: #2E2F30; |
|||
text-align: center; |
|||
font-family: arial, sans-serif; |
|||
margin: 0; |
|||
} |
|||
|
|||
div.dialog { |
|||
width: 95%; |
|||
max-width: 33em; |
|||
margin: 4em auto 0; |
|||
} |
|||
|
|||
div.dialog > div { |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #BBB; |
|||
border-top: #B00100 solid 4px; |
|||
border-top-left-radius: 9px; |
|||
border-top-right-radius: 9px; |
|||
background-color: white; |
|||
padding: 7px 12% 0; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
|
|||
h1 { |
|||
font-size: 100%; |
|||
color: #730E15; |
|||
line-height: 1.5em; |
|||
} |
|||
|
|||
div.dialog > p { |
|||
margin: 0 0 1em; |
|||
padding: 1em; |
|||
background-color: #F7F7F7; |
|||
border: 1px solid #CCC; |
|||
border-right-color: #999; |
|||
border-left-color: #999; |
|||
border-bottom-color: #999; |
|||
border-bottom-left-radius: 4px; |
|||
border-bottom-right-radius: 4px; |
|||
border-top-color: #DADADA; |
|||
color: #666; |
|||
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); |
|||
} |
|||
</style> |
|||
</head> |
|||
|
|||
<body> |
|||
<!-- This file lives in public/500.html --> |
|||
<div class="dialog"> |
|||
<div> |
|||
<h1>We're sorry, but something went wrong.</h1> |
|||
</div> |
|||
<p>If you are the application owner check the logs for more information.</p> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -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: / |
|||
@ -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 |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue