Commit 063d9bfe4f8865c9ce343611abbf4a152a4ff542

Authored by Georg Hopp
0 parents

Initial commit

  1 +# See https://help.github.com/articles/ignoring-files for more about ignoring files.
  2 +#
  3 +# If you find yourself ignoring temporary files generated by your text editor
  4 +# or operating system, you probably want to add a global ignore instead:
  5 +# git config --global core.excludesfile '~/.gitignore_global'
  6 +
  7 +# Ignore bundler config.
  8 +/.bundle
  9 +
  10 +# Ignore the default SQLite database.
  11 +/db/*.sqlite3
  12 +/db/*.sqlite3-journal
  13 +
  14 +# Ignore all logfiles and tempfiles.
  15 +/log/*
  16 +!/log/.keep
  17 +/tmp
  18 +
  19 +# Ignore vim swp files
  20 +.*.sw?
  21 +
  22 +# ignore generated Gemfile.lock
  23 +/Gemfile.lock
  24 +
  25 +# ignore my client key and cert
  26 +*.crt
  27 +*.key
... ...
  1 +source 'https://rubygems.org'
  2 +
  3 +
  4 +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
  5 +gem 'rails', '4.2.6'
  6 +# Use sqlite3 as the database for Active Record
  7 +gem 'sqlite3'
  8 +# Use SCSS for stylesheets
  9 +gem 'sass-rails', '~> 5.0'
  10 +# Use Uglifier as compressor for JavaScript assets
  11 +gem 'uglifier', '>= 1.3.0'
  12 +# Use CoffeeScript for .coffee assets and views
  13 +gem 'coffee-rails', '~> 4.1.0'
  14 +# See https://github.com/rails/execjs#readme for more supported runtimes
  15 +# gem 'therubyracer', platforms: :ruby
  16 +
  17 +# Use jquery as the JavaScript library
  18 +gem 'jquery-rails'
  19 +# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
  20 +gem 'turbolinks'
  21 +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
  22 +gem 'jbuilder', '~> 2.0'
  23 +# bundle exec rake doc:rails generates the API under doc/api.
  24 +gem 'sdoc', '~> 0.4.0', group: :doc
  25 +
  26 +# Use ActiveModel has_secure_password
  27 +# gem 'bcrypt', '~> 3.1.7'
  28 +
  29 +# Use Unicorn as the app server
  30 +# gem 'unicorn'
  31 +
  32 +# Use Capistrano for deployment
  33 +# gem 'capistrano-rails', group: :development
  34 +
  35 +group :development, :test do
  36 + # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  37 + gem 'byebug'
  38 +end
  39 +
  40 +group :development do
  41 + # Access an IRB console on exception pages or by using <%= console %> in views
  42 + gem 'web-console', '~> 2.0'
  43 +
  44 + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  45 + gem 'spring'
  46 +end
  47 +
... ...
  1 +# lex-deeit
  2 +
  3 +A rails application acting as client for
  4 +[LXD](http://www.ubuntu.com/cloud/lxd).
  5 +
  6 +## Description
  7 +
  8 +This will become a rails application as client for
  9 +[LXD](http://www.ubuntu.com/cloud/lxd). I looked into OpenStack but it was
  10 +much oversized for my purpose. So I decided to come up with a small solution
  11 +by myself. In the beginning it will only manage my bare needs which mainly
  12 +is the manangement of static IP addresses within a given range. As well as
  13 +management of images and containers via the
  14 +[LXD API](https://linuxcontainers.org/lxd/rest-api/).
  15 +
  16 +## Requirements
  17 +
  18 + * Rails
  19 + * Webserver
  20 +
  21 +## Dependencies
  22 +
  23 + * At least one LXD installation with https activated.
  24 +
  25 +## Contributing
  26 +
  27 +You can either send me patches or drop me an email asking for access to
  28 +this gitlab server.
  29 +
  30 +## License
  31 +
  32 +> This program is free software: you can redistribute it and/or modify
  33 +> it under the terms of the GNU General Public License as published by
  34 +> the Free Software Foundation, either version 3 of the License, or
  35 +> (at your option) any later version.
  36 +>
  37 +> This program is distributed in the hope that it will be useful,
  38 +> but WITHOUT ANY WARRANTY; without even the implied warranty of
  39 +> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  40 +> GNU General Public License for more details.
  41 +>
  42 +> You should have received a copy of the GNU General Public License
  43 +> along with this program. If not, see <http://www.gnu.org/licenses/>.
  44 +
  45 +## Author
  46 +
  47 +Georg Hopp <<georg@steffers.org>>
... ...
  1 +== README
  2 +
  3 +This README would normally document whatever steps are necessary to get the
  4 +application up and running.
  5 +
  6 +Things you may want to cover:
  7 +
  8 +* Ruby version
  9 +
  10 +* System dependencies
  11 +
  12 +* Configuration
  13 +
  14 +* Database creation
  15 +
  16 +* Database initialization
  17 +
  18 +* How to run the test suite
  19 +
  20 +* Services (job queues, cache servers, search engines, etc.)
  21 +
  22 +* Deployment instructions
  23 +
  24 +* ...
  25 +
  26 +
  27 +Please feel free to use a different markup language if you do not plan to run
  28 +<tt>rake doc:app</tt>.
... ...
  1 +# Add your own tasks in files placed in lib/tasks ending in .rake,
  2 +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
  3 +
  4 +require File.expand_path('../config/application', __FILE__)
  5 +
  6 +Rails.application.load_tasks
... ...
  1 +// This is a manifest file that'll be compiled into application.js, which will include all the files
  2 +// listed below.
  3 +//
  4 +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
  5 +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
  6 +//
  7 +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
  8 +// compiled file.
  9 +//
  10 +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
  11 +// about supported directives.
  12 +//
  13 +//= require jquery
  14 +//= require jquery_ujs
  15 +//= require turbolinks
  16 +//= require_tree .
... ...
  1 +/*
  2 + * This is a manifest file that'll be compiled into application.css, which will include all the files
  3 + * listed below.
  4 + *
  5 + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
  6 + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
  7 + *
  8 + * You're free to add application-wide styles to this file and they'll appear at the bottom of the
  9 + * compiled file so the styles you add here take precedence over styles defined in any styles
  10 + * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
  11 + * file per style scope.
  12 + *
  13 + *= require_tree .
  14 + *= require_self
  15 + */
... ...
  1 +class ApplicationController < ActionController::Base
  2 + # Prevent CSRF attacks by raising an exception.
  3 + # For APIs, you may want to use :null_session instead.
  4 + protect_from_forgery with: :exception
  5 +end
... ...
  1 +module ApplicationHelper
  2 +end
... ...
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <title>LexDeeit</title>
  5 + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
  6 + <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  7 + <%= csrf_meta_tags %>
  8 +</head>
  9 +<body>
  10 +
  11 +<%= yield %>
  12 +
  13 +</body>
  14 +</html>
... ...
  1 +#!/usr/bin/env ruby
  2 +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
  3 +load Gem.bin_path('bundler', 'bundle')
... ...
  1 +#!/usr/bin/env ruby
  2 +begin
  3 + load File.expand_path('../spring', __FILE__)
  4 +rescue LoadError => e
  5 + raise unless e.message.include?('spring')
  6 +end
  7 +APP_PATH = File.expand_path('../../config/application', __FILE__)
  8 +require_relative '../config/boot'
  9 +require 'rails/commands'
... ...
  1 +#!/usr/bin/env ruby
  2 +begin
  3 + load File.expand_path('../spring', __FILE__)
  4 +rescue LoadError => e
  5 + raise unless e.message.include?('spring')
  6 +end
  7 +require_relative '../config/boot'
  8 +require 'rake'
  9 +Rake.application.run
... ...
  1 +#!/usr/bin/env ruby
  2 +require 'pathname'
  3 +
  4 +# path to your application root.
  5 +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
  6 +
  7 +Dir.chdir APP_ROOT do
  8 + # This script is a starting point to setup your application.
  9 + # Add necessary setup steps to this file:
  10 +
  11 + puts "== Installing dependencies =="
  12 + system "gem install bundler --conservative"
  13 + system "bundle check || bundle install"
  14 +
  15 + # puts "\n== Copying sample files =="
  16 + # unless File.exist?("config/database.yml")
  17 + # system "cp config/database.yml.sample config/database.yml"
  18 + # end
  19 +
  20 + puts "\n== Preparing database =="
  21 + system "bin/rake db:setup"
  22 +
  23 + puts "\n== Removing old logs and tempfiles =="
  24 + system "rm -f log/*"
  25 + system "rm -rf tmp/cache"
  26 +
  27 + puts "\n== Restarting application server =="
  28 + system "touch tmp/restart.txt"
  29 +end
... ...
  1 +#!/usr/bin/env ruby
  2 +
  3 +# This file loads spring without using Bundler, in order to be fast.
  4 +# It gets overwritten when you run the `spring binstub` command.
  5 +
  6 +unless defined?(Spring)
  7 + require 'rubygems'
  8 + require 'bundler'
  9 +
  10 + if (match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m))
  11 + Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq.join(Gem.path_separator) }
  12 + gem 'spring', match[1]
  13 + require 'spring/binstub'
  14 + end
  15 +end
... ...
  1 +# This file is used by Rack-based servers to start the application.
  2 +
  3 +require ::File.expand_path('../config/environment', __FILE__)
  4 +run Rails.application
... ...
  1 +require File.expand_path('../boot', __FILE__)
  2 +
  3 +require 'rails/all'
  4 +
  5 +# Require the gems listed in Gemfile, including any gems
  6 +# you've limited to :test, :development, or :production.
  7 +Bundler.require(*Rails.groups)
  8 +
  9 +module LexDeeit
  10 + class Application < Rails::Application
  11 + # Settings in config/environments/* take precedence over those specified here.
  12 + # Application configuration should go into files in config/initializers
  13 + # -- all .rb files in that directory are automatically loaded.
  14 +
  15 + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
  16 + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
  17 + # config.time_zone = 'Central Time (US & Canada)'
  18 +
  19 + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
  20 + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
  21 + # config.i18n.default_locale = :de
  22 +
  23 + # Do not swallow errors in after_commit/after_rollback callbacks.
  24 + config.active_record.raise_in_transactional_callbacks = true
  25 + end
  26 +end
... ...
  1 +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
  2 +
  3 +require 'bundler/setup' # Set up gems listed in the Gemfile.
... ...
  1 +# SQLite version 3.x
  2 +# gem install sqlite3
  3 +#
  4 +# Ensure the SQLite 3 gem is defined in your Gemfile
  5 +# gem 'sqlite3'
  6 +#
  7 +default: &default
  8 + adapter: sqlite3
  9 + pool: 5
  10 + timeout: 5000
  11 +
  12 +development:
  13 + <<: *default
  14 + database: db/development.sqlite3
  15 +
  16 +# Warning: The database defined as "test" will be erased and
  17 +# re-generated from your development database when you run "rake".
  18 +# Do not set this db to the same as development or production.
  19 +test:
  20 + <<: *default
  21 + database: db/test.sqlite3
  22 +
  23 +production:
  24 + <<: *default
  25 + database: db/production.sqlite3
... ...
  1 +# Load the Rails application.
  2 +require File.expand_path('../application', __FILE__)
  3 +
  4 +# Initialize the Rails application.
  5 +Rails.application.initialize!
... ...
  1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
  3 +
  4 + # In the development environment your application's code is reloaded on
  5 + # every request. This slows down response time but is perfect for development
  6 + # since you don't have to restart the web server when you make code changes.
  7 + config.cache_classes = false
  8 +
  9 + # Do not eager load code on boot.
  10 + config.eager_load = false
  11 +
  12 + # Show full error reports and disable caching.
  13 + config.consider_all_requests_local = true
  14 + config.action_controller.perform_caching = false
  15 +
  16 + # Don't care if the mailer can't send.
  17 + config.action_mailer.raise_delivery_errors = false
  18 +
  19 + # Print deprecation notices to the Rails logger.
  20 + config.active_support.deprecation = :log
  21 +
  22 + # Raise an error on page load if there are pending migrations.
  23 + config.active_record.migration_error = :page_load
  24 +
  25 + # Debug mode disables concatenation and preprocessing of assets.
  26 + # This option may cause significant delays in view rendering with a large
  27 + # number of complex assets.
  28 + config.assets.debug = true
  29 +
  30 + # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  31 + # yet still be able to expire them through the digest params.
  32 + config.assets.digest = true
  33 +
  34 + # Adds additional error checking when serving assets at runtime.
  35 + # Checks for improperly declared sprockets dependencies.
  36 + # Raises helpful error messages.
  37 + config.assets.raise_runtime_errors = true
  38 +
  39 + # Raises error for missing translations
  40 + # config.action_view.raise_on_missing_translations = true
  41 +end
... ...
  1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
  3 +
  4 + # Code is not reloaded between requests.
  5 + config.cache_classes = true
  6 +
  7 + # Eager load code on boot. This eager loads most of Rails and
  8 + # your application in memory, allowing both threaded web servers
  9 + # and those relying on copy on write to perform better.
  10 + # Rake tasks automatically ignore this option for performance.
  11 + config.eager_load = true
  12 +
  13 + # Full error reports are disabled and caching is turned on.
  14 + config.consider_all_requests_local = false
  15 + config.action_controller.perform_caching = true
  16 +
  17 + # Enable Rack::Cache to put a simple HTTP cache in front of your application
  18 + # Add `rack-cache` to your Gemfile before enabling this.
  19 + # For large-scale production use, consider using a caching reverse proxy like
  20 + # NGINX, varnish or squid.
  21 + # config.action_dispatch.rack_cache = true
  22 +
  23 + # Disable serving static files from the `/public` folder by default since
  24 + # Apache or NGINX already handles this.
  25 + config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
  26 +
  27 + # Compress JavaScripts and CSS.
  28 + config.assets.js_compressor = :uglifier
  29 + # config.assets.css_compressor = :sass
  30 +
  31 + # Do not fallback to assets pipeline if a precompiled asset is missed.
  32 + config.assets.compile = false
  33 +
  34 + # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  35 + # yet still be able to expire them through the digest params.
  36 + config.assets.digest = true
  37 +
  38 + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
  39 +
  40 + # Specifies the header that your server uses for sending files.
  41 + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
  42 + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
  43 +
  44 + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  45 + # config.force_ssl = true
  46 +
  47 + # Use the lowest log level to ensure availability of diagnostic information
  48 + # when problems arise.
  49 + config.log_level = :debug
  50 +
  51 + # Prepend all log lines with the following tags.
  52 + # config.log_tags = [ :subdomain, :uuid ]
  53 +
  54 + # Use a different logger for distributed setups.
  55 + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
  56 +
  57 + # Use a different cache store in production.
  58 + # config.cache_store = :mem_cache_store
  59 +
  60 + # Enable serving of images, stylesheets, and JavaScripts from an asset server.
  61 + # config.action_controller.asset_host = 'http://assets.example.com'
  62 +
  63 + # Ignore bad email addresses and do not raise email delivery errors.
  64 + # Set this to true and configure the email server for immediate delivery to raise delivery errors.
  65 + # config.action_mailer.raise_delivery_errors = false
  66 +
  67 + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
  68 + # the I18n.default_locale when a translation cannot be found).
  69 + config.i18n.fallbacks = true
  70 +
  71 + # Send deprecation notices to registered listeners.
  72 + config.active_support.deprecation = :notify
  73 +
  74 + # Use default logging formatter so that PID and timestamp are not suppressed.
  75 + config.log_formatter = ::Logger::Formatter.new
  76 +
  77 + # Do not dump schema after migrations.
  78 + config.active_record.dump_schema_after_migration = false
  79 +end
... ...
  1 +Rails.application.configure do
  2 + # Settings specified here will take precedence over those in config/application.rb.
  3 +
  4 + # The test environment is used exclusively to run your application's
  5 + # test suite. You never need to work with it otherwise. Remember that
  6 + # your test database is "scratch space" for the test suite and is wiped
  7 + # and recreated between test runs. Don't rely on the data there!
  8 + config.cache_classes = true
  9 +
  10 + # Do not eager load code on boot. This avoids loading your whole application
  11 + # just for the purpose of running a single test. If you are using a tool that
  12 + # preloads Rails for running tests, you may have to set it to true.
  13 + config.eager_load = false
  14 +
  15 + # Configure static file server for tests with Cache-Control for performance.
  16 + config.serve_static_files = true
  17 + config.static_cache_control = 'public, max-age=3600'
  18 +
  19 + # Show full error reports and disable caching.
  20 + config.consider_all_requests_local = true
  21 + config.action_controller.perform_caching = false
  22 +
  23 + # Raise exceptions instead of rendering exception templates.
  24 + config.action_dispatch.show_exceptions = false
  25 +
  26 + # Disable request forgery protection in test environment.
  27 + config.action_controller.allow_forgery_protection = false
  28 +
  29 + # Tell Action Mailer not to deliver emails to the real world.
  30 + # The :test delivery method accumulates sent emails in the
  31 + # ActionMailer::Base.deliveries array.
  32 + config.action_mailer.delivery_method = :test
  33 +
  34 + # Randomize the order test cases are executed.
  35 + config.active_support.test_order = :random
  36 +
  37 + # Print deprecation notices to the stderr.
  38 + config.active_support.deprecation = :stderr
  39 +
  40 + # Raises error for missing translations
  41 + # config.action_view.raise_on_missing_translations = true
  42 +end
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Version of your assets, change this if you want to expire all your assets.
  4 +Rails.application.config.assets.version = '1.0'
  5 +
  6 +# Add additional assets to the asset load path
  7 +# Rails.application.config.assets.paths << Emoji.images_path
  8 +
  9 +# Precompile additional assets.
  10 +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
  11 +# Rails.application.config.assets.precompile += %w( search.js )
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
  4 +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
  5 +
  6 +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
  7 +# Rails.backtrace_cleaner.remove_silencers!
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +Rails.application.config.action_dispatch.cookies_serializer = :json
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Configure sensitive parameters which will be filtered from the log file.
  4 +Rails.application.config.filter_parameters += [:password]
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Add new inflection rules using the following format. Inflections
  4 +# are locale specific, and you may define rules for as many different
  5 +# locales as you wish. All of these examples are active by default:
  6 +# ActiveSupport::Inflector.inflections(:en) do |inflect|
  7 +# inflect.plural /^(ox)$/i, '\1en'
  8 +# inflect.singular /^(ox)en/i, '\1'
  9 +# inflect.irregular 'person', 'people'
  10 +# inflect.uncountable %w( fish sheep )
  11 +# end
  12 +
  13 +# These inflection rules are supported but not enabled by default:
  14 +# ActiveSupport::Inflector.inflections(:en) do |inflect|
  15 +# inflect.acronym 'RESTful'
  16 +# end
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Add new mime types for use in respond_to blocks:
  4 +# Mime::Type.register "text/richtext", :rtf
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +Rails.application.config.session_store :cookie_store, key: '_lex-deeit_session'
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# This file contains settings for ActionController::ParamsWrapper which
  4 +# is enabled by default.
  5 +
  6 +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
  7 +ActiveSupport.on_load(:action_controller) do
  8 + wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
  9 +end
  10 +
  11 +# To enable root element in JSON for ActiveRecord objects.
  12 +# ActiveSupport.on_load(:active_record) do
  13 +# self.include_root_in_json = true
  14 +# end
... ...
  1 +# Files in the config/locales directory are used for internationalization
  2 +# and are automatically loaded by Rails. If you want to use locales other
  3 +# than English, add the necessary files in this directory.
  4 +#
  5 +# To use the locales, use `I18n.t`:
  6 +#
  7 +# I18n.t 'hello'
  8 +#
  9 +# In views, this is aliased to just `t`:
  10 +#
  11 +# <%= t('hello') %>
  12 +#
  13 +# To use a different locale, set it with `I18n.locale`:
  14 +#
  15 +# I18n.locale = :es
  16 +#
  17 +# This would use the information in config/locales/es.yml.
  18 +#
  19 +# To learn more, please read the Rails Internationalization guide
  20 +# available at http://guides.rubyonrails.org/i18n.html.
  21 +
  22 +en:
  23 + hello: "Hello world"
... ...
  1 +Rails.application.routes.draw do
  2 + # The priority is based upon order of creation: first created -> highest priority.
  3 + # See how all your routes lay out with "rake routes".
  4 +
  5 + # You can have the root of your site routed with "root"
  6 + # root 'welcome#index'
  7 +
  8 + # Example of regular route:
  9 + # get 'products/:id' => 'catalog#view'
  10 +
  11 + # Example of named route that can be invoked with purchase_url(id: product.id)
  12 + # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
  13 +
  14 + # Example resource route (maps HTTP verbs to controller actions automatically):
  15 + # resources :products
  16 +
  17 + # Example resource route with options:
  18 + # resources :products do
  19 + # member do
  20 + # get 'short'
  21 + # post 'toggle'
  22 + # end
  23 + #
  24 + # collection do
  25 + # get 'sold'
  26 + # end
  27 + # end
  28 +
  29 + # Example resource route with sub-resources:
  30 + # resources :products do
  31 + # resources :comments, :sales
  32 + # resource :seller
  33 + # end
  34 +
  35 + # Example resource route with more complex sub-resources:
  36 + # resources :products do
  37 + # resources :comments
  38 + # resources :sales do
  39 + # get 'recent', on: :collection
  40 + # end
  41 + # end
  42 +
  43 + # Example resource route with concerns:
  44 + # concern :toggleable do
  45 + # post 'toggle'
  46 + # end
  47 + # resources :posts, concerns: :toggleable
  48 + # resources :photos, concerns: :toggleable
  49 +
  50 + # Example resource route within a namespace:
  51 + # namespace :admin do
  52 + # # Directs /admin/products/* to Admin::ProductsController
  53 + # # (app/controllers/admin/products_controller.rb)
  54 + # resources :products
  55 + # end
  56 +end
... ...
  1 +# Be sure to restart your server when you modify this file.
  2 +
  3 +# Your secret key is used for verifying the integrity of signed cookies.
  4 +# If you change this key, all old signed cookies will become invalid!
  5 +
  6 +# Make sure the secret is at least 30 characters and all random,
  7 +# no regular words or you'll be exposed to dictionary attacks.
  8 +# You can use `rake secret` to generate a secure secret key.
  9 +
  10 +# Make sure the secrets in this file are kept private
  11 +# if you're sharing your code publicly.
  12 +
  13 +development:
  14 + secret_key_base: 35c576c8e74836cd42aeb4b6bb2087c9a309c7b38d4dbd50ead0612f53ae46a193c23efa8f113dd93f78a6b82471b0f36292167757de57eac1ca8a242f35b392
  15 +
  16 +test:
  17 + secret_key_base: 353e5c7e80f08c8fc3c8c5cc0841f7991ec258b2b6f48c3ae43e628208204f9269f88630c3c2cdf1a4f2d0d6165a93af710538ca56cced12b570614d2b4244e6
  18 +
  19 +# Do not keep production secrets in the repository,
  20 +# instead read values from the environment.
  21 +production:
  22 + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
... ...
  1 +# This file should contain all the record creation needed to seed the database with its default values.
  2 +# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
  3 +#
  4 +# Examples:
  5 +#
  6 +# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
  7 +# Mayor.create(name: 'Emanuel', city: cities.first)
... ...
  1 +require "net/http"
  2 +require "uri"
  3 +require "openssl"
  4 +require "json"
  5 +require "yaml"
  6 +
  7 +# curl -k -E lxd-client.crt -X GET https://192.168.30.1:8443/1.0/
  8 +# where lxd-client contains both, cert and key.
  9 +#
  10 +api_base_uri = 'https://192.168.30.1:8443/'
  11 +
  12 +cert = File.read(File.dirname(__FILE__) + '/client.crt')
  13 +key = File.read(File.dirname(__FILE__) + '/client.key')
  14 +
  15 +uri = URI.parse(api_base_uri + '1.0')
  16 +http = Net::HTTP.new(uri.host, uri.port)
  17 +http.use_ssl = true
  18 +http.cert = OpenSSL::X509::Certificate.new(cert)
  19 +http.key = OpenSSL::PKey::RSA.new(key)
  20 +http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  21 +
  22 +request = Net::HTTP::Get.new(uri.request_uri)
  23 +
  24 +response = http.request(request)
  25 +
  26 +puts JSON.parse(response.body).to_yaml
  27 +
  28 +# vim: set ts=2 sw=2:
... ...
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <title>The page you were looking for doesn't exist (404)</title>
  5 + <meta name="viewport" content="width=device-width,initial-scale=1">
  6 + <style>
  7 + body {
  8 + background-color: #EFEFEF;
  9 + color: #2E2F30;
  10 + text-align: center;
  11 + font-family: arial, sans-serif;
  12 + margin: 0;
  13 + }
  14 +
  15 + div.dialog {
  16 + width: 95%;
  17 + max-width: 33em;
  18 + margin: 4em auto 0;
  19 + }
  20 +
  21 + div.dialog > div {
  22 + border: 1px solid #CCC;
  23 + border-right-color: #999;
  24 + border-left-color: #999;
  25 + border-bottom-color: #BBB;
  26 + border-top: #B00100 solid 4px;
  27 + border-top-left-radius: 9px;
  28 + border-top-right-radius: 9px;
  29 + background-color: white;
  30 + padding: 7px 12% 0;
  31 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  32 + }
  33 +
  34 + h1 {
  35 + font-size: 100%;
  36 + color: #730E15;
  37 + line-height: 1.5em;
  38 + }
  39 +
  40 + div.dialog > p {
  41 + margin: 0 0 1em;
  42 + padding: 1em;
  43 + background-color: #F7F7F7;
  44 + border: 1px solid #CCC;
  45 + border-right-color: #999;
  46 + border-left-color: #999;
  47 + border-bottom-color: #999;
  48 + border-bottom-left-radius: 4px;
  49 + border-bottom-right-radius: 4px;
  50 + border-top-color: #DADADA;
  51 + color: #666;
  52 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  53 + }
  54 + </style>
  55 +</head>
  56 +
  57 +<body>
  58 + <!-- This file lives in public/404.html -->
  59 + <div class="dialog">
  60 + <div>
  61 + <h1>The page you were looking for doesn't exist.</h1>
  62 + <p>You may have mistyped the address or the page may have moved.</p>
  63 + </div>
  64 + <p>If you are the application owner check the logs for more information.</p>
  65 + </div>
  66 +</body>
  67 +</html>
... ...
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <title>The change you wanted was rejected (422)</title>
  5 + <meta name="viewport" content="width=device-width,initial-scale=1">
  6 + <style>
  7 + body {
  8 + background-color: #EFEFEF;
  9 + color: #2E2F30;
  10 + text-align: center;
  11 + font-family: arial, sans-serif;
  12 + margin: 0;
  13 + }
  14 +
  15 + div.dialog {
  16 + width: 95%;
  17 + max-width: 33em;
  18 + margin: 4em auto 0;
  19 + }
  20 +
  21 + div.dialog > div {
  22 + border: 1px solid #CCC;
  23 + border-right-color: #999;
  24 + border-left-color: #999;
  25 + border-bottom-color: #BBB;
  26 + border-top: #B00100 solid 4px;
  27 + border-top-left-radius: 9px;
  28 + border-top-right-radius: 9px;
  29 + background-color: white;
  30 + padding: 7px 12% 0;
  31 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  32 + }
  33 +
  34 + h1 {
  35 + font-size: 100%;
  36 + color: #730E15;
  37 + line-height: 1.5em;
  38 + }
  39 +
  40 + div.dialog > p {
  41 + margin: 0 0 1em;
  42 + padding: 1em;
  43 + background-color: #F7F7F7;
  44 + border: 1px solid #CCC;
  45 + border-right-color: #999;
  46 + border-left-color: #999;
  47 + border-bottom-color: #999;
  48 + border-bottom-left-radius: 4px;
  49 + border-bottom-right-radius: 4px;
  50 + border-top-color: #DADADA;
  51 + color: #666;
  52 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  53 + }
  54 + </style>
  55 +</head>
  56 +
  57 +<body>
  58 + <!-- This file lives in public/422.html -->
  59 + <div class="dialog">
  60 + <div>
  61 + <h1>The change you wanted was rejected.</h1>
  62 + <p>Maybe you tried to change something you didn't have access to.</p>
  63 + </div>
  64 + <p>If you are the application owner check the logs for more information.</p>
  65 + </div>
  66 +</body>
  67 +</html>
... ...
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <title>We're sorry, but something went wrong (500)</title>
  5 + <meta name="viewport" content="width=device-width,initial-scale=1">
  6 + <style>
  7 + body {
  8 + background-color: #EFEFEF;
  9 + color: #2E2F30;
  10 + text-align: center;
  11 + font-family: arial, sans-serif;
  12 + margin: 0;
  13 + }
  14 +
  15 + div.dialog {
  16 + width: 95%;
  17 + max-width: 33em;
  18 + margin: 4em auto 0;
  19 + }
  20 +
  21 + div.dialog > div {
  22 + border: 1px solid #CCC;
  23 + border-right-color: #999;
  24 + border-left-color: #999;
  25 + border-bottom-color: #BBB;
  26 + border-top: #B00100 solid 4px;
  27 + border-top-left-radius: 9px;
  28 + border-top-right-radius: 9px;
  29 + background-color: white;
  30 + padding: 7px 12% 0;
  31 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  32 + }
  33 +
  34 + h1 {
  35 + font-size: 100%;
  36 + color: #730E15;
  37 + line-height: 1.5em;
  38 + }
  39 +
  40 + div.dialog > p {
  41 + margin: 0 0 1em;
  42 + padding: 1em;
  43 + background-color: #F7F7F7;
  44 + border: 1px solid #CCC;
  45 + border-right-color: #999;
  46 + border-left-color: #999;
  47 + border-bottom-color: #999;
  48 + border-bottom-left-radius: 4px;
  49 + border-bottom-right-radius: 4px;
  50 + border-top-color: #DADADA;
  51 + color: #666;
  52 + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  53 + }
  54 + </style>
  55 +</head>
  56 +
  57 +<body>
  58 + <!-- This file lives in public/500.html -->
  59 + <div class="dialog">
  60 + <div>
  61 + <h1>We're sorry, but something went wrong.</h1>
  62 + </div>
  63 + <p>If you are the application owner check the logs for more information.</p>
  64 + </div>
  65 +</body>
  66 +</html>
... ...
  1 +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
  2 +#
  3 +# To ban all spiders from the entire site uncomment the next two lines:
  4 +# User-agent: *
  5 +# Disallow: /
... ...
  1 +ENV['RAILS_ENV'] ||= 'test'
  2 +require File.expand_path('../../config/environment', __FILE__)
  3 +require 'rails/test_help'
  4 +
  5 +class ActiveSupport::TestCase
  6 + # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  7 + fixtures :all
  8 +
  9 + # Add more helper methods to be used by all tests here...
  10 +end
... ...
Please register or login to post a comment