diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml
index 1e488b59343..ff00c4feb31 100644
--- a/nixos/doc/manual/configuration/configuration.xml
+++ b/nixos/doc/manual/configuration/configuration.xml
@@ -26,6 +26,7 @@ effect after you run nixos-rebuild.
+
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index b4eb3cde81b..4eda7f94ab4 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -56,6 +56,7 @@ let
cp -prd $sources/* . # */
chmod -R u+w .
cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml
+ cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml
cp ${../../modules/security/acme.xml} configuration/acme.xml
cp ${../../modules/misc/nixos.xml} configuration/nixos.xml
ln -s ${optionsDocBook} options-db.xml
diff --git a/nixos/doc/manual/release-notes/rl-unstable.xml b/nixos/doc/manual/release-notes/rl-unstable.xml
index 22e605718e3..5bad7f63b61 100644
--- a/nixos/doc/manual/release-notes/rl-unstable.xml
+++ b/nixos/doc/manual/release-notes/rl-unstable.xml
@@ -231,6 +231,14 @@ programs.ibus.plugins = with pkgs; [ ibus-anthy mozc ];
overriden by anything else.
+
+ Large parts of the services.gitlab module has been
+ been rewritten. There are new configuration options available. The
+ stateDir option was renamned to
+ statePath and the satellitesDir option
+ was removed. Please review the currently available options.
+
+
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 6d5ee6fc84e..85435884b19 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -28,6 +28,9 @@ with lib;
(mkRenamedOptionModule [ "services" "subsonic" "host" ] [ "services" "subsonic" "listenAddress" ])
(mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
+ (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
+ (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ])
+
# Old Grub-related options.
(mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ])
(mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ])
diff --git a/nixos/modules/services/misc/defaultUnicornConfig.rb b/nixos/modules/services/misc/defaultUnicornConfig.rb
index 81abaf336dc..84622622db7 100644
--- a/nixos/modules/services/misc/defaultUnicornConfig.rb
+++ b/nixos/modules/services/misc/defaultUnicornConfig.rb
@@ -187,7 +187,6 @@ working_directory ENV["GITLAB_PATH"]
pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"
listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
-listen "127.0.0.1:8080", :tcp_nopush => true
timeout 60
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 949357ab20f..cc50bfbea53 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -7,10 +7,13 @@ with lib;
let
cfg = config.services.gitlab;
- ruby = pkgs.gitlab.ruby;
+ ruby = cfg.packages.gitlab.ruby;
bundler = pkgs.bundler;
- gemHome = "${pkgs.gitlab.env}/${ruby.gemPath}";
+ gemHome = "${cfg.packages.gitlab.env}/${ruby.gemPath}";
+
+ gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
+ pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
databaseYml = ''
production:
@@ -21,14 +24,15 @@ let
username: ${cfg.databaseUsername}
encoding: utf8
'';
+
gitlabShellYml = ''
- user: gitlab
- gitlab_url: "http://${cfg.host}:${toString cfg.port}/"
+ user: ${cfg.user}
+ gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
http_settings:
self_signed_cert: false
- repos_path: "${cfg.stateDir}/repositories"
- secret_file: "${cfg.stateDir}/config/gitlab_shell_secret"
- log_file: "${cfg.stateDir}/log/gitlab-shell.log"
+ repos_path: "${cfg.statePath}/repositories"
+ secret_file: "${cfg.statePath}/config/gitlab_shell_secret"
+ log_file: "${cfg.statePath}/log/gitlab-shell.log"
redis:
bin: ${pkgs.redis}/bin/redis-cli
host: 127.0.0.1
@@ -37,33 +41,102 @@ let
namespace: resque:gitlab
'';
+ gitlabConfig = {
+ # These are the default settings from config/gitlab.example.yml
+ production = flip recursiveUpdate cfg.extraConfig {
+ gitlab = {
+ host = cfg.host;
+ port = cfg.port;
+ https = cfg.https;
+ user = cfg.user;
+ email_enabled = true;
+ email_display_name = "GitLab";
+ email_reply_to = "noreply@localhost";
+ default_theme = 2;
+ default_projects_features = {
+ issues = true;
+ merge_requests = true;
+ wiki = true;
+ snippets = false;
+ builds = true;
+ };
+ };
+ artifacts = {
+ enabled = true;
+ };
+ lfs = {
+ enabled = true;
+ };
+ gravatar = {
+ enabled = true;
+ };
+ cron_jobs = {
+ stuck_ci_builds_worker = {
+ cron = "0 0 * * *";
+ };
+ };
+ gitlab_ci = {
+ builds_path = "${cfg.statePath}/builds";
+ };
+ ldap = {
+ enabled = false;
+ };
+ omniauth = {
+ enabled = false;
+ };
+ shared = {
+ path = "${cfg.statePath}/shared";
+ };
+ backup = {
+ path = "${cfg.backupPath}";
+ };
+ gitlab_shell = {
+ path = "${cfg.packages.gitlab-shell}";
+ repos_path = "${cfg.statePath}/repositories";
+ hooks_path = "${cfg.statePath}/shell/hooks";
+ secret_file = "${cfg.statePath}/config/gitlab_shell_secret";
+ upload_pack = true;
+ receive_pack = true;
+ };
+ git = {
+ bin_path = "git";
+ max_size = 20971520; # 20MB
+ timeout = 10;
+ };
+ extra = {};
+ };
+ };
+
+ gitlabEnv = {
+ HOME = "${cfg.statePath}/home";
+ GEM_HOME = gemHome;
+ BUNDLE_GEMFILE = "${cfg.packages.gitlab}/share/gitlab/Gemfile";
+ UNICORN_PATH = "${cfg.statePath}/";
+ GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
+ GITLAB_STATE_PATH = "${cfg.statePath}";
+ GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
+ GITLAB_LOG_PATH = "${cfg.statePath}/log";
+ GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}";
+ GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
+ GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
+ GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
+ RAILS_ENV = "production";
+ };
+
unicornConfig = builtins.readFile ./defaultUnicornConfig.rb;
gitlab-runner = pkgs.stdenv.mkDerivation rec {
name = "gitlab-runner";
- buildInputs = [ pkgs.gitlab pkgs.bundler pkgs.makeWrapper ];
+ buildInputs = [ cfg.packages.gitlab bundler pkgs.makeWrapper ];
phases = "installPhase fixupPhase";
buildPhase = "";
installPhase = ''
mkdir -p $out/bin
- makeWrapper ${bundler}/bin/bundle $out/bin/gitlab-runner\
- --set RAKEOPT '"-f ${pkgs.gitlab}/share/gitlab/Rakefile"'\
- --set GEM_HOME '${gemHome}'\
- --set UNICORN_PATH "${cfg.stateDir}/"\
- --set GITLAB_PATH "${pkgs.gitlab}/share/gitlab/"\
- --set GITLAB_APPLICATION_LOG_PATH "${cfg.stateDir}/log/application.log"\
- --set GITLAB_SATELLITES_PATH "${cfg.stateDir}/satellites"\
- --set GITLAB_SHELL_PATH "${pkgs.gitlab-shell}"\
- --set GITLAB_REPOSITORIES_PATH "${cfg.stateDir}/repositories"\
- --set GITLAB_SHELL_HOOKS_PATH "${cfg.stateDir}/shell/hooks"\
- --set BUNDLE_GEMFILE "${pkgs.gitlab}/share/gitlab/Gemfile"\
- --set GITLAB_EMAIL_FROM "${cfg.emailFrom}"\
- --set GITLAB_SHELL_CONFIG_PATH "${cfg.stateDir}/shell/config.yml"\
- --set GITLAB_SHELL_SECRET_PATH "${cfg.stateDir}/config/gitlab_shell_secret"\
- --set GITLAB_HOST "${cfg.host}"\
- --set GITLAB_PORT "${toString cfg.port}"\
- --set GITLAB_BACKUP_PATH "${cfg.backupPath}"\
- --set RAILS_ENV "production"
+ makeWrapper ${bundler}/bin/bundle $out/bin/gitlab-runner \
+ ${concatStrings (mapAttrsToList (name: value: "--set ${name} '\"${value}\"' ") gitlabEnv)} \
+ --set GITLAB_CONFIG_PATH '"${cfg.statePath}/config"' \
+ --set PATH '"${pkgs.nodejs}/bin:${pkgs.gzip}/bin:${config.services.postgresql.package}/bin:$PATH"' \
+ --set RAKEOPT '"-f ${cfg.packages.gitlab}/share/gitlab/Rakefile"'
'';
};
@@ -79,13 +152,25 @@ in {
'';
};
- satelliteDir = mkOption {
- type = types.str;
- default = "/var/gitlab/git-satellites";
- description = "Gitlab directory to store checked out git trees requires for operation.";
+ packages.gitlab = mkOption {
+ type = types.package;
+ default = pkgs.gitlab;
+ description = "Reference to the gitlab package";
};
- stateDir = mkOption {
+ packages.gitlab-shell = mkOption {
+ type = types.package;
+ default = pkgs.gitlab-shell;
+ description = "Reference to the gitlab-shell package";
+ };
+
+ packages.gitlab-workhorse = mkOption {
+ type = types.package;
+ default = pkgs.gitlab-workhorse;
+ description = "Reference to the gitlab-workhorse package";
+ };
+
+ statePath = mkOption {
type = types.str;
default = "/var/gitlab/state";
description = "Gitlab state directory, logs are stored here.";
@@ -93,7 +178,7 @@ in {
backupPath = mkOption {
type = types.str;
- default = cfg.stateDir + "/backup";
+ default = cfg.statePath + "/backup";
description = "Gitlab path for backups.";
};
@@ -136,14 +221,67 @@ in {
port = mkOption {
type = types.int;
default = 8080;
- description = "Gitlab server listening port.";
+ description = ''
+ Gitlab server port for copy-paste URLs, e.g. 80 or 443 if you're
+ service over https.
+ '';
+ };
+
+ https = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether gitlab prints URLs with https as scheme.";
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "gitlab";
+ description = "User to run gitlab and all related services.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "gitlab";
+ description = "Group to run gitlab and all related services.";
+ };
+
+ initialRootEmail = mkOption {
+ type = types.str;
+ default = "admin@local.host";
+ description = ''
+ Initial email address of the root account if this is a new install.
+ '';
+ };
+
+ initialRootPassword = mkOption {
+ type = types.str;
+ default = "UseNixOS!";
+ description = ''
+ Initial password of the root account if this is a new install.
+ '';
+ };
+
+ extraConfig = mkOption {
+ type = types.attrs;
+ default = {};
+ example = {
+ gitlab = {
+ default_projects_features = {
+ builds = false;
+ };
+ };
+ };
+ description = ''
+ Extra options to be merged into config/gitlab.yml as nix
+ attribute set.
+ '';
};
};
};
config = mkIf cfg.enable {
- environment.systemPackages = [ pkgs.git gitlab-runner pkgs.gitlab-shell ];
+ environment.systemPackages = [ pkgs.git gitlab-runner cfg.packages.gitlab-shell ];
assertions = [
{ assertion = cfg.databasePassword != "";
@@ -159,39 +297,24 @@ in {
services.postfix.enable = mkDefault true;
users.extraUsers = [
- { name = "gitlab";
- group = "gitlab";
- home = "${cfg.stateDir}/home";
+ { name = cfg.user;
+ group = cfg.group;
+ home = "${cfg.statePath}/home";
shell = "${pkgs.bash}/bin/bash";
uid = config.ids.uids.gitlab;
- } ];
+ }
+ ];
users.extraGroups = [
- { name = "gitlab";
+ { name = cfg.group;
gid = config.ids.gids.gitlab;
- } ];
+ }
+ ];
systemd.services.gitlab-sidekiq = {
after = [ "network.target" "redis.service" ];
wantedBy = [ "multi-user.target" ];
- environment.HOME = "${cfg.stateDir}/home";
- environment.GEM_HOME = gemHome;
- environment.UNICORN_PATH = "${cfg.stateDir}/";
- environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
- environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
- environment.GITLAB_SATELLITES_PATH = "${cfg.stateDir}/satellites";
- environment.GITLAB_SHELL_PATH = "${pkgs.gitlab-shell}";
- environment.GITLAB_REPOSITORIES_PATH = "${cfg.stateDir}/repositories";
- environment.GITLAB_SHELL_HOOKS_PATH = "${cfg.stateDir}/shell/hooks";
- environment.BUNDLE_GEMFILE = "${pkgs.gitlab}/share/gitlab/Gemfile";
- environment.GITLAB_EMAIL_FROM = "${cfg.emailFrom}";
- environment.GITLAB_SHELL_CONFIG_PATH = "${cfg.stateDir}/shell/config.yml";
- environment.GITLAB_SHELL_SECRET_PATH = "${cfg.stateDir}/config/gitlab_shell_secret";
- environment.GITLAB_HOST = "${cfg.host}";
- environment.GITLAB_PORT = "${toString cfg.port}";
- environment.GITLAB_DATABASE_HOST = "${cfg.databaseHost}";
- environment.GITLAB_DATABASE_PASSWORD = "${cfg.databasePassword}";
- environment.RAILS_ENV = "production";
+ environment = gitlabEnv;
path = with pkgs; [
config.services.postgresql.package
gitAndTools.git
@@ -201,116 +324,131 @@ in {
];
serviceConfig = {
Type = "simple";
- User = "gitlab";
- Group = "gitlab";
+ User = cfg.user;
+ Group = cfg.group;
TimeoutSec = "300";
- WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
- ExecStart="${bundler}/bin/bundle exec \"sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.stateDir}/tmp/sidekiq.pid\"";
+ WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+ ExecStart="${bundler}/bin/bundle exec \"sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
};
};
- systemd.services.gitlab-git-http-server = {
+ systemd.services.gitlab-workhorse = {
after = [ "network.target" "gitlab.service" ];
wantedBy = [ "multi-user.target" ];
- environment.HOME = "${cfg.stateDir}/home";
+ environment.HOME = gitlabEnv.HOME;
+ environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
path = with pkgs; [
gitAndTools.git
openssh
];
+ preStart = ''
+ mkdir -p /run/gitlab
+ chown ${cfg.user}:${cfg.group} /run/gitlab
+ '';
serviceConfig = {
+ PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
- User = "gitlab";
- Group = "gitlab";
+ User = cfg.user;
+ Group = cfg.group;
TimeoutSec = "300";
- ExecStart = "${pkgs.gitlab-git-http-server}/bin/gitlab-git-http-server -listenUmask 0 -listenNetwork unix -listenAddr ${cfg.stateDir}/tmp/sockets/gitlab-git-http-server.socket -authBackend http://localhost:8080 ${cfg.stateDir}/repositories";
+ ExecStart =
+ "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse "
+ + "-listenUmask 0 "
+ + "-listenNetwork unix "
+ + "-listenAddr /run/gitlab/gitlab-workhorse.socket "
+ + "-authSocket ${gitlabSocket} "
+ + "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public";
};
};
systemd.services.gitlab = {
after = [ "network.target" "postgresql.service" "redis.service" ];
wantedBy = [ "multi-user.target" ];
- environment.HOME = "${cfg.stateDir}/home";
- environment.GEM_HOME = gemHome;
- environment.UNICORN_PATH = "${cfg.stateDir}/";
- environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
- environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
- environment.GITLAB_SATELLITES_PATH = "${cfg.stateDir}/satellites";
- environment.GITLAB_SHELL_PATH = "${pkgs.gitlab-shell}";
- environment.GITLAB_SHELL_CONFIG_PATH = "${cfg.stateDir}/shell/config.yml";
- environment.GITLAB_SHELL_SECRET_PATH = "${cfg.stateDir}/config/gitlab_shell_secret";
- environment.GITLAB_REPOSITORIES_PATH = "${cfg.stateDir}/repositories";
- environment.GITLAB_SHELL_HOOKS_PATH = "${cfg.stateDir}/shell/hooks";
- environment.BUNDLE_GEMFILE = "${pkgs.gitlab}/share/gitlab/Gemfile";
- environment.GITLAB_EMAIL_FROM = "${cfg.emailFrom}";
- environment.GITLAB_HOST = "${cfg.host}";
- environment.GITLAB_PORT = "${toString cfg.port}";
- environment.GITLAB_DATABASE_HOST = "${cfg.databaseHost}";
- environment.GITLAB_DATABASE_PASSWORD = "${cfg.databasePassword}";
- environment.RAILS_ENV = "production";
+ environment = gitlabEnv;
path = with pkgs; [
config.services.postgresql.package
gitAndTools.git
- ruby
openssh
nodejs
];
preStart = ''
- # TODO: use env vars
- mkdir -p ${cfg.stateDir}
- mkdir -p ${cfg.stateDir}/log
- mkdir -p ${cfg.stateDir}/satellites
- mkdir -p ${cfg.stateDir}/repositories
- mkdir -p ${cfg.stateDir}/shell/hooks
- mkdir -p ${cfg.stateDir}/tmp/pids
- mkdir -p ${cfg.stateDir}/tmp/sockets
- rm -rf ${cfg.stateDir}/config
- mkdir -p ${cfg.stateDir}/config
+ mkdir -p ${cfg.backupPath}
+ mkdir -p ${cfg.statePath}/builds
+ mkdir -p ${cfg.statePath}/repositories
+ mkdir -p ${gitlabConfig.production.shared.path}/artifacts
+ mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
+ mkdir -p ${cfg.statePath}/log
+ mkdir -p ${cfg.statePath}/shell
+ mkdir -p ${cfg.statePath}/tmp/pids
+ mkdir -p ${cfg.statePath}/tmp/sockets
+
+ rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
+ mkdir -p ${cfg.statePath}/config ${cfg.statePath}/shell
+
# TODO: What exactly is gitlab-shell doing with the secret?
- tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 20 > ${cfg.stateDir}/config/gitlab_shell_secret
- mkdir -p ${cfg.stateDir}/home/.ssh
- touch ${cfg.stateDir}/home/.ssh/authorized_keys
+ tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 20 > ${cfg.statePath}/config/gitlab_shell_secret
- cp -rf ${pkgs.gitlab}/share/gitlab/config ${cfg.stateDir}/
- cp ${pkgs.gitlab}/share/gitlab/VERSION ${cfg.stateDir}/VERSION
+ # The uploads directory is hardcoded somewhere deep in rails. It is
+ # symlinked in the gitlab package to /run/gitlab/uploads to make it
+ # configurable
+ mkdir -p /run/gitlab
+ mkdir -p ${cfg.statePath}/uploads
+ ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
+ chown -R ${cfg.user}:${cfg.group} /run/gitlab
- ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
- ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.stateDir}/config/unicorn.rb
+ # Prepare home directory
+ mkdir -p ${gitlabEnv.HOME}/.ssh
+ touch ${gitlabEnv.HOME}/.ssh/authorized_keys
+ chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
+ chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}/
- chown -R gitlab:gitlab ${cfg.stateDir}/
- chmod -R 755 ${cfg.stateDir}/
+ cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
+ ln -sf ${cfg.statePath}/config /run/gitlab/config
+ cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
+
+ # JSON is a subset of YAML
+ ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
+ ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
+ ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
+
+ chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/
+ chmod -R ug+rwX,o-rwx+X ${cfg.statePath}/
+
+ # Install the shell required to push repositories
+ ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} "$GITLAB_SHELL_CONFIG_PATH"
+ ln -fs ${cfg.packages.gitlab-shell}/hooks "$GITLAB_SHELL_HOOKS_PATH"
+ ${cfg.packages.gitlab-shell}/bin/install
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
- if ! test -e "${cfg.stateDir}/db-created"; then
+ if ! test -e "${cfg.statePath}/db-created"; then
psql postgres -c "CREATE ROLE gitlab WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
${config.services.postgresql.package}/bin/createdb --owner gitlab gitlab || true
- touch "${cfg.stateDir}/db-created"
+ touch "${cfg.statePath}/db-created"
- # force=yes disables the manual-interaction yes/no prompt
- # which breaks without an stdin.
- force=yes ${bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile gitlab:setup RAILS_ENV=production
+ # The gitlab:setup task is horribly broken somehow, these two tasks will do the same for setting up the initial database
+ ${gitlab-runner}/bin/gitlab-runner exec rake db:migrate RAILS_ENV=production
+ ${gitlab-runner}/bin/gitlab-runner exec rake db:seed_fu RAILS_ENV=production \
+ GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}";
fi
fi
- ${bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile db:migrate RAILS_ENV=production
- # Install the shell required to push repositories
- ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} ${cfg.stateDir}/shell/config.yml
- export GITLAB_SHELL_CONFIG_PATH=""${cfg.stateDir}/shell/config.yml
- ${pkgs.gitlab-shell}/bin/install
+ # Always do the db migrations just to be sure the database is up-to-date
+ ${gitlab-runner}/bin/gitlab-runner exec rake db:migrate RAILS_ENV=production
- # Change permissions in the last step because some of the
- # intermediary scripts like to create directories as root.
- chown -R gitlab:gitlab ${cfg.stateDir}/
- chmod -R 755 ${cfg.stateDir}/
+ # Change permissions in the last step because some of the
+ # intermediary scripts like to create directories as root.
+ chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
+ chmod -R u+rwX,go-rwx+X ${cfg.statePath}
'';
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
- User = "gitlab";
- Group = "gitlab";
+ User = cfg.user;
+ Group = cfg.group;
TimeoutSec = "300";
- WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
- ExecStart="${bundler}/bin/bundle exec \"unicorn -c ${cfg.stateDir}/config/unicorn.rb -E production\"";
+ WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+ ExecStart="${bundler}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
};
};
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
new file mode 100644
index 00000000000..b630fe42113
--- /dev/null
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -0,0 +1,103 @@
+
+
+Gitlab
+
+Gitlab is a feature-rich git hosting service.
+
+Prerequisites
+
+The gitlab service exposes only an Unix socket at
+/run/gitlab/gitlab-workhorse.socket. You need to configure a
+webserver to proxy HTTP requests to the socket.
+
+For instance, this could be used for Nginx:
+
+
+services.nginx.httpConfig = ''
+ server {
+ server_name git.example.com;
+ listen 443 ssl spdy;
+ listen [::]:443 ssl spdy;
+
+ ssl_certificate /var/lib/acme/git.example.com/fullchain.pem;
+ ssl_certificate_key /var/lib/acme/git.example.com/key.pem;
+
+ location / {
+ proxy_http_version 1.1;
+ proxy_set_header Host $http_host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-Ssl on;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ proxy_pass http://unix:/run/gitlab/gitlab-workhorse.socket;
+ }
+ }
+'';
+
+
+
+
+
+Configuring
+
+Gitlab depends on both PostgreSQL and Redis and will automatically enable
+both services. In the case of PostgreSQL, a database and a role will be created.
+
+
+The default state dir is /var/gitlab/state. This is where all data like
+the repositories and uploads will be stored.
+
+A basic configuration could look like this:
+
+
+services.gitlab = {
+ enable = true;
+ databasePassword = "eXaMpl3";
+ initialRootPassword = "UseNixOS!";
+ https = true;
+ host = "git.example.com";
+ port = 443;
+ user = "git";
+ group = "git";
+ extraConfig = {
+ gitlab = {
+ default_projects_features = { builds = false; };
+ };
+ };
+};
+
+
+
+Refer to for all available configuration
+options for the services.gitlab module.
+
+
+
+Maintenance
+
+You can run all Gitlab related commands like rake tasks with
+gitlab-runner which will be available on the system
+when gitlab is enabled. You will have to run the commands as the user that
+you configured to run gitlab.
+
+For instance, to backup a Gitlab instance:
+
+
+$ sudo -u git -H gitlab-runner exec rake gitlab:backup:create
+
+
+A list of all availabe rake tasks can be obtained by running:
+
+
+$ sudo -u git -H gitlab-runner exec rake -T
+
+
+
+
+
+
diff --git a/pkgs/applications/version-management/gitlab-git-http-server/default.nix b/pkgs/applications/version-management/gitlab-git-http-server/default.nix
deleted file mode 100644
index 98b14d2ce86..00000000000
--- a/pkgs/applications/version-management/gitlab-git-http-server/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchgit, git, go }:
-
-stdenv.mkDerivation rec {
- version = "0.2.14";
- name = "gitlab-git-http-server-${version}";
-
- srcs = fetchgit {
- url = "https://gitlab.com/gitlab-org/gitlab-git-http-server.git";
- rev = "7c63f08f7051348e56b903fc0bbefcfed398fc1c";
- sha256 = "557d63a90c61371598b971a06bc056993610b58c2ef5762d9ef145ec2fdada78";
- };
-
- buildInputs = [ git go ];
-
- buildPhase = ''
- make PREFIX=$out
- '';
-
- installPhase = ''
- mkdir -p $out/bin
- make install PREFIX=$out
- '';
-}
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index 5ee59c1e255..c2e746630da 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, ruby, bundler, fetchgit }:
+{ stdenv, ruby, bundler, fetchFromGitLab }:
stdenv.mkDerivation rec {
- version = "2.1.0";
+ version = "2.6.10";
name = "gitlab-shell-${version}";
- srcs = fetchgit {
- url = "https://gitlab.com/gitlab-org/gitlab-shell.git";
- rev = "ebbb9d80811c23d49a7d1b75d7a7d2b8ffe7437b";
- sha256 = "fe69ab85d75a3871b4afa11ebc17f43008d135bbdbd6c581f6bebee2a4a3c75d";
+ srcs = fetchFromGitLab {
+ owner = "gitlab-org";
+ repo = "gitlab-shell";
+ rev = "v${version}";
+ sha256 = "1f1ma49xpkan2iksnw9amzjdw6i0bxnzdbsk0329m7if4987vcqd";
};
buildInputs = [
ruby bundler
];
+ patches = [ ./remove-hardcoded-locations.patch ];
+
installPhase = ''
mkdir -p $out/
cp -R . $out/
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
new file mode 100644
index 00000000000..e1c924cdeef
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
+index c1d175a..7f7fd2f 100644
+--- a/lib/gitlab_projects.rb
++++ b/lib/gitlab_projects.rb
+@@ -5,7 +5,7 @@ require_relative 'gitlab_config'
+ require_relative 'gitlab_logger'
+
+ class GitlabProjects
+- GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
++ GLOBAL_HOOKS_DIRECTORY = ENV['GITLAB_SHELL_HOOKS_PATH'] || File.join(ROOT_PATH, 'hooks')
+
+ # Project name is a directory name for repository with .git at the end
+ # It may be namespaced or not. Like repo.git or gitlab/repo.git
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
new file mode 100644
index 00000000000..06c05d9f3b3
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitLab, git, go }:
+
+stdenv.mkDerivation rec {
+ version = "0.6.4";
+ name = "gitlab-workhorse-${version}";
+
+ srcs = fetchFromGitLab {
+ owner = "gitlab-org";
+ repo = "gitlab-workhorse";
+ rev = version;
+ sha256 = "09bs3kdmqi6avdak2nqma141y4fhfv050zwqqx7qh9a9hgkgwjxw";
+ };
+
+ buildInputs = [ git go ];
+
+ patches = [ ./remove-hardcoded-paths.patch ];
+
+ buildPhase = ''
+ make PREFIX=$out
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ make install PREFIX=$out
+ '';
+}
diff --git a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
new file mode 100644
index 00000000000..37f3d2deef5
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
@@ -0,0 +1,12 @@
+diff --git a/internal/git/command.go b/internal/git/command.go
+index 0e5496c..5778294 100644
+--- a/internal/git/command.go
++++ b/internal/git/command.go
+@@ -16,6 +16,7 @@ func gitCommand(gl_id string, name string, args ...string) *exec.Cmd {
+ cmd.Env = []string{
+ fmt.Sprintf("HOME=%s", os.Getenv("HOME")),
+ fmt.Sprintf("PATH=%s", os.Getenv("PATH")),
++ fmt.Sprintf("GITLAB_SHELL_CONFIG_PATH=%s", os.Getenv("GITLAB_SHELL_CONFIG_PATH")),
+ fmt.Sprintf("LD_LIBRARY_PATH=%s", os.Getenv("LD_LIBRARY_PATH")),
+ fmt.Sprintf("GL_ID=%s", gl_id),
+ }
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index 66261426c01..fc7ad47919d 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,14 +1,10 @@
source "https://rubygems.org"
-def darwin_only(require_as)
- RUBY_PLATFORM.include?('darwin') && require_as
-end
+gem 'rails', '4.2.5.1'
+gem 'rails-deprecated_sanitizer', '~> 1.0.3'
-def linux_only(require_as)
- RUBY_PLATFORM.include?('linux') && require_as
-end
-
-gem 'rails', '4.1.12'
+# Responders respond_to and respond_with
+gem 'responders', '~> 2.0'
# Specify a sprockets version due to security issue
# See https://groups.google.com/forum/#!topic/rubyonrails-security/doAVp0YaTqY
@@ -22,20 +18,27 @@ gem "mysql2", '~> 0.3.16', group: :mysql
gem "pg", '~> 0.18.2', group: :postgres
# Authentication libraries
-gem "devise", '~> 3.5.2'
-gem "devise-async", '~> 0.9.0'
-gem 'omniauth', "~> 1.2.2"
-gem 'omniauth-google-oauth2', '~> 0.2.5'
-gem 'omniauth-twitter', '~> 1.0.1'
-gem 'omniauth-github', '~> 1.1.1'
-gem 'omniauth-shibboleth', '~> 1.1.1'
-gem 'omniauth-kerberos', '~> 0.2.0', group: :kerberos
-gem 'omniauth-gitlab', '~> 1.0.0'
-gem 'omniauth-bitbucket', '~> 0.0.2'
-gem 'omniauth-saml', '~> 1.4.0'
-gem 'doorkeeper', '~> 2.1.3'
-gem 'omniauth_crowd'
-gem "rack-oauth2", "~> 1.0.5"
+gem 'devise', '~> 3.5.4'
+gem 'devise-async', '~> 0.9.0'
+gem 'doorkeeper', '~> 2.2.0'
+gem 'omniauth', '~> 1.3.1'
+gem 'omniauth-azure-oauth2', '~> 0.0.6'
+gem 'omniauth-bitbucket', '~> 0.0.2'
+gem 'omniauth-cas3', '~> 1.1.2'
+gem 'omniauth-facebook', '~> 3.0.0'
+gem 'omniauth-github', '~> 1.1.1'
+gem 'omniauth-gitlab', '~> 1.0.0'
+gem 'omniauth-google-oauth2', '~> 0.2.0'
+gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
+gem 'omniauth-saml', '~> 1.4.2'
+gem 'omniauth-shibboleth', '~> 1.2.0'
+gem 'omniauth-twitter', '~> 1.2.0'
+gem 'omniauth_crowd', '~> 2.2.0'
+gem 'rack-oauth2', '~> 1.2.1'
+
+# Spam and anti-bot protection
+gem 'recaptcha', require: 'recaptcha/rails'
+gem 'akismet', '~> 2.0'
# Two-factor authentication
gem 'devise-two-factor', '~> 2.0.0'
@@ -47,7 +50,7 @@ gem "browser", '~> 1.0.0'
# Extracting information from a git repository
# Provide access to Gitlab::Git library
-gem "gitlab_git", '~> 7.2.15'
+gem "gitlab_git", '~> 8.2'
# LDAP Auth
# GitLab fork with several improvements to original library. For full list of changes
@@ -55,32 +58,21 @@ gem "gitlab_git", '~> 7.2.15'
gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: "omniauth-ldap"
# Git Wiki
-gem 'gollum-lib', '~> 4.0.2'
+gem 'gollum-lib', '~> 4.1.0'
# Language detection
-# GitLab fork of linguist does not require pygments/python dependency.
-# New version of original gem also dropped pygments support but it has strict
-# dependency to unstable rugged version. We have internal issue for replacing
-# fork with original gem when we meet on same rugged version - https://dev.gitlab.org/gitlab/gitlabhq/issues/2052.
-gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
+gem "github-linguist", "~> 4.7.0", require: "linguist"
# API
-gem "grape", "~> 0.6.1"
-gem "grape-entity", "~> 0.4.2"
-gem 'rack-cors', '~> 0.2.9', require: 'rack/cors'
-
-# Format dates and times
-# based on human-friendly examples
-gem "stamp", '~> 0.5.0'
-
-# Enumeration fields
-gem 'enumerize', '~> 0.7.0'
+gem 'grape', '~> 0.13.0'
+gem 'grape-entity', '~> 0.4.2'
+gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
# Pagination
-gem "kaminari", "~> 0.15.1"
+gem "kaminari", "~> 0.16.3"
# HAML
-gem "haml-rails", '~> 0.5.3'
+gem "haml-rails", '~> 0.9.0'
# Files attachments
gem "carrierwave", '~> 0.9.0'
@@ -89,7 +81,7 @@ gem "carrierwave", '~> 0.9.0'
gem 'dropzonejs-rails', '~> 0.7.1'
# for aws storage
-gem "fog", "~> 1.25.0"
+gem "fog", "~> 1.36.0"
gem "unf", '~> 0.1.4'
# Authorization
@@ -102,13 +94,18 @@ gem "seed-fu", '~> 2.3.5'
gem 'html-pipeline', '~> 1.11.0'
gem 'task_list', '~> 1.0.2', require: 'task_list/railtie'
gem 'github-markup', '~> 1.3.1'
-gem 'redcarpet', '~> 3.3.2'
+gem 'redcarpet', '~> 3.3.3'
gem 'RedCloth', '~> 4.2.9'
gem 'rdoc', '~>3.6'
gem 'org-ruby', '~> 0.9.12'
-gem 'creole', '~>0.3.6'
+gem 'creole', '~> 0.5.0'
gem 'wikicloth', '0.8.1'
gem 'asciidoctor', '~> 1.5.2'
+gem 'rouge', '~> 1.10.1'
+
+# See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
+# and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
+gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
# Diffs
gem 'diffy', '~> 3.0.3'
@@ -120,7 +117,7 @@ group :unicorn do
end
# State machine
-gem "state_machine", '~> 1.2.0'
+gem "state_machines-activerecord", '~> 0.3.0'
# Run events after state machine commits
gem 'after_commit_queue'
@@ -128,17 +125,16 @@ gem 'after_commit_queue'
gem 'acts-as-taggable-on', '~> 3.4'
# Background jobs
-gem 'slim', '~> 2.0.2'
gem 'sinatra', '~> 1.4.4', require: nil
-gem 'sidekiq', '3.3.0'
-gem 'sidetiq', '~> 0.6.3'
+gem 'sidekiq', '~> 4.0'
+gem 'sidekiq-cron', '~> 0.4.0'
+gem 'redis-namespace'
# HTTP requests
gem "httparty", '~> 0.13.3'
# Colored output to console
-gem "colored", '~> 1.2'
-gem "colorize", '~> 0.5.8'
+gem "colorize", '~> 0.7.0'
# GitLab settings
gem 'settingslogic', '~> 2.0.9'
@@ -151,7 +147,7 @@ gem 'version_sorter', '~> 2.0.0'
gem "redis-rails", '~> 4.0.0'
# Campfire integration
-gem 'tinder', '~> 1.9.2'
+gem 'tinder', '~> 1.10.0'
# HipChat integration
gem 'hipchat', '~> 1.5.0'
@@ -163,28 +159,32 @@ gem "gitlab-flowdock-git-hook", "~> 1.0.1"
gem "gemnasium-gitlab-service", "~> 0.2"
# Slack integration
-gem "slack-notifier", "~> 1.0.0"
+gem "slack-notifier", "~> 1.2.0"
# Asana integration
-gem 'asana', '~> 0.0.6'
+gem 'asana', '~> 0.4.0'
# FogBugz integration
gem 'ruby-fogbugz', '~> 0.2.1'
# d3
-gem 'd3_rails', '~> 3.5.5'
+gem 'd3_rails', '~> 3.5.0'
#cal-heatmap
-gem "cal-heatmap-rails", "~> 0.0.1"
+gem 'cal-heatmap-rails', '~> 3.5.0'
# underscore-rails
-gem "underscore-rails", "~> 1.4.4"
+gem "underscore-rails", "~> 1.8.0"
# Sanitize user input
gem "sanitize", '~> 2.0'
+gem 'babosa', '~> 1.0.2'
+
+# Sanitizes SVG input
+gem "loofah", "~> 2.0.3"
# Protect against bruteforcing
-gem "rack-attack", '~> 4.3.0'
+gem "rack-attack", '~> 4.3.1'
# Ace editor
gem 'ace-rails-ap', '~> 2.0.1'
@@ -193,38 +193,52 @@ gem 'ace-rails-ap', '~> 2.0.1'
gem 'mousetrap-rails', '~> 1.4.6'
# Detect and convert string character encoding
-gem 'charlock_holmes', '~> 0.6.9.4'
+gem 'charlock_holmes', '~> 0.7.3'
-gem "sass-rails", '~> 4.0.5'
+gem "sass-rails", '~> 5.0.0'
gem "coffee-rails", '~> 4.1.0'
-gem "uglifier", '~> 2.3.2'
+gem "uglifier", '~> 2.7.2'
gem 'turbolinks', '~> 2.5.0'
-gem 'jquery-turbolinks', '~> 2.0.1'
+gem 'jquery-turbolinks', '~> 2.1.0'
gem 'addressable', '~> 2.3.8'
-gem 'bootstrap-sass', '~> 3.0'
+gem 'bootstrap-sass', '~> 3.3.0'
gem 'font-awesome-rails', '~> 4.2'
-gem 'gitlab_emoji', '~> 0.1'
-gem 'gon', '~> 5.0.0'
-gem 'jquery-atwho-rails', '~> 1.0.0'
-gem 'jquery-rails', '~> 3.1.3'
+gem 'gitlab_emoji', '~> 0.3.0'
+gem 'gon', '~> 6.0.1'
+gem 'jquery-atwho-rails', '~> 1.3.2'
+gem 'jquery-rails', '~> 4.0.0'
gem 'jquery-scrollto-rails', '~> 1.4.3'
-gem 'jquery-ui-rails', '~> 4.2.1'
-gem 'nprogress-rails', '~> 0.1.2.3'
+gem 'jquery-ui-rails', '~> 5.0.0'
+gem 'nprogress-rails', '~> 0.1.6.7'
gem 'raphael-rails', '~> 2.1.2'
gem 'request_store', '~> 1.2.0'
gem 'select2-rails', '~> 3.5.9'
gem 'virtus', '~> 1.0.1'
+gem 'net-ssh', '~> 3.0.1'
+
+# Sentry integration
+gem 'sentry-raven', '~> 0.15'
+
+# Metrics
+group :metrics do
+ gem 'allocations', '~> 1.0', require: false, platform: :mri
+ gem 'method_source', '~> 0.8', require: false
+ gem 'influxdb', '~> 0.2', require: false
+ gem 'connection_pool', '~> 2.0', require: false
+end
group :development do
gem "foreman"
- gem 'brakeman', '3.0.1', require: false
+ gem 'brakeman', '~> 3.1.0', require: false
gem "annotate", "~> 2.6.0"
gem "letter_opener", '~> 1.1.2'
gem 'quiet_assets', '~> 1.0.2'
- gem 'rack-mini-profiler', '~> 0.9.0', require: false
- gem 'rerun', '~> 0.10.0'
+ gem 'rerun', '~> 0.11.0'
+ gem 'bullet', require: false
+ gem 'rblineprof', platform: :mri, require: false
+ gem 'web-console', '~> 2.0'
# Better errors handler
gem 'better_errors', '~> 1.0.1'
@@ -241,7 +255,7 @@ group :development, :test do
gem 'byebug', platform: :mri
gem 'pry-rails'
- gem 'awesome_print', '~> 1.2.0'
+ gem 'awesome_print', '~> 1.2.0', require: false
gem 'fuubar', '~> 2.0.0'
gem 'database_cleaner', '~> 1.4.0'
@@ -257,7 +271,7 @@ group :development, :test do
gem 'capybara', '~> 2.4.0'
gem 'capybara-screenshot', '~> 1.0.0'
- gem 'poltergeist', '~> 1.6.0'
+ gem 'poltergeist', '~> 1.8.1'
gem 'teaspoon', '~> 1.0.0'
gem 'teaspoon-jasmine', '~> 2.2.0'
@@ -267,16 +281,21 @@ group :development, :test do
gem 'spring-commands-spinach', '~> 1.0.0'
gem 'spring-commands-teaspoon', '~> 0.0.2'
- gem 'rubocop', '~> 0.28.0', require: false
+ gem 'rubocop', '~> 0.35.0', require: false
gem 'coveralls', '~> 0.8.2', require: false
gem 'simplecov', '~> 0.10.0', require: false
+ gem 'flog', require: false
+ gem 'flay', require: false
+ gem 'bundler-audit', require: false
+
+ gem 'benchmark-ips', require: false
end
group :test do
gem 'shoulda-matchers', '~> 2.8.0', require: false
gem 'email_spec', '~> 1.6.0'
gem 'webmock', '~> 1.21.0'
- gem 'test_after_commit', '~> 0.2.2'
+ gem 'test_after_commit', '~> 0.4.2'
gem 'sham_rack'
end
@@ -284,12 +303,11 @@ group :production do
gem "gitlab_meta", '7.0'
end
-gem "newrelic_rpm", '~> 3.9.4.245'
-gem 'newrelic-grape'
+gem "newrelic_rpm", '~> 3.14'
-gem 'octokit', '~> 3.7.0'
+gem 'octokit', '~> 3.8.0'
-gem "mail_room", "~> 0.5.2"
+gem "mail_room", "~> 0.6.1"
gem 'email_reply_parser', '~> 0.5.8'
@@ -298,19 +316,10 @@ gem 'activerecord-deprecated_finders', '~> 1.0.3'
gem 'activerecord-session_store', '~> 0.1.0'
gem "nested_form", '~> 0.3.2'
-# Scheduled
-gem 'whenever', '~> 0.8.4', require: false
-
# OAuth
gem 'oauth2', '~> 1.0.0'
# Soft deletion
gem "paranoia", "~> 2.0"
-group :development, :test do
- gem 'guard-rspec', '~> 4.2.0'
-
- gem 'rb-fsevent', require: darwin_only('rb-fsevent')
- gem 'growl', require: darwin_only('growl')
- gem 'rb-inotify', require: linux_only('rb-inotify')
-end
+gem "activerecord-nulldb-adapter"
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 56db3f61985..2934988f836 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -1,63 +1,75 @@
GEM
remote: https://rubygems.org/
specs:
- CFPropertyList (2.3.1)
+ CFPropertyList (2.3.2)
RedCloth (4.2.9)
ace-rails-ap (2.0.1)
- actionmailer (4.1.12)
- actionpack (= 4.1.12)
- actionview (= 4.1.12)
+ actionmailer (4.2.5.1)
+ actionpack (= 4.2.5.1)
+ actionview (= 4.2.5.1)
+ activejob (= 4.2.5.1)
mail (~> 2.5, >= 2.5.4)
- actionpack (4.1.12)
- actionview (= 4.1.12)
- activesupport (= 4.1.12)
- rack (~> 1.5.2)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ actionpack (4.2.5.1)
+ actionview (= 4.2.5.1)
+ activesupport (= 4.2.5.1)
+ rack (~> 1.6)
rack-test (~> 0.6.2)
- actionview (4.1.12)
- activesupport (= 4.1.12)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
+ actionview (4.2.5.1)
+ activesupport (= 4.2.5.1)
builder (~> 3.1)
erubis (~> 2.7.0)
- activemodel (4.1.12)
- activesupport (= 4.1.12)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
+ activejob (4.2.5.1)
+ activesupport (= 4.2.5.1)
+ globalid (>= 0.3.0)
+ activemodel (4.2.5.1)
+ activesupport (= 4.2.5.1)
builder (~> 3.1)
- activerecord (4.1.12)
- activemodel (= 4.1.12)
- activesupport (= 4.1.12)
- arel (~> 5.0.0)
+ activerecord (4.2.5.1)
+ activemodel (= 4.2.5.1)
+ activesupport (= 4.2.5.1)
+ arel (~> 6.0)
activerecord-deprecated_finders (1.0.4)
- activerecord-session_store (0.1.1)
+ activerecord-nulldb-adapter (0.3.2)
+ activerecord (>= 2.0.0)
+ activerecord-session_store (0.1.2)
actionpack (>= 4.0.0, < 5)
activerecord (>= 4.0.0, < 5)
railties (>= 4.0.0, < 5)
- activeresource (4.0.0)
- activemodel (~> 4.0)
- activesupport (~> 4.0)
- rails-observers (~> 0.1.1)
- activesupport (4.1.12)
- i18n (~> 0.6, >= 0.6.9)
+ activesupport (4.2.5.1)
+ i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
- thread_safe (~> 0.1)
+ thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
acts-as-taggable-on (3.5.0)
activerecord (>= 3.2, < 5)
addressable (2.3.8)
- after_commit_queue (1.1.0)
- rails (>= 3.0)
+ after_commit_queue (1.3.0)
+ activerecord (>= 3.0)
+ akismet (2.0.0)
+ allocations (1.0.4)
annotate (2.6.10)
activerecord (>= 3.2, <= 4.3)
rake (~> 10.4)
- arel (5.0.1.20140414130214)
- asana (0.0.6)
- activeresource (>= 3.2.3)
- asciidoctor (1.5.2)
+ arel (6.0.3)
+ asana (0.4.0)
+ faraday (~> 0.9)
+ faraday_middleware (~> 0.9)
+ faraday_middleware-multi_json (~> 0.0)
+ oauth2 (~> 1.0)
+ asciidoctor (1.5.3)
ast (2.1.0)
astrolabe (1.3.1)
parser (~> 2.2)
attr_encrypted (1.3.4)
encryptor (>= 1.3.0)
attr_required (1.0.0)
- autoprefixer-rails (5.2.1.2)
+ autoprefixer-rails (6.2.3)
execjs
json
awesome_print (1.2.0)
@@ -65,29 +77,39 @@ GEM
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
+ babosa (1.0.2)
bcrypt (3.1.10)
+ benchmark-ips (2.3.0)
better_errors (1.0.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
- bootstrap-sass (3.3.5)
- autoprefixer-rails (>= 5.0.0.1)
- sass (>= 3.2.19)
- brakeman (3.0.1)
+ bootstrap-sass (3.3.6)
+ autoprefixer-rails (>= 5.2.1)
+ sass (>= 3.3.4)
+ brakeman (3.1.4)
erubis (~> 2.6)
fastercsv (~> 1.5)
haml (>= 3.0, < 5.0)
- highline (~> 1.6.20)
+ highline (>= 1.6.20, < 2.0)
multi_json (~> 1.2)
- ruby2ruby (~> 2.1.1)
- ruby_parser (~> 3.5.0)
+ ruby2ruby (>= 2.1.1, < 2.3.0)
+ ruby_parser (~> 3.7.0)
+ safe_yaml (>= 1.0)
sass (~> 3.0)
+ slim (>= 1.3.6, < 4.0)
terminal-table (~> 1.4)
- browser (1.0.0)
+ browser (1.0.1)
builder (3.2.2)
- byebug (6.0.2)
- cal-heatmap-rails (0.0.1)
+ bullet (4.14.10)
+ activesupport (>= 3.0.0)
+ uniform_notifier (~> 1.9.0)
+ bundler-audit (0.4.0)
+ bundler (~> 1.2)
+ thor (~> 0.18)
+ byebug (8.2.1)
+ cal-heatmap-rails (3.5.1)
capybara (2.4.4)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
@@ -101,11 +123,9 @@ GEM
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
json (>= 1.7)
- celluloid (0.16.0)
- timers (~> 4.0.0)
- charlock_holmes (0.6.9.4)
- chronic (0.10.2)
- chunky_png (1.3.4)
+ cause (0.1)
+ charlock_holmes (0.7.3)
+ chunky_png (1.3.5)
cliver (0.3.2)
coderay (1.1.0)
coercible (1.0.0)
@@ -116,29 +136,31 @@ GEM
coffee-script (2.4.1)
coffee-script-source
execjs
- coffee-script-source (1.9.1.1)
- colored (1.2)
- colorize (0.5.8)
+ coffee-script-source (1.10.0)
+ colorize (0.7.7)
+ concurrent-ruby (1.0.0)
connection_pool (2.2.0)
- coveralls (0.8.2)
+ coveralls (0.8.9)
json (~> 1.8)
rest-client (>= 1.6.8, < 2)
simplecov (~> 0.10.0)
term-ansicolor (~> 1.3)
thor (~> 0.19.1)
- crack (0.4.2)
+ tins (~> 1.6.0)
+ crack (0.4.3)
safe_yaml (~> 1.0.0)
- creole (0.3.8)
- d3_rails (3.5.6)
+ creole (0.5.0)
+ d3_rails (3.5.11)
railties (>= 3.1.0)
daemons (1.2.3)
database_cleaner (1.4.1)
debug_inspector (0.0.2)
+ debugger-ruby_core_source (1.3.8)
default_value_for (3.0.1)
activerecord (>= 3.2.0, < 5.0)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
- devise (3.5.2)
+ devise (3.5.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
@@ -147,7 +169,7 @@ GEM
warden (~> 1.2.3)
devise-async (0.9.0)
devise (~> 3.2)
- devise-two-factor (2.0.0)
+ devise-two-factor (2.0.1)
activesupport
attr_encrypted (~> 1.3.2)
devise (~> 3.5.0)
@@ -156,22 +178,20 @@ GEM
diff-lcs (1.2.5)
diffy (3.0.7)
docile (1.1.5)
- domain_name (0.5.24)
+ domain_name (0.5.25)
unf (>= 0.0.5, < 1.0.0)
- doorkeeper (2.1.4)
+ doorkeeper (2.2.2)
railties (>= 3.2)
- dropzonejs-rails (0.7.1)
+ dropzonejs-rails (0.7.2)
rails (> 3.1)
email_reply_parser (0.5.8)
email_spec (1.6.0)
launchy (~> 2.1)
mail (~> 2.2)
encryptor (1.3.0)
- enumerize (0.7.0)
- activesupport (>= 3.2)
equalizer (0.0.11)
erubis (2.7.0)
- escape_utils (0.2.4)
+ escape_utils (1.1.0)
eventmachine (1.0.8)
excon (0.45.4)
execjs (2.6.0)
@@ -181,59 +201,116 @@ GEM
factory_girl_rails (4.3.0)
factory_girl (~> 4.3.0)
railties (>= 3.0.0)
- faraday (0.8.10)
- multipart-post (~> 1.2.0)
+ faraday (0.9.2)
+ multipart-post (>= 1.2, < 3)
faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
+ faraday_middleware-multi_json (0.0.6)
+ faraday_middleware
+ multi_json
fastercsv (1.5.5)
ffaker (2.0.0)
ffi (1.9.10)
fission (0.5.0)
CFPropertyList (~> 2.2)
- flowdock (0.7.0)
+ flay (2.6.1)
+ ruby_parser (~> 3.0)
+ sexp_processor (~> 4.0)
+ flog (4.3.2)
+ ruby_parser (~> 3.1, > 3.1.0)
+ sexp_processor (~> 4.4)
+ flowdock (0.7.1)
httparty (~> 0.7)
multi_json
- fog (1.25.0)
+ fog (1.36.0)
+ fog-aliyun (>= 0.1.0)
+ fog-atmos
+ fog-aws (>= 0.6.0)
fog-brightbox (~> 0.4)
- fog-core (~> 1.25)
+ fog-core (~> 1.32)
+ fog-dynect (~> 0.0.2)
+ fog-ecloud (~> 0.1)
+ fog-google (<= 0.1.0)
fog-json
+ fog-local
+ fog-powerdns (>= 0.1.1)
fog-profitbricks
fog-radosgw (>= 0.0.2)
+ fog-riakcs
fog-sakuracloud (>= 0.0.4)
+ fog-serverlove
fog-softlayer
+ fog-storm_on_demand
fog-terremark
fog-vmfusion
fog-voxel
+ fog-xenserver
fog-xml (~> 0.1.1)
ipaddress (~> 0.5)
nokogiri (~> 1.5, >= 1.5.11)
- opennebula
- fog-brightbox (0.9.0)
+ fog-aliyun (0.1.0)
+ fog-core (~> 1.27)
+ fog-json (~> 1.0)
+ ipaddress (~> 0.8)
+ xml-simple (~> 1.1)
+ fog-atmos (0.1.0)
+ fog-core
+ fog-xml
+ fog-aws (0.8.1)
+ fog-core (~> 1.27)
+ fog-json (~> 1.0)
+ fog-xml (~> 0.1)
+ ipaddress (~> 0.8)
+ fog-brightbox (0.10.1)
fog-core (~> 1.22)
fog-json
inflecto (~> 0.0.2)
- fog-core (1.32.1)
+ fog-core (1.35.0)
builder
excon (~> 0.45)
formatador (~> 0.2)
- mime-types
- net-scp (~> 1.1)
- net-ssh (>= 2.1.3)
+ fog-dynect (0.0.2)
+ fog-core
+ fog-json
+ fog-xml
+ fog-ecloud (0.3.0)
+ fog-core
+ fog-xml
+ fog-google (0.1.0)
+ fog-core
+ fog-json
+ fog-xml
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
+ fog-local (0.2.1)
+ fog-core (~> 1.27)
+ fog-powerdns (0.1.1)
+ fog-core (~> 1.27)
+ fog-json (~> 1.0)
+ fog-xml (~> 0.1)
fog-profitbricks (0.0.5)
fog-core
fog-xml
nokogiri
- fog-radosgw (0.0.4)
+ fog-radosgw (0.0.5)
fog-core (>= 1.21.0)
fog-json
fog-xml (>= 0.0.1)
- fog-sakuracloud (1.0.1)
+ fog-riakcs (0.1.0)
fog-core
fog-json
- fog-softlayer (0.4.7)
+ fog-xml
+ fog-sakuracloud (1.7.5)
+ fog-core
+ fog-json
+ fog-serverlove (0.1.2)
+ fog-core
+ fog-json
+ fog-softlayer (1.0.3)
+ fog-core
+ fog-json
+ fog-storm_on_demand (0.1.1)
fog-core
fog-json
fog-terremark (0.1.0)
@@ -245,10 +322,13 @@ GEM
fog-voxel (0.1.0)
fog-core
fog-xml
+ fog-xenserver (0.2.2)
+ fog-core
+ fog-xml
fog-xml (0.1.2)
fog-core
nokogiri (~> 1.5, >= 1.5.11)
- font-awesome-rails (4.4.0.0)
+ font-awesome-rails (4.5.0.0)
railties (>= 3.2, < 5.0)
foreman (0.78.0)
thor (~> 0.19.1)
@@ -258,10 +338,15 @@ GEM
ruby-progressbar (~> 1.4)
gemnasium-gitlab-service (0.2.6)
rugged (~> 0.21)
- gemojione (2.0.1)
+ gemojione (2.2.1)
json
get_process_mem (0.2.0)
gherkin-ruby (0.3.2)
+ github-linguist (4.7.5)
+ charlock_holmes (~> 0.7.3)
+ escape_utils (~> 1.1.0)
+ mime-types (>= 1.19)
+ rugged (>= 0.23.0b)
github-markup (1.3.3)
gitlab-flowdock-git-hook (1.0.1)
flowdock (~> 0.7)
@@ -272,39 +357,39 @@ GEM
diff-lcs (~> 1.1)
mime-types (~> 1.15)
posix-spawn (~> 0.3)
- gitlab-linguist (3.0.1)
- charlock_holmes (~> 0.6.6)
- escape_utils (~> 0.2.4)
- mime-types (~> 1.19)
- gitlab_emoji (0.1.1)
- gemojione (~> 2.0)
- gitlab_git (7.2.15)
+ gitlab_emoji (0.3.1)
+ gemojione (~> 2.2, >= 2.2.1)
+ gitlab_git (8.2.0)
activesupport (~> 4.0)
- charlock_holmes (~> 0.6)
- gitlab-linguist (~> 3.0)
- rugged (~> 0.22.2)
+ charlock_holmes (~> 0.7.3)
+ github-linguist (~> 4.7.0)
+ rugged (~> 0.24.0b13)
gitlab_meta (7.0)
gitlab_omniauth-ldap (1.2.1)
net-ldap (~> 0.9)
omniauth (~> 1.0)
pyu-ruby-sasl (~> 0.0.3.1)
rubyntlm (~> 0.3)
+ globalid (0.3.6)
+ activesupport (>= 4.1.0)
gollum-grit_adapter (1.0.0)
gitlab-grit (~> 2.7, >= 2.7.1)
- gollum-lib (4.0.3)
+ gollum-lib (4.1.0)
github-markup (~> 1.3.3)
gollum-grit_adapter (~> 1.0)
nokogiri (~> 1.6.4)
- rouge (~> 1.10.1)
+ rouge (~> 1.9)
sanitize (~> 2.1.0)
stringex (~> 2.5.1)
- gon (5.0.4)
- actionpack (>= 2.3.0)
+ gon (6.0.1)
+ actionpack (>= 3.0)
json
- grape (0.6.1)
+ multi_json
+ request_store (>= 1.0)
+ grape (0.13.0)
activesupport
builder
- hashie (>= 1.2.0)
+ hashie (>= 2.1.0)
multi_json (>= 1.3.2)
multi_xml (>= 0.5.2)
rack (>= 1.3.0)
@@ -314,106 +399,92 @@ GEM
grape-entity (0.4.8)
activesupport
multi_json (>= 1.3.2)
- growl (1.0.3)
- guard (2.13.0)
- formatador (>= 0.2.4)
- listen (>= 2.7, <= 4.0)
- lumberjack (~> 1.0)
- nenv (~> 0.1)
- notiffany (~> 0.0)
- pry (>= 0.9.12)
- shellany (~> 0.0)
- thor (>= 0.18.1)
- guard-rspec (4.2.10)
- guard (~> 2.1)
- rspec (>= 2.14, < 4.0)
haml (4.0.7)
tilt
- haml-rails (0.5.3)
+ haml-rails (0.9.0)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
- haml (>= 3.1, < 5.0)
+ haml (>= 4.0.6, < 5.0)
+ html2haml (>= 1.0.1)
railties (>= 4.0.1)
- hashie (2.1.2)
- highline (1.6.21)
+ hashie (3.4.3)
+ highline (1.7.8)
hike (1.2.3)
hipchat (1.5.2)
httparty
mimemagic
- hitimes (1.2.3)
html-pipeline (1.11.0)
activesupport (>= 2)
nokogiri (~> 1.4)
+ html2haml (2.0.0)
+ erubis (~> 2.7.0)
+ haml (~> 4.0.0)
+ nokogiri (~> 1.6.0)
+ ruby_parser (~> 3.5)
http-cookie (1.0.2)
domain_name (~> 0.5)
http_parser.rb (0.5.3)
- httparty (0.13.5)
+ httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
- httpclient (2.6.0.1)
+ httpclient (2.7.0.1)
i18n (0.7.0)
- ice_cube (0.11.1)
ice_nine (0.11.1)
inflecto (0.0.2)
- ipaddress (0.8.0)
- jquery-atwho-rails (1.0.1)
- jquery-rails (3.1.3)
- railties (>= 3.0, < 5.0)
+ influxdb (0.2.3)
+ cause
+ json
+ ipaddress (0.8.2)
+ jquery-atwho-rails (1.3.2)
+ jquery-rails (4.0.5)
+ rails-dom-testing (~> 1.0)
+ railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-scrollto-rails (1.4.3)
railties (> 3.1, < 5.0)
- jquery-turbolinks (2.0.2)
+ jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
- jquery-ui-rails (4.2.1)
+ jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
json (1.8.3)
- jwt (1.5.1)
- kaminari (0.15.1)
+ jwt (1.5.2)
+ kaminari (0.16.3)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
- kgio (2.9.3)
+ kgio (2.10.0)
launchy (2.4.3)
addressable (~> 2.3)
letter_opener (1.1.2)
launchy (~> 2.2)
- listen (2.10.1)
- celluloid (~> 0.16.0)
+ listen (3.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
- lumberjack (1.0.9)
+ loofah (2.0.3)
+ nokogiri (>= 1.5.9)
macaddr (1.7.1)
systemu (~> 2.6.2)
mail (2.6.3)
mime-types (>= 1.16, < 3)
- mail_room (0.5.2)
+ mail_room (0.6.1)
method_source (0.8.2)
mime-types (1.25.1)
mimemagic (0.3.0)
- mini_portile (0.6.2)
+ mini_portile2 (2.0.0)
minitest (5.7.0)
mousetrap-rails (1.4.6)
multi_json (1.11.2)
multi_xml (0.5.5)
- multipart-post (1.2.0)
+ multipart-post (2.0.0)
mysql2 (0.3.20)
- nenv (0.2.0)
nested_form (0.3.2)
- net-ldap (0.11)
- net-scp (1.2.1)
- net-ssh (>= 2.6.5)
- net-ssh (2.9.2)
- netrc (0.10.3)
- newrelic-grape (2.0.0)
- grape
- newrelic_rpm
- newrelic_rpm (3.9.4.245)
- nokogiri (1.6.6.2)
- mini_portile (~> 0.6.0)
- notiffany (0.0.7)
- nenv (~> 0.1)
- shellany (~> 0.0)
- nprogress-rails (0.1.2.3)
+ net-ldap (0.12.1)
+ net-ssh (3.0.1)
+ netrc (0.11.0)
+ newrelic_rpm (3.14.1.311)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
+ nprogress-rails (0.1.6.7)
oauth (0.4.7)
oauth2 (1.0.0)
faraday (>= 0.8, < 0.10)
@@ -421,25 +492,38 @@ GEM
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (~> 1.2)
- octokit (3.7.1)
+ octokit (3.8.0)
sawyer (~> 0.6.0, >= 0.5.3)
- omniauth (1.2.2)
+ omniauth (1.3.1)
hashie (>= 1.2, < 4)
- rack (~> 1.0)
+ rack (>= 1.0, < 3)
+ omniauth-azure-oauth2 (0.0.6)
+ jwt (~> 1.0)
+ omniauth (~> 1.0)
+ omniauth-oauth2 (~> 1.1)
omniauth-bitbucket (0.0.2)
multi_json (~> 1.7)
omniauth (~> 1.1)
omniauth-oauth (~> 1.0)
+ omniauth-cas3 (1.1.3)
+ addressable (~> 2.3)
+ nokogiri (~> 1.6.6)
+ omniauth (~> 1.2)
+ omniauth-facebook (3.0.0)
+ omniauth-oauth2 (~> 1.2)
omniauth-github (1.1.2)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.1)
- omniauth-gitlab (1.0.0)
+ omniauth-gitlab (1.0.1)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0)
- omniauth-google-oauth2 (0.2.6)
- omniauth (> 1.0)
- omniauth-oauth2 (~> 1.1)
- omniauth-kerberos (0.2.0)
+ omniauth-google-oauth2 (0.2.10)
+ addressable (~> 2.3)
+ jwt (~> 1.0)
+ multi_json (~> 1.3)
+ omniauth (>= 1.1.1)
+ omniauth-oauth2 (~> 1.3.1)
+ omniauth-kerberos (0.3.0)
omniauth-multipassword
timfel-krb5-auth (~> 0.8)
omniauth-multipassword (0.4.2)
@@ -450,38 +534,34 @@ GEM
omniauth-oauth2 (1.3.1)
oauth2 (~> 1.0)
omniauth (~> 1.2)
- omniauth-saml (1.4.1)
+ omniauth-saml (1.4.2)
omniauth (~> 1.1)
- ruby-saml (~> 1.0.0)
- omniauth-shibboleth (1.1.2)
+ ruby-saml (~> 1.1, >= 1.1.1)
+ omniauth-shibboleth (1.2.1)
omniauth (>= 1.0.0)
- omniauth-twitter (1.0.1)
- multi_json (~> 1.3)
- omniauth-oauth (~> 1.0)
+ omniauth-twitter (1.2.1)
+ json (~> 1.3)
+ omniauth-oauth (~> 1.1)
omniauth_crowd (2.2.3)
activesupport
nokogiri (>= 1.4.4)
omniauth (~> 1.0)
- opennebula (4.12.1)
- json
- nokogiri
- rbvmomi
org-ruby (0.9.12)
rubypants (~> 0.2)
orm_adapter (0.5.0)
- paranoia (2.1.3)
+ paranoia (2.1.4)
activerecord (~> 4.0)
- parser (2.2.2.6)
+ parser (2.2.3.0)
ast (>= 1.1, < 3.0)
- pg (0.18.2)
- poltergeist (1.6.0)
+ pg (0.18.4)
+ poltergeist (1.8.1)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
posix-spawn (0.3.11)
- powerpack (0.0.9)
- pry (0.10.1)
+ powerpack (0.1.1)
+ pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
@@ -490,17 +570,15 @@ GEM
pyu-ruby-sasl (0.0.3.3)
quiet_assets (1.0.3)
railties (>= 3.1, < 5.0)
- rack (1.5.5)
+ rack (1.6.4)
rack-accept (0.4.5)
rack (>= 0.4)
- rack-attack (4.3.0)
+ rack-attack (4.3.1)
rack
- rack-cors (0.2.9)
- rack-mini-profiler (0.9.7)
- rack (>= 1.1.3)
+ rack-cors (0.4.0)
rack-mount (0.8.3)
rack (>= 1.0.0)
- rack-oauth2 (1.0.10)
+ rack-oauth2 (1.2.1)
activesupport (>= 2.3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
@@ -510,44 +588,51 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
- rails (4.1.12)
- actionmailer (= 4.1.12)
- actionpack (= 4.1.12)
- actionview (= 4.1.12)
- activemodel (= 4.1.12)
- activerecord (= 4.1.12)
- activesupport (= 4.1.12)
+ rails (4.2.5.1)
+ actionmailer (= 4.2.5.1)
+ actionpack (= 4.2.5.1)
+ actionview (= 4.2.5.1)
+ activejob (= 4.2.5.1)
+ activemodel (= 4.2.5.1)
+ activerecord (= 4.2.5.1)
+ activesupport (= 4.2.5.1)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.1.12)
- sprockets-rails (~> 2.0)
- rails-observers (0.1.2)
- activemodel (~> 4.0)
- railties (4.1.12)
- actionpack (= 4.1.12)
- activesupport (= 4.1.12)
+ railties (= 4.2.5.1)
+ sprockets-rails
+ rails-deprecated_sanitizer (1.0.3)
+ activesupport (>= 4.2.0.alpha)
+ rails-dom-testing (1.0.7)
+ activesupport (>= 4.2.0.beta, < 5.0)
+ nokogiri (~> 1.6.0)
+ rails-deprecated_sanitizer (>= 1.0.1)
+ rails-html-sanitizer (1.0.3)
+ loofah (~> 2.0)
+ railties (4.2.5.1)
+ actionpack (= 4.2.5.1)
+ activesupport (= 4.2.5.1)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (2.0.0)
raindrops (0.15.0)
- rake (10.4.2)
+ rake (10.5.0)
raphael-rails (2.1.2)
- rb-fsevent (0.9.5)
+ rb-fsevent (0.9.6)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
- rbvmomi (1.8.2)
- builder
- nokogiri (>= 1.4.1)
- trollop
+ rblineprof (0.3.6)
+ debugger-ruby_core_source (~> 1.3)
rdoc (3.12.2)
json (~> 1.4)
- redcarpet (3.3.2)
- redis (3.2.1)
- redis-actionpack (4.0.0)
+ recaptcha (1.0.2)
+ json
+ redcarpet (3.3.3)
+ redis (3.2.2)
+ redis-actionpack (4.0.1)
actionpack (~> 4)
redis-rack (~> 1.5.0)
redis-store (~> 1.1.0)
- redis-activesupport (4.1.1)
- activesupport (~> 4)
+ redis-activesupport (4.1.5)
+ activesupport (>= 3, < 5)
redis-store (~> 1.1.0)
redis-namespace (1.5.2)
redis (~> 3.0, >= 3.0.4)
@@ -558,13 +643,13 @@ GEM
redis-actionpack (~> 4)
redis-activesupport (~> 4)
redis-store (~> 1.1.0)
- redis-store (1.1.6)
+ redis-store (1.1.7)
redis (>= 2.2)
- request_store (1.2.0)
- rerun (0.10.0)
- listen (~> 2.7, >= 2.7.3)
- responders (1.1.2)
- railties (>= 3.2, < 4.2)
+ request_store (1.2.1)
+ rerun (0.11.0)
+ listen (~> 3.0)
+ responders (2.1.1)
+ railties (>= 4.2.0, < 5.1)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
@@ -597,35 +682,38 @@ GEM
rspec-mocks (~> 3.3.0)
rspec-support (~> 3.3.0)
rspec-support (3.3.0)
- rubocop (0.28.0)
+ rubocop (0.35.1)
astrolabe (~> 1.3)
- parser (>= 2.2.0.pre.7, < 3.0)
- powerpack (~> 0.0.6)
+ parser (>= 2.2.3.0, < 3.0)
+ powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
- ruby-progressbar (~> 1.4)
+ ruby-progressbar (~> 1.7)
+ tins (<= 1.6.0)
ruby-fogbugz (0.2.1)
crack (~> 0.4)
ruby-progressbar (1.7.5)
- ruby-saml (1.0.0)
+ ruby-saml (1.1.1)
nokogiri (>= 1.5.10)
uuid (~> 2.3)
- ruby2ruby (2.1.4)
+ ruby2ruby (2.2.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.0)
- ruby_parser (3.5.0)
+ ruby_parser (3.7.2)
sexp_processor (~> 4.1)
rubyntlm (0.5.2)
rubypants (0.2.0)
- rugged (0.22.2)
+ rufus-scheduler (3.1.10)
+ rugged (0.24.0b13)
safe_yaml (1.0.4)
sanitize (2.1.0)
nokogiri (>= 1.4.4)
- sass (3.2.19)
- sass-rails (4.0.5)
+ sass (3.4.20)
+ sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
- sass (~> 3.2.2)
- sprockets (~> 2.8, < 3.0)
- sprockets-rails (~> 2.0)
+ sass (~> 3.1)
+ sprockets (>= 2.8, < 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
+ tilt (>= 1.1, < 3)
sawyer (0.6.0)
addressable (~> 2.3.5)
faraday (~> 0.8, < 0.10)
@@ -637,23 +725,23 @@ GEM
activesupport (>= 3.1, < 4.3)
select2-rails (3.5.9.3)
thor (~> 0.14)
+ sentry-raven (0.15.6)
+ faraday (>= 0.7.6)
settingslogic (2.0.9)
sexp_processor (4.6.0)
sham_rack (1.3.6)
rack
- shellany (0.0.1)
shoulda-matchers (2.8.0)
activesupport (>= 3.0.0)
- sidekiq (3.3.0)
- celluloid (>= 0.16.0)
- connection_pool (>= 2.0.0)
- json
- redis (>= 3.0.6)
- redis-namespace (>= 1.3.1)
- sidetiq (0.6.3)
- celluloid (>= 0.14.1)
- ice_cube (= 0.11.1)
- sidekiq (>= 3.0.0)
+ sidekiq (4.0.1)
+ concurrent-ruby (~> 1.0)
+ connection_pool (~> 2.2, >= 2.2.0)
+ json (~> 1.0)
+ redis (~> 3.2, >= 3.2.1)
+ sidekiq-cron (0.4.0)
+ redis-namespace (>= 1.5.2)
+ rufus-scheduler (>= 2.0.24)
+ sidekiq (>= 4.0.0)
simple_oauth (0.1.9)
simplecov (0.10.0)
docile (~> 1.1.0)
@@ -665,9 +753,9 @@ GEM
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
six (0.2.0)
- slack-notifier (1.0.0)
- slim (2.0.3)
- temple (~> 0.6.6)
+ slack-notifier (1.2.1)
+ slim (3.0.6)
+ temple (~> 0.7.3)
tilt (>= 1.3.3, < 2.1)
slop (3.6.0)
spinach (0.8.10)
@@ -690,12 +778,17 @@ GEM
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
- sprockets-rails (2.3.2)
+ sprockets-rails (2.3.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
- stamp (0.5.0)
- state_machine (1.2.0)
+ state_machines (0.4.0)
+ state_machines-activemodel (0.3.0)
+ activemodel (~> 4.1)
+ state_machines (>= 0.4.0)
+ state_machines-activerecord (0.3.0)
+ activerecord (~> 4.1)
+ state_machines-activemodel (>= 0.3.0)
stringex (2.5.2)
systemu (2.6.5)
task_list (1.0.2)
@@ -704,33 +797,30 @@ GEM
railties (>= 3.2.5, < 5)
teaspoon-jasmine (2.2.0)
teaspoon (>= 1.0.0)
- temple (0.6.10)
+ temple (0.7.6)
term-ansicolor (1.3.2)
tins (~> 1.0)
terminal-table (1.5.2)
- test_after_commit (0.2.7)
+ test_after_commit (0.4.2)
activerecord (>= 3.2)
- thin (1.6.3)
+ thin (1.6.4)
daemons (~> 1.0, >= 1.0.9)
- eventmachine (~> 1.0)
+ eventmachine (~> 1.0, >= 1.0.4)
rack (~> 1.0)
thor (0.19.1)
thread_safe (0.3.5)
tilt (1.4.1)
- timers (4.0.4)
- hitimes
timfel-krb5-auth (0.8.3)
- tinder (1.9.4)
+ tinder (1.10.1)
eventmachine (~> 1.0)
- faraday (~> 0.8.9)
+ faraday (~> 0.9.0)
faraday_middleware (~> 0.9)
- hashie (>= 1.0, < 3)
+ hashie (>= 1.0)
json (~> 1.8.0)
- mime-types (~> 1.19)
+ mime-types
multi_json (~> 1.7)
twitter-stream (~> 0.1)
tins (1.6.0)
- trollop (2.1.2)
turbolinks (2.5.3)
coffee-rails
twitter-stream (0.1.16)
@@ -739,10 +829,10 @@ GEM
simple_oauth (~> 0.1.4)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (2.3.3)
+ uglifier (2.7.2)
execjs (>= 0.3.0)
json (>= 1.8.0)
- underscore-rails (1.4.4)
+ underscore-rails (1.8.3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.1)
@@ -750,9 +840,10 @@ GEM
kgio (~> 2.6)
rack
raindrops (~> 0.7)
- unicorn-worker-killer (0.4.3)
+ unicorn-worker-killer (0.4.4)
get_process_mem (~> 0)
- unicorn (~> 4)
+ unicorn (>= 4, < 6)
+ uniform_notifier (1.9.0)
uuid (2.3.8)
macaddr (~> 1.0)
version_sorter (2.0.0)
@@ -761,21 +852,24 @@ GEM
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
- warden (1.2.3)
+ warden (1.2.4)
rack (>= 1.0)
+ web-console (2.2.1)
+ activemodel (>= 4.0)
+ binding_of_caller (>= 0.7.2)
+ railties (>= 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
webmock (1.21.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
- websocket-driver (0.6.2)
+ websocket-driver (0.6.3)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
- whenever (0.8.4)
- activesupport (>= 2.3.4)
- chronic (>= 0.6.3)
wikicloth (0.8.1)
builder
expression_parser
rinku
+ xml-simple (1.1.5)
xpath (2.0.0)
nokogiri (~> 1.3)
@@ -786,154 +880,173 @@ DEPENDENCIES
RedCloth (~> 4.2.9)
ace-rails-ap (~> 2.0.1)
activerecord-deprecated_finders (~> 1.0.3)
+ activerecord-nulldb-adapter
activerecord-session_store (~> 0.1.0)
acts-as-taggable-on (~> 3.4)
addressable (~> 2.3.8)
after_commit_queue
+ akismet (~> 2.0)
+ allocations (~> 1.0)
annotate (~> 2.6.0)
- asana (~> 0.0.6)
+ asana (~> 0.4.0)
asciidoctor (~> 1.5.2)
attr_encrypted (~> 1.3.4)
awesome_print (~> 1.2.0)
+ babosa (~> 1.0.2)
+ benchmark-ips
better_errors (~> 1.0.1)
binding_of_caller (~> 0.7.2)
- bootstrap-sass (~> 3.0)
- brakeman (= 3.0.1)
+ bootstrap-sass (~> 3.3.0)
+ brakeman (~> 3.1.0)
browser (~> 1.0.0)
+ bullet
+ bundler-audit
byebug
- cal-heatmap-rails (~> 0.0.1)
+ cal-heatmap-rails (~> 3.5.0)
capybara (~> 2.4.0)
capybara-screenshot (~> 1.0.0)
carrierwave (~> 0.9.0)
- charlock_holmes (~> 0.6.9.4)
+ charlock_holmes (~> 0.7.3)
coffee-rails (~> 4.1.0)
- colored (~> 1.2)
- colorize (~> 0.5.8)
+ colorize (~> 0.7.0)
+ connection_pool (~> 2.0)
coveralls (~> 0.8.2)
- creole (~> 0.3.6)
- d3_rails (~> 3.5.5)
+ creole (~> 0.5.0)
+ d3_rails (~> 3.5.0)
database_cleaner (~> 1.4.0)
default_value_for (~> 3.0.0)
- devise (~> 3.5.2)
+ devise (~> 3.5.4)
devise-async (~> 0.9.0)
devise-two-factor (~> 2.0.0)
diffy (~> 3.0.3)
- doorkeeper (~> 2.1.3)
+ doorkeeper (~> 2.2.0)
dropzonejs-rails (~> 0.7.1)
email_reply_parser (~> 0.5.8)
email_spec (~> 1.6.0)
- enumerize (~> 0.7.0)
factory_girl_rails (~> 4.3.0)
ffaker (~> 2.0.0)
- fog (~> 1.25.0)
+ flay
+ flog
+ fog (~> 1.36.0)
font-awesome-rails (~> 4.2)
foreman
fuubar (~> 2.0.0)
gemnasium-gitlab-service (~> 0.2)
+ github-linguist (~> 4.7.0)
github-markup (~> 1.3.1)
gitlab-flowdock-git-hook (~> 1.0.1)
- gitlab-linguist (~> 3.0.1)
- gitlab_emoji (~> 0.1)
- gitlab_git (~> 7.2.15)
+ gitlab_emoji (~> 0.3.0)
+ gitlab_git (~> 8.2)
gitlab_meta (= 7.0)
gitlab_omniauth-ldap (~> 1.2.1)
- gollum-lib (~> 4.0.2)
- gon (~> 5.0.0)
- grape (~> 0.6.1)
+ gollum-lib (~> 4.1.0)
+ gon (~> 6.0.1)
+ grape (~> 0.13.0)
grape-entity (~> 0.4.2)
- growl
- guard-rspec (~> 4.2.0)
- haml-rails (~> 0.5.3)
+ haml-rails (~> 0.9.0)
hipchat (~> 1.5.0)
html-pipeline (~> 1.11.0)
httparty (~> 0.13.3)
- jquery-atwho-rails (~> 1.0.0)
- jquery-rails (~> 3.1.3)
+ influxdb (~> 0.2)
+ jquery-atwho-rails (~> 1.3.2)
+ jquery-rails (~> 4.0.0)
jquery-scrollto-rails (~> 1.4.3)
- jquery-turbolinks (~> 2.0.1)
- jquery-ui-rails (~> 4.2.1)
- kaminari (~> 0.15.1)
+ jquery-turbolinks (~> 2.1.0)
+ jquery-ui-rails (~> 5.0.0)
+ kaminari (~> 0.16.3)
letter_opener (~> 1.1.2)
- mail_room (~> 0.5.2)
+ loofah (~> 2.0.3)
+ mail_room (~> 0.6.1)
+ method_source (~> 0.8)
minitest (~> 5.7.0)
mousetrap-rails (~> 1.4.6)
mysql2 (~> 0.3.16)
nested_form (~> 0.3.2)
- newrelic-grape
- newrelic_rpm (~> 3.9.4.245)
- nprogress-rails (~> 0.1.2.3)
+ net-ssh (~> 3.0.1)
+ nokogiri (~> 1.6.7, >= 1.6.7.2)
+ newrelic_rpm (~> 3.14)
+ nprogress-rails (~> 0.1.6.7)
oauth2 (~> 1.0.0)
- octokit (~> 3.7.0)
- omniauth (~> 1.2.2)
+ octokit (~> 3.8.0)
+ omniauth (~> 1.3.1)
+ omniauth-azure-oauth2 (~> 0.0.6)
omniauth-bitbucket (~> 0.0.2)
+ omniauth-cas3 (~> 1.1.2)
+ omniauth-facebook (~> 3.0.0)
omniauth-github (~> 1.1.1)
omniauth-gitlab (~> 1.0.0)
- omniauth-google-oauth2 (~> 0.2.5)
- omniauth-kerberos (~> 0.2.0)
- omniauth-saml (~> 1.4.0)
- omniauth-shibboleth (~> 1.1.1)
- omniauth-twitter (~> 1.0.1)
- omniauth_crowd
+ omniauth-google-oauth2 (~> 0.2.0)
+ omniauth-kerberos (~> 0.3.0)
+ omniauth-saml (~> 1.4.2)
+ omniauth-shibboleth (~> 1.2.0)
+ omniauth-twitter (~> 1.2.0)
+ omniauth_crowd (~> 2.2.0)
org-ruby (~> 0.9.12)
paranoia (~> 2.0)
pg (~> 0.18.2)
- poltergeist (~> 1.6.0)
+ poltergeist (~> 1.8.1)
pry-rails
quiet_assets (~> 1.0.2)
- rack-attack (~> 4.3.0)
- rack-cors (~> 0.2.9)
- rack-mini-profiler (~> 0.9.0)
- rack-oauth2 (~> 1.0.5)
- rails (= 4.1.12)
+ rack-attack (~> 4.3.1)
+ rack-cors (~> 0.4.0)
+ rack-oauth2 (~> 1.2.1)
+ rails (= 4.2.5.1)
+ rails-deprecated_sanitizer (~> 1.0.3)
raphael-rails (~> 2.1.2)
- rb-fsevent
- rb-inotify
+ rblineprof
rdoc (~> 3.6)
- redcarpet (~> 3.3.2)
+ recaptcha
+ redcarpet (~> 3.3.3)
+ redis-namespace
redis-rails (~> 4.0.0)
request_store (~> 1.2.0)
- rerun (~> 0.10.0)
+ rerun (~> 0.11.0)
+ responders (~> 2.0)
+ rouge (~> 1.10.1)
rqrcode-rails3 (~> 0.1.7)
rspec-rails (~> 3.3.0)
- rubocop (~> 0.28.0)
+ rubocop (~> 0.35.0)
ruby-fogbugz (~> 0.2.1)
sanitize (~> 2.0)
- sass-rails (~> 4.0.5)
+ sass-rails (~> 5.0.0)
sdoc (~> 0.3.20)
seed-fu (~> 2.3.5)
select2-rails (~> 3.5.9)
+ sentry-raven (~> 0.15)
+ sentry-raven
settingslogic (~> 2.0.9)
sham_rack
shoulda-matchers (~> 2.8.0)
- sidekiq (= 3.3.0)
- sidetiq (~> 0.6.3)
+ sidekiq (~> 4.0)
+ sidekiq-cron (~> 0.4.0)
simplecov (~> 0.10.0)
sinatra (~> 1.4.4)
six (~> 0.2.0)
- slack-notifier (~> 1.0.0)
- slim (~> 2.0.2)
+ slack-notifier (~> 1.2.0)
spinach-rails (~> 0.2.1)
spring (~> 1.3.6)
spring-commands-rspec (~> 1.0.4)
spring-commands-spinach (~> 1.0.0)
spring-commands-teaspoon (~> 0.0.2)
sprockets (~> 2.12.3)
- stamp (~> 0.5.0)
- state_machine (~> 1.2.0)
+ state_machines-activerecord (~> 0.3.0)
task_list (~> 1.0.2)
teaspoon (~> 1.0.0)
teaspoon-jasmine (~> 2.2.0)
- test_after_commit (~> 0.2.2)
+ test_after_commit (~> 0.4.2)
thin (~> 1.6.1)
- tinder (~> 1.9.2)
+ tinder (~> 1.10.0)
turbolinks (~> 2.5.0)
- uglifier (~> 2.3.2)
- underscore-rails (~> 1.4.4)
+ uglifier (~> 2.7.2)
+ underscore-rails (~> 1.8.0)
unf (~> 0.1.4)
unicorn (~> 4.8.2)
unicorn-worker-killer (~> 0.4.2)
version_sorter (~> 2.0.0)
virtus (~> 1.0.1)
+ web-console (~> 2.0)
webmock (~> 1.21.0)
- whenever (~> 0.8.4)
wikicloth (= 0.8.1)
+
+BUNDLED WITH
+ 1.11.2
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 8af64ce78e9..5f998367430 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, lib, bundler, fetchgit, bundlerEnv, defaultGemConfig, libiconv, ruby
+{ stdenv, lib, bundler, fetchFromGitHub, bundlerEnv, defaultGemConfig, libiconv, ruby
, tzdata, git, nodejs, procps
}:
+/* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
+ to allow building the assets without a database */
+
let
env = bundlerEnv {
name = "gitlab";
@@ -21,19 +24,23 @@ in
stdenv.mkDerivation rec {
name = "gitlab-${version}";
- version = "8.0.5";
+ version = "8.5.1";
+
buildInputs = [ ruby bundler tzdata git nodejs procps ];
- src = fetchgit {
- url = "https://github.com/gitlabhq/gitlabhq.git";
- rev = "2866c501b5a5abb69d101cc07261a1d684b4bd4c";
- fetchSubmodules = false;
- sha256 = "edc6bedd5e79940189355d8cb343d20b0781b69fcef56ccae5906fa5e81ed521";
+
+ src = fetchFromGitHub {
+ owner = "gitlabhq";
+ repo = "gitlabhq";
+ rev = "v${version}";
+ sha256 = "1pn5r4axzjkgdjr59y3wgxsd2n83zfd5bry1g2w4c2qw0wcw7zqb";
};
patches = [
./remove-hardcoded-locations.patch
./disable-dump-schema-after-migration.patch
+ ./nulladapter.patch
];
+
postPatch = ''
# For reasons I don't understand "bundle exec" ignores the
# RAILS_ENV causing tests to be executed that fail because we're
@@ -41,7 +48,6 @@ stdenv.mkDerivation rec {
# tests works though.:
rm lib/tasks/test.rake
- mv config/gitlab.yml.example config/gitlab.yml
rm config/initializers/gitlab_shell_secret_token.rb
substituteInPlace app/controllers/admin/background_jobs_controller.rb \
@@ -50,7 +56,7 @@ stdenv.mkDerivation rec {
# required for some gems:
cat > config/database.yml <
database: gitlab
host: <%= ENV["GITLAB_DATABASE_HOST"] || "127.0.0.1" %>
password: <%= ENV["GITLAB_DATABASE_PASSWORD"] || "blerg" %>
@@ -58,14 +64,22 @@ stdenv.mkDerivation rec {
encoding: utf8
EOF
'';
+
buildPhase = ''
export GEM_HOME=${env}/${ruby.gemPath}
- bundle exec rake assets:precompile RAILS_ENV=production
+ mv config/gitlab.yml.example config/gitlab.yml
+ GITLAB_DATABASE_ADAPTER=nulldb bundle exec rake assets:precompile RAILS_ENV=production
+ mv config/gitlab.yml config/gitlab.yml.example
+ mv config config.dist
'';
+
installPhase = ''
mkdir -p $out/share
cp -r . $out/share/gitlab
+ ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
+ ln -sf /run/gitlab/config $out/share/gitlab/config
'';
+
passthru = {
inherit env;
inherit ruby;
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index c5e10dd166a..f63a356a1f6 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -1,3150 +1,3017 @@
{
- "CFPropertyList" = {
- version = "2.3.1";
+ xpath = {
+ dependencies = ["nokogiri"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
type = "gem";
- sha256 = "1wnk3gxnhfafbhgp0ic7qhzlx3lhv04v8nws2s31ii5s8135hs6k";
};
- };
- "RedCloth" = {
- version = "4.2.9";
- source = {
- type = "gem";
- sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
- };
- };
- "ace-rails-ap" = {
- version = "2.0.1";
- source = {
- type = "gem";
- sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
- };
- };
- "actionmailer" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "0p1hydjf5vb4na4fs29v7cdknfq3d6qvmld2vbafbh78kkclxi2m";
- };
- dependencies = [
- "actionpack"
- "actionview"
- "mail"
- ];
- };
- "actionpack" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "19bryymqlapsvn9df6q2ba4hvw9dwpp4fjc7i6lwffkadc4snkjy";
- };
- dependencies = [
- "actionview"
- "activesupport"
- "rack"
- "rack-test"
- ];
- };
- "actionview" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "1bv8qifaqa514z64zgfw3r4i120h2swwgpfk79xlrac21q6ps70n";
- };
- dependencies = [
- "activesupport"
- "builder"
- "erubis"
- ];
- };
- "activemodel" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "16429dg04s64g834svi7ghq486adr32gxr5p9kac2z6mjp8ggjr3";
- };
- dependencies = [
- "activesupport"
- "builder"
- ];
- };
- "activerecord" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "1w3dbmbdk4whm5p1l6d2ky3xpl59lfcr9p3hwd41dz77ynpi5dr5";
- };
- dependencies = [
- "activemodel"
- "activesupport"
- "arel"
- ];
- };
- "activerecord-deprecated_finders" = {
- version = "1.0.4";
- source = {
- type = "gem";
- sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
- };
- };
- "activerecord-session_store" = {
- version = "0.1.1";
- source = {
- type = "gem";
- sha256 = "15dgx7jjp8iqqzjq2q3a6fsmnhvjwspbsz1s1gd6zp744k6xbrjh";
- };
- dependencies = [
- "actionpack"
- "activerecord"
- "railties"
- ];
- };
- "activeresource" = {
- version = "4.0.0";
- source = {
- type = "gem";
- sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq";
- };
- dependencies = [
- "activemodel"
- "activesupport"
- "rails-observers"
- ];
- };
- "activesupport" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "166jvrmdwayacnrd4z3rs2d6y0av3xnc18k6120ah13c2ipw69hn";
- };
- dependencies = [
- "i18n"
- "json"
- "minitest"
- "thread_safe"
- "tzinfo"
- ];
- };
- "acts-as-taggable-on" = {
- version = "3.5.0";
- source = {
- type = "gem";
- sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
- };
- dependencies = [
- "activerecord"
- ];
- };
- "addressable" = {
- version = "2.3.8";
- source = {
- type = "gem";
- sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
- };
- };
- "after_commit_queue" = {
- version = "1.1.0";
- source = {
- type = "gem";
- sha256 = "0m7qwbzvxb2xqramf38pzg8ld91s4cy2v0fs26dnmnqr1jf11z4y";
- };
- dependencies = [
- "rails"
- ];
- };
- "annotate" = {
- version = "2.6.10";
- source = {
- type = "gem";
- sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
- };
- dependencies = [
- "activerecord"
- "rake"
- ];
- };
- "arel" = {
- version = "5.0.1.20140414130214";
- source = {
- type = "gem";
- sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
- };
- };
- "asana" = {
- version = "0.0.6";
- source = {
- type = "gem";
- sha256 = "1x325pywh3d91qrg916gh8i5g13h4qzgi03zc93x6v4m4rj79dcp";
- };
- dependencies = [
- "activeresource"
- ];
- };
- "asciidoctor" = {
- version = "1.5.2";
- source = {
- type = "gem";
- sha256 = "0hs99bjvnf1nw49nwq62mi5x65x2jlvwqa0xllsi3zfikafsm1y9";
- };
- };
- "ast" = {
- version = "2.1.0";
- source = {
- type = "gem";
- sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
- };
- };
- "astrolabe" = {
- version = "1.3.1";
- source = {
- type = "gem";
- sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
- };
- dependencies = [
- "parser"
- ];
- };
- "attr_encrypted" = {
- version = "1.3.4";
- source = {
- type = "gem";
- sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
- };
- dependencies = [
- "encryptor"
- ];
- };
- "attr_required" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
- };
- };
- "autoprefixer-rails" = {
- version = "5.2.1.2";
- source = {
- type = "gem";
- sha256 = "129kr8hiyzcnj4x3n14nnp7f7scps9v3d690i7fjzpq8i4n9gz8g";
- };
- dependencies = [
- "execjs"
- "json"
- ];
- };
- "awesome_print" = {
- version = "1.2.0";
- source = {
- type = "gem";
- sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
- };
- };
- "axiom-types" = {
- version = "0.1.1";
- source = {
- type = "gem";
- sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
- };
- dependencies = [
- "descendants_tracker"
- "ice_nine"
- "thread_safe"
- ];
- };
- "bcrypt" = {
- version = "3.1.10";
- source = {
- type = "gem";
- sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
- };
- };
- "better_errors" = {
- version = "1.0.1";
- source = {
- type = "gem";
- sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
- };
- dependencies = [
- "coderay"
- "erubis"
- ];
- };
- "binding_of_caller" = {
- version = "0.7.2";
- source = {
- type = "gem";
- sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
- };
- dependencies = [
- "debug_inspector"
- ];
- };
- "bootstrap-sass" = {
- version = "3.3.5";
- source = {
- type = "gem";
- sha256 = "0gnbl3jfi7x491kb5b2brhqr981wzg6r9sc907anhq9y727d96iv";
- };
- dependencies = [
- "autoprefixer-rails"
- "sass"
- ];
- };
- "brakeman" = {
- version = "3.0.1";
- source = {
- type = "gem";
- sha256 = "0c3pwqhan5qpkmymmp4zpr6j1v3xrvvla9adsd0z9nx1dbc7llry";
- };
- dependencies = [
- "erubis"
- "fastercsv"
- "haml"
- "highline"
- "multi_json"
- "ruby2ruby"
- "ruby_parser"
- "sass"
- "terminal-table"
- ];
- };
- "browser" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "03pmj759wngl03lacn8mdhjn6mc5f8zn08mz6k5hq8czgwcwhjxi";
- };
- };
- "builder" = {
- version = "3.2.2";
- source = {
- type = "gem";
- sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
- };
- };
- "byebug" = {
- version = "6.0.2";
- source = {
- type = "gem";
- sha256 = "0537h9qbhr6csahmzyn4lk1g5b2lcligbzd21gfy93nx9lbfdnzc";
- };
- };
- "cal-heatmap-rails" = {
- version = "0.0.1";
- source = {
- type = "gem";
- sha256 = "07qp74hi1612xgmkfvk1dmc4n79lc7dfkcgqjprnlwb6nkqa940m";
- };
- };
- "capybara" = {
- version = "2.4.4";
- source = {
- type = "gem";
- sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
- };
- dependencies = [
- "mime-types"
- "nokogiri"
- "rack"
- "rack-test"
- "xpath"
- ];
- };
- "capybara-screenshot" = {
- version = "1.0.11";
- source = {
- type = "gem";
- sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
- };
- dependencies = [
- "capybara"
- "launchy"
- ];
- };
- "carrierwave" = {
- version = "0.9.0";
- source = {
- type = "gem";
- sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
- };
- dependencies = [
- "activemodel"
- "activesupport"
- "json"
- ];
- };
- "celluloid" = {
- version = "0.16.0";
- source = {
- type = "gem";
- sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
- };
- dependencies = [
- "timers"
- ];
- };
- "charlock_holmes" = {
- version = "0.6.9.4";
- source = {
- type = "gem";
- sha256 = "1vyzsr3r2bwig9knyhay1m7i828w9x5zhma44iajyrbs1ypvfbg5";
- };
- };
- "chronic" = {
- version = "0.10.2";
- source = {
- type = "gem";
- sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
- };
- };
- "chunky_png" = {
- version = "1.3.4";
- source = {
- type = "gem";
- sha256 = "0n5xhkj3vffihl3h9s8yjzazqaqcm4p1nyxa1w2dk3fkpzvb0wfw";
- };
- };
- "cliver" = {
- version = "0.3.2";
- source = {
- type = "gem";
- sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
- };
- };
- "coderay" = {
- version = "1.1.0";
- source = {
- type = "gem";
- sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
- };
- };
- "coercible" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
- };
- dependencies = [
- "descendants_tracker"
- ];
- };
- "coffee-rails" = {
- version = "4.1.0";
- source = {
- type = "gem";
- sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
- };
- dependencies = [
- "coffee-script"
- "railties"
- ];
- };
- "coffee-script" = {
- version = "2.4.1";
- source = {
- type = "gem";
- sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
- };
- dependencies = [
- "coffee-script-source"
- "execjs"
- ];
- };
- "coffee-script-source" = {
- version = "1.9.1.1";
- source = {
- type = "gem";
- sha256 = "1arfrwyzw4sn7nnaq8jji5sv855rp4c5pvmzkabbdgca0w1cxfq5";
- };
- };
- "colored" = {
- version = "1.2";
- source = {
- type = "gem";
- sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
- };
- };
- "colorize" = {
- version = "0.5.8";
- source = {
- type = "gem";
- sha256 = "1rfzvscnk2js87zzwjgg2lk6h6mrv9448z5vx3b8vnm9yrb2qg8g";
- };
- };
- "connection_pool" = {
- version = "2.2.0";
- source = {
- type = "gem";
- sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
- };
- };
- "coveralls" = {
- version = "0.8.2";
- source = {
- type = "gem";
- sha256 = "0ds63q3g8zp23813hsvjjqpjglwr76ld4zqbbdhc9ads9l988axz";
- };
- dependencies = [
- "json"
- "rest-client"
- "simplecov"
- "term-ansicolor"
- "thor"
- ];
- };
- "crack" = {
- version = "0.4.2";
- source = {
- type = "gem";
- sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
- };
- dependencies = [
- "safe_yaml"
- ];
- };
- "creole" = {
- version = "0.3.8";
- source = {
- type = "gem";
- sha256 = "1wwqk5ij4r5rhzbzhnpqwbn9ck56qgyjs02pjmi2wh46gs8dmkl8";
- };
- };
- "d3_rails" = {
- version = "3.5.6";
- source = {
- type = "gem";
- sha256 = "0faz49chi08zxqwwdzzcb468gmcfmpv1s58y4c431kpa6kyh8qsm";
- };
- dependencies = [
- "railties"
- ];
- };
- "daemons" = {
- version = "1.2.3";
- source = {
- type = "gem";
- sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
- };
- };
- "database_cleaner" = {
- version = "1.4.1";
- source = {
- type = "gem";
- sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
- };
- };
- "debug_inspector" = {
- version = "0.0.2";
- source = {
- type = "gem";
- sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
- };
- };
- "default_value_for" = {
- version = "3.0.1";
- source = {
- type = "gem";
- sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
- };
- dependencies = [
- "activerecord"
- ];
- };
- "descendants_tracker" = {
- version = "0.0.4";
- source = {
- type = "gem";
- sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
- };
- dependencies = [
- "thread_safe"
- ];
- };
- "devise" = {
- version = "3.5.2";
- source = {
- type = "gem";
- sha256 = "1wj88i2hyhcnifj606vzgf2q68yhcpyrsx7bc11h93cma51z59c3";
- };
- dependencies = [
- "bcrypt"
- "orm_adapter"
- "railties"
- "responders"
- "thread_safe"
- "warden"
- ];
- };
- "devise-async" = {
- version = "0.9.0";
- source = {
- type = "gem";
- sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
- };
- dependencies = [
- "devise"
- ];
- };
- "devise-two-factor" = {
version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "1xzaagz6fr9cbq7cj8g7sahx6sxxsc1jyja462caa0gjang9yrhr";
- };
- dependencies = [
- "activesupport"
- "attr_encrypted"
- "devise"
- "railties"
- "rotp"
- ];
};
- "diff-lcs" = {
- version = "1.2.5";
+ xml-simple = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
type = "gem";
- sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
};
- };
- "diffy" = {
- version = "3.0.7";
- source = {
- type = "gem";
- sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
- };
- };
- "docile" = {
version = "1.1.5";
- source = {
- type = "gem";
- sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
- };
};
- "domain_name" = {
- version = "0.5.24";
+ wikicloth = {
+ dependencies = ["builder" "expression_parser" "rinku"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
type = "gem";
- sha256 = "1xjm5arwc35wryn0hbfldx2pfhwx5qilkv7yms4kz0jri3m6mgcc";
};
- dependencies = [
- "unf"
- ];
+ version = "0.8.1";
};
- "doorkeeper" = {
- version = "2.1.4";
+ websocket-extensions = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
type = "gem";
- sha256 = "00akgshmz85kxvf35qsag80qbxzjvmkmksjy96zx44ckianxwahl";
};
- dependencies = [
- "railties"
- ];
- };
- "dropzonejs-rails" = {
- version = "0.7.1";
- source = {
- type = "gem";
- sha256 = "0spfjkji6v98996bc320sx3ar3sflkpbjpzwg6cvbycwfn29fjfy";
- };
- dependencies = [
- "rails"
- ];
- };
- "email_reply_parser" = {
- version = "0.5.8";
- source = {
- type = "gem";
- sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
- };
- };
- "email_spec" = {
- version = "1.6.0";
- source = {
- type = "gem";
- sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
- };
- dependencies = [
- "launchy"
- "mail"
- ];
- };
- "encryptor" = {
- version = "1.3.0";
- source = {
- type = "gem";
- sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
- };
- };
- "enumerize" = {
- version = "0.7.0";
- source = {
- type = "gem";
- sha256 = "0rg6bm3xv7p4i5gs4796v8gc49mzakphwv4kdbhn0wjm690h6226";
- };
- dependencies = [
- "activesupport"
- ];
- };
- "equalizer" = {
- version = "0.0.11";
- source = {
- type = "gem";
- sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
- };
- };
- "erubis" = {
- version = "2.7.0";
- source = {
- type = "gem";
- sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
- };
- };
- "escape_utils" = {
- version = "0.2.4";
- source = {
- type = "gem";
- sha256 = "0mg5pgaa02w1bxh0166d367f2ll6fizyrs5dsirrcnw4g17ba54g";
- };
- };
- "eventmachine" = {
- version = "1.0.8";
- source = {
- type = "gem";
- sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
- };
- };
- "excon" = {
- version = "0.45.4";
- source = {
- type = "gem";
- sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
- };
- };
- "execjs" = {
- version = "2.6.0";
- source = {
- type = "gem";
- sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
- };
- };
- "expression_parser" = {
- version = "0.9.0";
- source = {
- type = "gem";
- sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
- };
- };
- "factory_girl" = {
- version = "4.3.0";
- source = {
- type = "gem";
- sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
- };
- dependencies = [
- "activesupport"
- ];
- };
- "factory_girl_rails" = {
- version = "4.3.0";
- source = {
- type = "gem";
- sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
- };
- dependencies = [
- "factory_girl"
- "railties"
- ];
- };
- "faraday" = {
- version = "0.8.10";
- source = {
- type = "gem";
- sha256 = "093hrmrx3jn9969q6c9cjms2k73aqwhs03kij378kg1d5izr4r6f";
- };
- dependencies = [
- "multipart-post"
- ];
- };
- "faraday_middleware" = {
- version = "0.10.0";
- source = {
- type = "gem";
- sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
- };
- dependencies = [
- "faraday"
- ];
- };
- "fastercsv" = {
- version = "1.5.5";
- source = {
- type = "gem";
- sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
- };
- };
- "ffaker" = {
- version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
- };
- };
- "ffi" = {
- version = "1.9.10";
- source = {
- type = "gem";
- sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
- };
- };
- "fission" = {
- version = "0.5.0";
- source = {
- type = "gem";
- sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
- };
- dependencies = [
- "CFPropertyList"
- ];
- };
- "flowdock" = {
- version = "0.7.0";
- source = {
- type = "gem";
- sha256 = "0wzqj35mn2x2gcy88y00h3jz57ldkkidkwy63jxvmqdlz759pds5";
- };
- dependencies = [
- "httparty"
- "multi_json"
- ];
- };
- "fog" = {
- version = "1.25.0";
- source = {
- type = "gem";
- sha256 = "0zncds3qj5n3i780y6y6sy5h1gg0kwiyiirxyisbd8p0ywwr8bc3";
- };
- dependencies = [
- "fog-brightbox"
- "fog-core"
- "fog-json"
- "fog-profitbricks"
- "fog-radosgw"
- "fog-sakuracloud"
- "fog-softlayer"
- "fog-terremark"
- "fog-vmfusion"
- "fog-voxel"
- "fog-xml"
- "ipaddress"
- "nokogiri"
- "opennebula"
- ];
- };
- "fog-brightbox" = {
- version = "0.9.0";
- source = {
- type = "gem";
- sha256 = "01a6ydv7y02zbid8s9mqcxpc0k0hig39ap7mrwj9vp6z7mm9dydv";
- };
- dependencies = [
- "fog-core"
- "fog-json"
- "inflecto"
- ];
- };
- "fog-core" = {
- version = "1.32.1";
- source = {
- type = "gem";
- sha256 = "0pnm3glgha2hxmhjvgp7f088vzdgv08q8c6w8y9c2cys3b4fx83m";
- };
- dependencies = [
- "builder"
- "excon"
- "formatador"
- "mime-types"
- "net-scp"
- "net-ssh"
- ];
- };
- "fog-json" = {
- version = "1.0.2";
- source = {
- type = "gem";
- sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
- };
- dependencies = [
- "fog-core"
- "multi_json"
- ];
- };
- "fog-profitbricks" = {
- version = "0.0.5";
- source = {
- type = "gem";
- sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
- };
- dependencies = [
- "fog-core"
- "fog-xml"
- "nokogiri"
- ];
- };
- "fog-radosgw" = {
- version = "0.0.4";
- source = {
- type = "gem";
- sha256 = "1pxbvmr4dsqx4x2klwnciyhki4r5ryr9y0hi6xmm3n6fdv4ii7k3";
- };
- dependencies = [
- "fog-core"
- "fog-json"
- "fog-xml"
- ];
- };
- "fog-sakuracloud" = {
- version = "1.0.1";
- source = {
- type = "gem";
- sha256 = "1s16b48kh7y03hjv74ccmlfwhqqq7j7m4k6cywrgbyip8n3258n8";
- };
- dependencies = [
- "fog-core"
- "fog-json"
- ];
- };
- "fog-softlayer" = {
- version = "0.4.7";
- source = {
- type = "gem";
- sha256 = "0fgfbhqnyp8ywymvflflhvbns54d1432x57pgpnfy8k1cxvhv9b8";
- };
- dependencies = [
- "fog-core"
- "fog-json"
- ];
- };
- "fog-terremark" = {
- version = "0.1.0";
- source = {
- type = "gem";
- sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
- };
- dependencies = [
- "fog-core"
- "fog-xml"
- ];
- };
- "fog-vmfusion" = {
- version = "0.1.0";
- source = {
- type = "gem";
- sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
- };
- dependencies = [
- "fission"
- "fog-core"
- ];
- };
- "fog-voxel" = {
- version = "0.1.0";
- source = {
- type = "gem";
- sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
- };
- dependencies = [
- "fog-core"
- "fog-xml"
- ];
- };
- "fog-xml" = {
version = "0.1.2";
- source = {
- type = "gem";
- sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
- };
- dependencies = [
- "fog-core"
- "nokogiri"
- ];
};
- "font-awesome-rails" = {
- version = "4.4.0.0";
+ websocket-driver = {
+ dependencies = ["websocket-extensions"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1v39w1ig6ps8g55xhz6x1w53apl17ii6kpy0jg9249akgpdvb0k9";
type = "gem";
- sha256 = "0igrwlkgpggpfdy3f4kzsz22m14rxx5xnvz3if16czqjlkq4kbbx";
};
- dependencies = [
- "railties"
- ];
+ version = "0.6.3";
};
- "foreman" = {
- version = "0.78.0";
+ webmock = {
+ dependencies = ["addressable" "crack"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
type = "gem";
- sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
};
- dependencies = [
- "thor"
- ];
+ version = "1.21.0";
};
- "formatador" = {
- version = "0.2.5";
+ web-console = {
+ dependencies = ["activemodel" "binding_of_caller" "railties" "sprockets-rails"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "13rwps8m76j45iqhggm810j78i8bg4nqzgi8k7amxplik2zm5blf";
type = "gem";
- sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
};
+ version = "2.2.1";
};
- "fuubar" = {
+ warden = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1iyxw1ms3930dh7vcrfyi4ifpdbkfsr8k7fzjryva0r7k3c71gb7";
+ type = "gem";
+ };
+ version = "1.2.4";
+ };
+ virtus = {
+ dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
+ type = "gem";
+ };
+ version = "1.0.5";
+ };
+ version_sorter = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
+ type = "gem";
+ };
version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
- };
- dependencies = [
- "rspec"
- "ruby-progressbar"
- ];
};
- "gemnasium-gitlab-service" = {
- version = "0.2.6";
+ uuid = {
+ dependencies = ["macaddr"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
type = "gem";
- sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
};
- dependencies = [
- "rugged"
- ];
+ version = "2.3.8";
};
- "gemojione" = {
- version = "2.0.1";
+ uniform_notifier = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "009z60qx01am7klmrca8pcladrynljra3a9smifn9f81r4dc7q63";
type = "gem";
- sha256 = "0655l0vgs0hbz11s2nlpwwj7df66cxlvv94iz7mhf04qrr5mi26q";
};
- dependencies = [
- "json"
- ];
+ version = "1.9.0";
};
- "get_process_mem" = {
- version = "0.2.0";
+ unicorn-worker-killer = {
+ dependencies = ["get_process_mem" "unicorn"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
type = "gem";
- sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
};
+ version = "0.4.4";
};
- "gherkin-ruby" = {
- version = "0.3.2";
+ unicorn = {
+ dependencies = ["kgio" "rack" "raindrops"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
type = "gem";
- sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
};
+ version = "4.8.3";
};
- "github-markup" = {
- version = "1.3.3";
+ unf_ext = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
type = "gem";
- sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
};
+ version = "0.0.7.1";
};
- "gitlab-flowdock-git-hook" = {
- version = "1.0.1";
+ unf = {
+ dependencies = ["unf_ext"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
type = "gem";
- sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
};
- dependencies = [
- "flowdock"
- "gitlab-grit"
- "multi_json"
- ];
+ version = "0.1.4";
};
- "gitlab-grit" = {
- version = "2.7.3";
+ underscore-rails = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0iyspb7s49wpi9cc314gvlkyn45iyfivzxhdw0kql1zrgllhlzfk";
type = "gem";
- sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
};
- dependencies = [
- "charlock_holmes"
- "diff-lcs"
- "mime-types"
- "posix-spawn"
- ];
+ version = "1.8.3";
};
- "gitlab-linguist" = {
- version = "3.0.1";
+ uglifier = {
+ dependencies = ["execjs" "json"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
type = "gem";
- sha256 = "14ydmxmdm7j56nwlcf4ai08mpc7d3mbfhida52p1zljshbvda5ib";
};
- dependencies = [
- "charlock_holmes"
- "escape_utils"
- "mime-types"
- ];
+ version = "2.7.2";
};
- "gitlab_emoji" = {
- version = "0.1.1";
+ tzinfo = {
+ dependencies = ["thread_safe"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
type = "gem";
- sha256 = "13jj6ah88x8y6cr5c82j78a4mi5g88a7vpqf617zpcdiabmr0gl6";
};
- dependencies = [
- "gemojione"
- ];
+ version = "1.2.2";
};
- "gitlab_git" = {
- version = "7.2.15";
+ twitter-stream = {
+ dependencies = ["eventmachine" "http_parser.rb" "simple_oauth"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
type = "gem";
- sha256 = "1afa645sj322sfy4h6hksi78m87qgvslmf8rgzlqsa4b6zf4w4x2";
};
- dependencies = [
- "activesupport"
- "charlock_holmes"
- "gitlab-linguist"
- "rugged"
- ];
+ version = "0.1.16";
};
- "gitlab_meta" = {
- version = "7.0";
+ turbolinks = {
+ dependencies = ["coffee-rails"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
type = "gem";
- sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
};
+ version = "2.5.3";
};
- "gitlab_omniauth-ldap" = {
- version = "1.2.1";
+ tins = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
type = "gem";
- sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
};
- dependencies = [
- "net-ldap"
- "omniauth"
- "pyu-ruby-sasl"
- "rubyntlm"
- ];
+ version = "1.6.0";
};
- "gollum-grit_adapter" = {
- version = "1.0.0";
+ tinder = {
+ dependencies = ["eventmachine" "faraday" "faraday_middleware" "hashie" "json" "mime-types" "multi_json" "twitter-stream"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kwj0wd540wb2ws86d3jdva175dx00w2j8lyrvbb6qli3g27byd7";
type = "gem";
- sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
};
- dependencies = [
- "gitlab-grit"
- ];
+ version = "1.10.1";
};
- "gollum-lib" = {
- version = "4.0.3";
+ timfel-krb5-auth = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
type = "gem";
- sha256 = "1f8jzxza1ckpyzyk137rqd212vfk2ac2mn1pp1wi880s4ynahyky";
};
- dependencies = [
- "github-markup"
- "gollum-grit_adapter"
- "nokogiri"
- "rouge"
- "sanitize"
- "stringex"
- ];
+ version = "0.8.3";
};
- "gon" = {
- version = "5.0.4";
+ tilt = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
type = "gem";
- sha256 = "0gdl6zhj5k8ma3mwm00kjfa12w0l6br9kyyxvfj90cw9irfi049r";
};
- dependencies = [
- "actionpack"
- "json"
- ];
+ version = "1.4.1";
};
- "grape" = {
- version = "0.6.1";
+ thread_safe = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
type = "gem";
- sha256 = "1sjlk0pmgqbb3piz8yb0xjcm7liimrr17y5xflm40amv36pg2gz8";
};
- dependencies = [
- "activesupport"
- "builder"
- "hashie"
- "multi_json"
- "multi_xml"
- "rack"
- "rack-accept"
- "rack-mount"
- "virtus"
- ];
+ version = "0.3.5";
};
- "grape-entity" = {
- version = "0.4.8";
+ thor = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
type = "gem";
- sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
};
- dependencies = [
- "activesupport"
- "multi_json"
- ];
+ version = "0.19.1";
};
- "growl" = {
- version = "1.0.3";
+ thin = {
+ dependencies = ["daemons" "eventmachine" "rack"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1pyc602sa8fqwjyssn9yvf3fqrr14jk7hj9hsjlan1mq4zvim1lf";
type = "gem";
- sha256 = "0s0y7maljnalpbv2q1j5j5hvb4wcc31y9af0n7x1q2l0fzxgc9n9";
};
+ version = "1.6.4";
};
- "guard" = {
- version = "2.13.0";
+ test_after_commit = {
+ dependencies = ["activerecord"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
type = "gem";
- sha256 = "0p3ndfmi6sdw55c7j19pyb2ymlby1vyxlp0k47366im1vi70b7gf";
};
- dependencies = [
- "formatador"
- "listen"
- "lumberjack"
- "nenv"
- "notiffany"
- "pry"
- "shellany"
- "thor"
- ];
+ version = "0.4.2";
};
- "guard-rspec" = {
- version = "4.2.10";
+ terminal-table = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
type = "gem";
- sha256 = "1mm03i1knmhmdqs4ni03nda7jy3s34c2nxf5sjq1cmywk9c0bn0r";
};
- dependencies = [
- "guard"
- "rspec"
- ];
- };
- "haml" = {
- version = "4.0.7";
- source = {
- type = "gem";
- sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
- };
- dependencies = [
- "tilt"
- ];
- };
- "haml-rails" = {
- version = "0.5.3";
- source = {
- type = "gem";
- sha256 = "0fg4dh1gb7f4h2571wm5qxli02mgg3r8ikp5vwkww12a431vk625";
- };
- dependencies = [
- "actionpack"
- "activesupport"
- "haml"
- "railties"
- ];
- };
- "hashie" = {
- version = "2.1.2";
- source = {
- type = "gem";
- sha256 = "08w9ask37zh5w989b6igair3zf8gwllyzix97rlabxglif9f9qd9";
- };
- };
- "highline" = {
- version = "1.6.21";
- source = {
- type = "gem";
- sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
- };
- };
- "hike" = {
- version = "1.2.3";
- source = {
- type = "gem";
- sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
- };
- };
- "hipchat" = {
version = "1.5.2";
- source = {
- type = "gem";
- sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
- };
- dependencies = [
- "httparty"
- "mimemagic"
- ];
};
- "hitimes" = {
- version = "1.2.3";
+ term-ansicolor = {
+ dependencies = ["tins"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
type = "gem";
- sha256 = "1fr9raz7652bnnx09dllyjdlnwdxsnl0ig5hq9s4s8vackvmckv4";
};
+ version = "1.3.2";
};
- "html-pipeline" = {
- version = "1.11.0";
+ temple = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ysraljv7lkb04z5vdyrkijab7j1jzj1mgz4bj82744dp7d0rhb0";
type = "gem";
- sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
};
- dependencies = [
- "activesupport"
- "nokogiri"
- ];
+ version = "0.7.6";
};
- "http-cookie" = {
+ teaspoon-jasmine = {
+ dependencies = ["teaspoon"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
+ type = "gem";
+ };
+ version = "2.2.0";
+ };
+ teaspoon = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
+ type = "gem";
+ };
version = "1.0.2";
+ };
+ task_list = {
+ dependencies = ["html-pipeline"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
+ type = "gem";
+ };
+ version = "1.0.2";
+ };
+ systemu = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
+ type = "gem";
+ };
+ version = "2.6.5";
+ };
+ stringex = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
+ type = "gem";
+ };
+ version = "2.5.2";
+ };
+ state_machines-activerecord = {
+ dependencies = ["activerecord" "state_machines-activemodel"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "10dplkn4cm49xby8s0sn7wxww4hnxi4dgikfsmhp1rbsa24d76vx";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ state_machines-activemodel = {
+ dependencies = ["activemodel" "state_machines"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1bshcm53v2vfpapvhws1h0dq1h4f3p6bvpdkjpydb52a3m0w2z0y";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ state_machines = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1xg84kdglz0k1pshf2q604zybjpribzcz2b651sc1j27kd86w787";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ sprockets-rails = {
+ dependencies = ["actionpack" "activesupport" "sprockets"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vsl6ryxdjpp97nl4ghhk1v6p50zh3sx9qv81bhmlffc234r91wn";
+ type = "gem";
+ };
+ version = "2.3.3";
+ };
+ sprockets = {
+ dependencies = ["hike" "multi_json" "rack" "tilt"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
+ type = "gem";
+ };
+ version = "2.12.4";
+ };
+ spring-commands-teaspoon = {
+ dependencies = ["spring"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
+ type = "gem";
+ };
+ version = "0.0.2";
+ };
+ spring-commands-spinach = {
+ dependencies = ["spring"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ spring-commands-rspec = {
+ dependencies = ["spring"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
+ type = "gem";
+ };
+ version = "1.0.4";
+ };
+ spring = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
+ type = "gem";
+ };
+ version = "1.3.6";
+ };
+ spinach-rails = {
+ dependencies = ["capybara" "railties" "spinach"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
+ type = "gem";
+ };
+ version = "0.2.1";
+ };
+ spinach = {
+ dependencies = ["colorize" "gherkin-ruby" "json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
+ type = "gem";
+ };
+ version = "0.8.10";
+ };
+ slop = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
+ type = "gem";
+ };
+ version = "3.6.0";
+ };
+ slim = {
+ dependencies = ["temple" "tilt"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1szs71hh0msm5gj6qbcxw44m3hqnwybx4yh02scwixnwg576058k";
+ type = "gem";
+ };
+ version = "3.0.6";
+ };
+ slack-notifier = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "08z6fv186yw1nrpl6zwp3lwqksin145aa1jv6jf00bnv3sicliiz";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ six = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
+ type = "gem";
+ };
+ version = "0.2.0";
+ };
+ sinatra = {
+ dependencies = ["rack" "rack-protection" "tilt"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
+ type = "gem";
+ };
+ version = "1.4.6";
+ };
+ simplecov-html = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
+ type = "gem";
+ };
+ version = "0.10.0";
+ };
+ simplecov = {
+ dependencies = ["docile" "json" "simplecov-html"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
+ type = "gem";
+ };
+ version = "0.10.0";
+ };
+ simple_oauth = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
+ type = "gem";
+ };
+ version = "0.1.9";
+ };
+ sidekiq-cron = {
+ dependencies = ["redis-namespace" "rufus-scheduler" "sidekiq"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xnbvh8kjv6954vsiwfcpp7bn8sgpwvnyapnq7b94w8h7kj3ykqy";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ sidekiq = {
+ dependencies = ["concurrent-ruby" "connection_pool" "json" "redis"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1x7jfc2va0x6fcfffdf0wdiyk4krjw8053jzwffa63wkqr5jvg3y";
+ type = "gem";
+ };
+ version = "4.0.1";
+ };
+ shoulda-matchers = {
+ dependencies = ["activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
+ type = "gem";
+ };
+ version = "2.8.0";
+ };
+ sham_rack = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
+ type = "gem";
+ };
+ version = "1.3.6";
+ };
+ sexp_processor = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
+ type = "gem";
+ };
+ version = "4.6.0";
+ };
+ settingslogic = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
+ type = "gem";
+ };
+ version = "2.0.9";
+ };
+ sentry-raven = {
+ version = "0.15.6";
source = {
type = "gem";
- sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
+ remotes = ["https://rubygems.org"];
+ sha256 = "0iqnwfmf6rnpgrvl3c8gh2gkix91nhm21j5qf389g4mi2rkc0ky8";
};
- dependencies = [
- "domain_name"
- ];
+ };
+ select2-rails = {
+ dependencies = ["thor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
+ type = "gem";
+ };
+ version = "3.5.9.3";
+ };
+ seed-fu = {
+ dependencies = ["activerecord" "activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
+ type = "gem";
+ };
+ version = "2.3.5";
+ };
+ sdoc = {
+ dependencies = ["json" "rdoc"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
+ type = "gem";
+ };
+ version = "0.3.20";
+ };
+ sawyer = {
+ dependencies = ["addressable" "faraday"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
+ type = "gem";
+ };
+ version = "0.6.0";
+ };
+ sass-rails = {
+ dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1f6357vw944w2ayayqmz8ai9myl6xbnry06sx5b5ms4r9lny8hj8";
+ type = "gem";
+ };
+ version = "5.0.4";
+ };
+ sass = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04rpdcp258arh2wgdk9shbqnzd6cbbbpi3wpi9a0wby8awgpxmyf";
+ type = "gem";
+ };
+ version = "3.4.20";
+ };
+ sanitize = {
+ dependencies = ["nokogiri"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+ type = "gem";
+ };
+ version = "2.1.0";
+ };
+ safe_yaml = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
+ type = "gem";
+ };
+ version = "1.0.4";
+ };
+ rugged = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0v0cvdw8cgy1hf5h3cx796zpxhbad8d5cm50nykyhwjc00q80zrr";
+ type = "gem";
+ };
+ version = "0.24.0b13";
+ };
+ rufus-scheduler = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04bmvvvri7ni7dvlq3gi1y553f6rp6bw2kmdfp9ny5bh3l7qayrh";
+ type = "gem";
+ };
+ version = "3.1.10";
+ };
+ rubypants = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
+ type = "gem";
+ };
+ version = "0.2.0";
+ };
+ rubyntlm = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
+ type = "gem";
+ };
+ version = "0.5.2";
+ };
+ ruby_parser = {
+ dependencies = ["sexp_processor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1rip6075b4k5a7s8w2klwc3jaqx31h69k004ac5nhl8y0ja92qvz";
+ type = "gem";
+ };
+ version = "3.7.2";
+ };
+ ruby2ruby = {
+ dependencies = ["ruby_parser" "sexp_processor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kmc0503s9mqnjyypx51wsi6zz9zj550ch43rag23wpj4qd6i6pm";
+ type = "gem";
+ };
+ version = "2.2.0";
+ };
+ ruby-saml = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "151jbak16y87dbj3ma2nc03rh37z7lixcwgaqahncq80rgnv45a8";
+ type = "gem";
+ };
+ version = "1.1.1";
+ };
+ ruby-progressbar = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
+ type = "gem";
+ };
+ version = "1.7.5";
+ };
+ ruby-fogbugz = {
+ dependencies = ["crack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
+ type = "gem";
+ };
+ version = "0.2.1";
+ };
+ rubocop = {
+ dependencies = ["astrolabe" "parser" "powerpack" "rainbow" "ruby-progressbar" "tins"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1grqda2fdknm43zyagh8gcmnhjkypyfw98q92hmvprprwghkq2sg";
+ type = "gem";
+ };
+ version = "0.35.1";
+ };
+ rspec-support = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
+ type = "gem";
+ };
+ version = "3.3.0";
+ };
+ rspec-rails = {
+ dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
+ type = "gem";
+ };
+ version = "3.3.3";
+ };
+ rspec-mocks = {
+ dependencies = ["diff-lcs" "rspec-support"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
+ type = "gem";
+ };
+ version = "3.3.2";
+ };
+ rspec-expectations = {
+ dependencies = ["diff-lcs" "rspec-support"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
+ type = "gem";
+ };
+ version = "3.3.1";
+ };
+ rspec-core = {
+ dependencies = ["rspec-support"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
+ type = "gem";
+ };
+ version = "3.3.2";
+ };
+ rspec = {
+ dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
+ type = "gem";
+ };
+ version = "3.3.0";
+ };
+ rqrcode-rails3 = {
+ dependencies = ["rqrcode"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
+ type = "gem";
+ };
+ version = "0.1.7";
+ };
+ rqrcode = {
+ dependencies = ["chunky_png"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
+ type = "gem";
+ };
+ version = "0.7.0";
+ };
+ rouge = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
+ type = "gem";
+ };
+ version = "1.10.1";
+ };
+ rotp = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
+ type = "gem";
+ };
+ version = "2.1.1";
+ };
+ rinku = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
+ type = "gem";
+ };
+ version = "1.7.3";
+ };
+ rest-client = {
+ dependencies = ["http-cookie" "mime-types" "netrc"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
+ type = "gem";
+ };
+ version = "1.8.0";
+ };
+ responders = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1i00bxp8fa67rzl50wfiaw16w21j5d5gwjjkdiwr0sw9q6ixmpz1";
+ type = "gem";
+ };
+ version = "2.1.1";
+ };
+ rerun = {
+ dependencies = ["listen"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0av239bpmy55fdx4qaw9n71aapjy2myr51h5plzjxsyr0fdwn1xq";
+ type = "gem";
+ };
+ version = "0.11.0";
+ };
+ request_store = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01rxi2hw84y133z0r91jns4aaywd8d83wjq0xgb42iaicf0a90p9";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ redis-store = {
+ dependencies = ["redis"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gf462p0wx4hn7m1m8ghs701n6xx0ijzm5cff9xfagd2s6va145m";
+ type = "gem";
+ };
+ version = "1.1.7";
+ };
+ redis-rails = {
+ dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
+ type = "gem";
+ };
+ version = "4.0.0";
+ };
+ redis-rack = {
+ dependencies = ["rack" "redis-store"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
+ type = "gem";
+ };
+ version = "1.5.0";
+ };
+ redis-namespace = {
+ dependencies = ["redis"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
+ type = "gem";
+ };
+ version = "1.5.2";
+ };
+ redis-activesupport = {
+ dependencies = ["activesupport" "redis-store"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "10y3kybz21n2z11478sf0cp4xzclvxf0b428787brmgpc6i7p7zg";
+ type = "gem";
+ };
+ version = "4.1.5";
+ };
+ redis-actionpack = {
+ dependencies = ["actionpack" "redis-rack" "redis-store"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jjl6dhhpdapdaywq5iqz7z36mwbw0cn0m30wcc5wcbv7xmiiygw";
+ type = "gem";
+ };
+ version = "4.0.1";
+ };
+ redis = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0255w9izzs04hw9wivn05yqiwi34w28ylxs0xvpmwc1vrh18fwcl";
+ type = "gem";
+ };
+ version = "3.2.2";
+ };
+ redcarpet = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk";
+ type = "gem";
+ };
+ version = "3.3.3";
+ };
+ recaptcha = {
+ dependencies = ["json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "190qqklirmi31s6ih7png4h9xmx1p5h2n5fi45z90y8hsp5w1sh1";
+ type = "gem";
+ };
+ version = "1.0.2";
+ };
+ rdoc = {
+ dependencies = ["json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
+ type = "gem";
+ };
+ version = "3.12.2";
+ };
+ rblineprof = {
+ dependencies = ["debugger-ruby_core_source"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
+ type = "gem";
+ };
+ version = "0.3.6";
+ };
+ rb-inotify = {
+ dependencies = ["ffi"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
+ type = "gem";
+ };
+ version = "0.9.5";
+ };
+ rb-fsevent = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2";
+ type = "gem";
+ };
+ version = "0.9.6";
+ };
+ raphael-rails = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
+ type = "gem";
+ };
+ version = "2.1.2";
+ };
+ rake = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
+ type = "gem";
+ };
+ version = "10.5.0";
+ };
+ raindrops = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
+ type = "gem";
+ };
+ version = "0.15.0";
+ };
+ rainbow = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
+ type = "gem";
+ };
+ version = "2.0.0";
+ };
+ railties = {
+ dependencies = ["actionpack" "activesupport" "rake" "thor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "07vmyrppa1x80whdjxhjij93qh9wvnmnxpsgn6fr9x2lqmzdyq5l";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ rails-html-sanitizer = {
+ dependencies = ["loofah"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
+ type = "gem";
+ };
+ version = "1.0.3";
+ };
+ rails-dom-testing = {
+ dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
+ type = "gem";
+ };
+ version = "1.0.7";
+ };
+ rails-deprecated_sanitizer = {
+ dependencies = ["activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
+ type = "gem";
+ };
+ version = "1.0.3";
+ };
+ rails = {
+ dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "03j6hfsqdl0bay59m4qjj2081s4vnhqagpl14qpm4wfrqrgpkcqb";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ rack-test = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
+ type = "gem";
+ };
+ version = "0.6.3";
+ };
+ rack-protection = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+ type = "gem";
+ };
+ version = "1.5.3";
+ };
+ rack-oauth2 = {
+ dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1szfnb74p5s7k0glpmiv16rfl4wx9mnrr7riapgpbcx163zzkxad";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ rack-mount = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
+ type = "gem";
+ };
+ version = "0.8.3";
+ };
+ rack-cors = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1sz9d9gjmv2vjl3hddzk269hb1k215k8sp37gicphx82h3chk1kw";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ rack-attack = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ihic8ar2ddfv15p5gia8nqzsl3y7iayg5v4rmg72jlvikgsabls";
+ type = "gem";
+ };
+ version = "4.3.1";
+ };
+ rack-accept = {
+ dependencies = ["rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
+ type = "gem";
+ };
+ version = "0.4.5";
+ };
+ rack = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
+ type = "gem";
+ };
+ version = "1.6.4";
+ };
+ quiet_assets = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
+ type = "gem";
+ };
+ version = "1.0.3";
+ };
+ pyu-ruby-sasl = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
+ type = "gem";
+ };
+ version = "0.0.3.3";
+ };
+ pry-rails = {
+ dependencies = ["pry"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
+ type = "gem";
+ };
+ version = "0.3.4";
+ };
+ pry = {
+ dependencies = ["coderay" "method_source" "slop"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1x78rvp69ws37kwig18a8hr79qn36vh8g1fn75p485y3b3yiqszg";
+ type = "gem";
+ };
+ version = "0.10.3";
+ };
+ powerpack = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
+ type = "gem";
+ };
+ version = "0.1.1";
+ };
+ posix-spawn = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
+ type = "gem";
+ };
+ version = "0.3.11";
+ };
+ poltergeist = {
+ dependencies = ["capybara" "cliver" "multi_json" "websocket-driver"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ppm4isvbxm739508yjhvisq1iwp1q6h8dx4hkndj2krskavz4i9";
+ type = "gem";
+ };
+ version = "1.8.1";
+ };
+ pg = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
+ type = "gem";
+ };
+ version = "0.18.4";
+ };
+ parser = {
+ dependencies = ["ast"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14db0gam24j04iprqz4m3hxygkb8h0plnbm0yk4k3lzq6j5wzcac";
+ type = "gem";
+ };
+ version = "2.2.3.0";
+ };
+ paranoia = {
+ dependencies = ["activerecord"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0z2smnnghjhcs4l5fkz9scs1kj0bvj2n8xmzcvw4rg9yprdnlxr0";
+ type = "gem";
+ };
+ version = "2.1.4";
+ };
+ orm_adapter = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
+ type = "gem";
+ };
+ version = "0.5.0";
+ };
+ org-ruby = {
+ dependencies = ["rubypants"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
+ type = "gem";
+ };
+ version = "0.9.12";
+ };
+ omniauth_crowd = {
+ dependencies = ["activesupport" "nokogiri" "omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
+ type = "gem";
+ };
+ version = "2.2.3";
+ };
+ omniauth-twitter = {
+ dependencies = ["json" "omniauth-oauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ omniauth-shibboleth = {
+ dependencies = ["omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0a8pwy23aybxhn545357zdjy0hnpfgldwqk5snmz9kxingpq12jl";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ omniauth-saml = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0c7pypskq9y6wbl7c8gnp48j256snph11br3csgwvy9whjfisx65";
+ type = "gem";
+ };
+ version = "1.4.2";
+ };
+ omniauth-oauth2 = {
+ dependencies = ["oauth2" "omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
+ type = "gem";
+ };
+ version = "1.3.1";
+ };
+ omniauth-oauth = {
+ dependencies = ["oauth" "omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+ omniauth-multipassword = {
+ dependencies = ["omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
+ type = "gem";
+ };
+ version = "0.4.2";
+ };
+ omniauth-kerberos = {
+ dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ omniauth-google-oauth2 = {
+ dependencies = ["addressable" "jwt" "multi_json" "omniauth" "omniauth-oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lm4fk6ig9vwzv7398qd861325g678sfr1iv2mm60xswl69964fi";
+ type = "gem";
+ };
+ version = "0.2.10";
+ };
+ omniauth-gitlab = {
+ dependencies = ["omniauth" "omniauth-oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "083yyc8612kq8ygd8y7s8lxg2d51jcsakbs4pa19aww67gcm72iz";
+ type = "gem";
+ };
+ version = "1.0.1";
+ };
+ omniauth-github = {
+ dependencies = ["omniauth" "omniauth-oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
+ type = "gem";
+ };
+ version = "1.1.2";
+ };
+ omniauth-facebook = {
+ dependencies = ["omniauth-oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0plj56sna4b6c71k03jsng6gq3r5yxhj7h26ndahc9caasgk869c";
+ type = "gem";
+ };
+ version = "3.0.0";
+ };
+ omniauth-cas3 = {
+ dependencies = ["addressable" "nokogiri" "omniauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "13swm2hi2z63nvb2bps6g41kki8kr9b5c7014rk8259bxlpflrk7";
+ type = "gem";
+ };
+ version = "1.1.3";
+ };
+ omniauth-bitbucket = {
+ dependencies = ["multi_json" "omniauth" "omniauth-oauth"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
+ type = "gem";
+ };
+ version = "0.0.2";
+ };
+ omniauth-azure-oauth2 = {
+ dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
+ type = "gem";
+ };
+ version = "0.0.6";
+ };
+ omniauth = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0vsqxgzkcfi10b7k6vpv3shmlphbs8grc29hznwl9s0i16n8962p";
+ type = "gem";
+ };
+ version = "1.3.1";
+ };
+ octokit = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0vmknh0vz1g734q32kgpxv0qwz9ifmnw2jfpd2w5rrk6xwq1k7a8";
+ type = "gem";
+ };
+ version = "3.8.0";
+ };
+ oauth2 = {
+ dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ oauth = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
+ type = "gem";
+ };
+ version = "0.4.7";
+ };
+ nprogress-rails = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ylq2208i95661ba0p1ng2i38z4978ddwiidvpb614amfdq5pqvn";
+ type = "gem";
+ };
+ version = "0.1.6.7";
+ };
+ nokogiri = {
+ dependencies = ["mini_portile2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
+ type = "gem";
+ };
+ version = "1.6.7.2";
+ };
+ newrelic_rpm = {
+ version = "3.14.1.311";
+ source = {
+ type = "gem";
+ remotes = ["https://rubygems.org"];
+ sha256 = "155aj845rxn8ikcs15gphr8svnsrki8wzps794ddbi90h0ypr319";
+ };
+ };
+ netrc = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
+ type = "gem";
+ };
+ version = "0.11.0";
+ };
+ net-ssh = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf";
+ type = "gem";
+ };
+ version = "3.0.1";
+ };
+ net-ldap = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
+ type = "gem";
+ };
+ version = "0.12.1";
+ };
+ nested_form = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
+ type = "gem";
+ };
+ version = "0.3.2";
+ };
+ mysql2 = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
+ type = "gem";
+ };
+ version = "0.3.20";
+ };
+ multipart-post = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+ type = "gem";
+ };
+ version = "2.0.0";
+ };
+ multi_xml = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
+ type = "gem";
+ };
+ version = "0.5.5";
+ };
+ multi_json = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
+ type = "gem";
+ };
+ version = "1.11.2";
+ };
+ mousetrap-rails = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
+ type = "gem";
+ };
+ version = "1.4.6";
+ };
+ minitest = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
+ type = "gem";
+ };
+ version = "5.7.0";
+ };
+ mini_portile2 = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
+ type = "gem";
+ };
+ version = "2.0.0";
+ };
+ mimemagic = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ mime-types = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+ type = "gem";
+ };
+ version = "1.25.1";
+ };
+ method_source = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+ type = "gem";
+ };
+ version = "0.8.2";
+ };
+ mail_room = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0jpybhgw9yi50g422qvnwadn5jnj563vh70qaml5cxzdqxbd7fj1";
+ type = "gem";
+ };
+ version = "0.6.1";
+ };
+ mail = {
+ dependencies = ["mime-types"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
+ type = "gem";
+ };
+ version = "2.6.3";
+ };
+ macaddr = {
+ dependencies = ["systemu"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
+ type = "gem";
+ };
+ version = "1.7.1";
+ };
+ loofah = {
+ dependencies = ["nokogiri"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
+ type = "gem";
+ };
+ version = "2.0.3";
+ };
+ listen = {
+ dependencies = ["rb-fsevent" "rb-inotify"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "182wd2pkf690ll19lx6zbk01a3rqkk5lwsyin6kwydl7lqxj5z3g";
+ type = "gem";
+ };
+ version = "3.0.5";
+ };
+ letter_opener = {
+ dependencies = ["launchy"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
+ type = "gem";
+ };
+ version = "1.1.2";
+ };
+ launchy = {
+ dependencies = ["addressable"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
+ type = "gem";
+ };
+ version = "2.4.3";
+ };
+ kgio = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118";
+ type = "gem";
+ };
+ version = "2.10.0";
+ };
+ kaminari = {
+ dependencies = ["actionpack" "activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67";
+ type = "gem";
+ };
+ version = "0.16.3";
+ };
+ jwt = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0is8973si98rsry5igqdag2jb1knj6jhmfkr9r4mc5n0yvgr5n2q";
+ type = "gem";
+ };
+ version = "1.5.2";
+ };
+ json = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+ type = "gem";
+ };
+ version = "1.8.3";
+ };
+ jquery-ui-rails = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
+ type = "gem";
+ };
+ version = "5.0.5";
+ };
+ jquery-turbolinks = {
+ dependencies = ["railties" "turbolinks"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1d23mnl3lgamk9ziw4yyv2ixck6d8s8xp4f9pmwimk0by0jq7xhc";
+ type = "gem";
+ };
+ version = "2.1.0";
+ };
+ jquery-scrollto-rails = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
+ type = "gem";
+ };
+ version = "1.4.3";
+ };
+ jquery-rails = {
+ dependencies = ["rails-dom-testing" "railties" "thor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "028dv2n0r2r8qj1bqcbzmih0hwzh5km6cvscn2808v5gd44z48r1";
+ type = "gem";
+ };
+ version = "4.0.5";
+ };
+ jquery-atwho-rails = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9";
+ type = "gem";
+ };
+ version = "1.3.2";
+ };
+ ipaddress = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0sl0ldvhd6j0qbwhz18w24qy65mdj448b2vhgh2cwn7xrkksmv9l";
+ type = "gem";
+ };
+ version = "0.8.2";
+ };
+ influxdb = {
+ dependencies = ["cause" "json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
+ type = "gem";
+ };
+ version = "0.2.3";
+ };
+ inflecto = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
+ type = "gem";
+ };
+ version = "0.0.2";
+ };
+ ice_nine = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
+ type = "gem";
+ };
+ version = "0.11.1";
+ };
+ i18n = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+ type = "gem";
+ };
+ version = "0.7.0";
+ };
+ httpclient = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0k6bqsaqq6c824vrbfb5pkz8bpk565zikd10w85rzj2dy809ik6c";
+ type = "gem";
+ };
+ version = "2.7.0.1";
+ };
+ httparty = {
+ dependencies = ["json" "multi_xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2";
+ type = "gem";
+ };
+ version = "0.13.7";
};
"http_parser.rb" = {
- version = "0.5.3";
source = {
- type = "gem";
+ remotes = ["https://rubygems.org"];
sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
- };
- };
- "httparty" = {
- version = "0.13.5";
- source = {
- type = "gem";
- sha256 = "1m93fbpwydzzwhc2zf2qkj6lrbcabpy7xhx7wb2mnbmgh0fs7ff9";
- };
- dependencies = [
- "json"
- "multi_xml"
- ];
- };
- "httpclient" = {
- version = "2.6.0.1";
- source = {
- type = "gem";
- sha256 = "0haz4s9xnzr73mkfpgabspj43bhfm9znmpmgdk74n6gih1xlrx1l";
- };
- };
- "i18n" = {
- version = "0.7.0";
- source = {
- type = "gem";
- sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
- };
- };
- "ice_cube" = {
- version = "0.11.1";
- source = {
- type = "gem";
- sha256 = "12y23nczfrgslpfqam90076x603xhlpv3fyh8mv49gks4qn2wk20";
- };
- };
- "ice_nine" = {
- version = "0.11.1";
- source = {
- type = "gem";
- sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
- };
- };
- "inflecto" = {
- version = "0.0.2";
- source = {
- type = "gem";
- sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
- };
- };
- "ipaddress" = {
- version = "0.8.0";
- source = {
- type = "gem";
- sha256 = "0cwy4pyd9nl2y2apazp3hvi12gccj5a3ify8mi8k3knvxi5wk2ir";
- };
- };
- "jquery-atwho-rails" = {
- version = "1.0.1";
- source = {
- type = "gem";
- sha256 = "0fdy4dxfvnzrjbfm45yrnwfczszvnd7psqhnkby0j3qjg8k9xhzw";
- };
- };
- "jquery-rails" = {
- version = "3.1.3";
- source = {
- type = "gem";
- sha256 = "1n07rj1x7l61wygbjdpknv5nxhbg2iybfgkpdgca2kj6c1nb1d87";
- };
- dependencies = [
- "railties"
- "thor"
- ];
- };
- "jquery-scrollto-rails" = {
- version = "1.4.3";
- source = {
- type = "gem";
- sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
- };
- dependencies = [
- "railties"
- ];
- };
- "jquery-turbolinks" = {
- version = "2.0.2";
- source = {
- type = "gem";
- sha256 = "1plip56znrkq3na5bjys5q2zvlbyj8p8i29kaayzfpi2c4ixxaq3";
- };
- dependencies = [
- "railties"
- "turbolinks"
- ];
- };
- "jquery-ui-rails" = {
- version = "4.2.1";
- source = {
- type = "gem";
- sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
- };
- dependencies = [
- "railties"
- ];
- };
- "json" = {
- version = "1.8.3";
- source = {
- type = "gem";
- sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
- };
- };
- "jwt" = {
- version = "1.5.1";
- source = {
- type = "gem";
- sha256 = "13b5ccknrmxnb6dk7vlmnb05za1xxyqd8dzb6lpqq503wpfrmlyk";
- };
- };
- "kaminari" = {
- version = "0.15.1";
- source = {
- type = "gem";
- sha256 = "1m67ghp55hr16k1njhd00f225qys67n60qa3jz69kzqvrp6qg33d";
- };
- dependencies = [
- "actionpack"
- "activesupport"
- ];
- };
- "kgio" = {
- version = "2.9.3";
- source = {
- type = "gem";
- sha256 = "07gl0drxwckj7kbq5nla2lf81lrrrvirvvdcrykjgivysfg6yp5v";
- };
- };
- "launchy" = {
- version = "2.4.3";
- source = {
- type = "gem";
- sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
- };
- dependencies = [
- "addressable"
- ];
- };
- "letter_opener" = {
- version = "1.1.2";
- source = {
- type = "gem";
- sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
- };
- dependencies = [
- "launchy"
- ];
- };
- "listen" = {
- version = "2.10.1";
- source = {
- type = "gem";
- sha256 = "1ipainbx21ni7xakdbksxjim6nixvzfjkifb2d3v45a50dp3diqg";
- };
- dependencies = [
- "celluloid"
- "rb-fsevent"
- "rb-inotify"
- ];
- };
- "lumberjack" = {
- version = "1.0.9";
- source = {
- type = "gem";
- sha256 = "162frm2bwy58pj8ccsdqa4a6i0csrhb9h5l3inhkl1ivgfc8814l";
- };
- };
- "macaddr" = {
- version = "1.7.1";
- source = {
- type = "gem";
- sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
- };
- dependencies = [
- "systemu"
- ];
- };
- "mail" = {
- version = "2.6.3";
- source = {
- type = "gem";
- sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
- };
- dependencies = [
- "mime-types"
- ];
- };
- "mail_room" = {
- version = "0.5.2";
- source = {
- type = "gem";
- sha256 = "1l8ncfwqiiv3nd7i0237xd5ymshgyfxfv4w2bj0lj67ys3l4qwh3";
- };
- };
- "method_source" = {
- version = "0.8.2";
- source = {
- type = "gem";
- sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
- };
- };
- "mime-types" = {
- version = "1.25.1";
- source = {
- type = "gem";
- sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
- };
- };
- "mimemagic" = {
- version = "0.3.0";
- source = {
- type = "gem";
- sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
- };
- };
- "mini_portile" = {
- version = "0.6.2";
- source = {
- type = "gem";
- sha256 = "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w";
- };
- };
- "minitest" = {
- version = "5.7.0";
- source = {
- type = "gem";
- sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
- };
- };
- "mousetrap-rails" = {
- version = "1.4.6";
- source = {
- type = "gem";
- sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
- };
- };
- "multi_json" = {
- version = "1.11.2";
- source = {
- type = "gem";
- sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
- };
- };
- "multi_xml" = {
- version = "0.5.5";
- source = {
- type = "gem";
- sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
- };
- };
- "multipart-post" = {
- version = "1.2.0";
- source = {
- type = "gem";
- sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
- };
- };
- "mysql2" = {
- version = "0.3.20";
- source = {
- type = "gem";
- sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
- };
- };
- "nenv" = {
- version = "0.2.0";
- source = {
- type = "gem";
- sha256 = "152wxwri0afwgnxdf93gi6wjl9rr5z7vwp8ln0gpa3rddbfc27s6";
- };
- };
- "nested_form" = {
- version = "0.3.2";
- source = {
- type = "gem";
- sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
- };
- };
- "net-ldap" = {
- version = "0.11";
- source = {
- type = "gem";
- sha256 = "1xfq94lmc5mcc5giipxn9bmrsm9ny1xc1rp0xpm2pgqwr2q8fm7w";
- };
- };
- "net-scp" = {
- version = "1.2.1";
- source = {
- type = "gem";
- sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
- };
- dependencies = [
- "net-ssh"
- ];
- };
- "net-ssh" = {
- version = "2.9.2";
- source = {
- type = "gem";
- sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
- };
- };
- "netrc" = {
- version = "0.10.3";
- source = {
- type = "gem";
- sha256 = "1r6cmg1nvxspl24yrqn77vx7xjqigpypialblpcv5qj6xmc4b8lg";
- };
- };
- "newrelic-grape" = {
- version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "1j8cdlc8lvbh2c2drdq0kfrjbw9bkgqx3qiiizzaxv6yj70vq58a";
- };
- dependencies = [
- "grape"
- "newrelic_rpm"
- ];
- };
- "newrelic_rpm" = {
- version = "3.9.4.245";
- source = {
- type = "gem";
- sha256 = "0r1x16wwmiqsf1gj2a1lgc0fq1v0x4yv40k5wgb00gs439vgzyin";
- };
- };
- "nokogiri" = {
- version = "1.6.6.2";
- source = {
- type = "gem";
- sha256 = "1j4qv32qjh67dcrc1yy1h8sqjnny8siyy4s44awla8d6jk361h30";
- };
- dependencies = [
- "mini_portile"
- ];
- };
- "notiffany" = {
- version = "0.0.7";
- source = {
- type = "gem";
- sha256 = "1v5x1w59qq85r6dpv3y9ga34dfd7hka1qxyiykaw7gm0i6kggbhi";
- };
- dependencies = [
- "nenv"
- "shellany"
- ];
- };
- "nprogress-rails" = {
- version = "0.1.2.3";
- source = {
- type = "gem";
- sha256 = "16gqajynqzfvzcyc8b9bjn8xf6j7y80li00ajicxwvb6my2ag304";
- };
- };
- "oauth" = {
- version = "0.4.7";
- source = {
- type = "gem";
- sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
- };
- };
- "oauth2" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
- };
- dependencies = [
- "faraday"
- "jwt"
- "multi_json"
- "multi_xml"
- "rack"
- ];
- };
- "octokit" = {
- version = "3.7.1";
- source = {
- type = "gem";
- sha256 = "1sd6cammv5m96640vdb8yp3kfpzn52s8y7d77dgsfb25bc1jg4xl";
- };
- dependencies = [
- "sawyer"
- ];
- };
- "omniauth" = {
- version = "1.2.2";
- source = {
- type = "gem";
- sha256 = "1f0hd9ngfb6f8wz8h2r5n8lr99jqjaghn0h2mljdc6fw031ap7lk";
- };
- dependencies = [
- "hashie"
- "rack"
- ];
- };
- "omniauth-bitbucket" = {
- version = "0.0.2";
- source = {
- type = "gem";
- sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
- };
- dependencies = [
- "multi_json"
- "omniauth"
- "omniauth-oauth"
- ];
- };
- "omniauth-github" = {
- version = "1.1.2";
- source = {
- type = "gem";
- sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
- };
- dependencies = [
- "omniauth"
- "omniauth-oauth2"
- ];
- };
- "omniauth-gitlab" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "1amg3y0ivfakamfwiljgla1vff59b116nd0i6khmaj4jsa4s81hw";
- };
- dependencies = [
- "omniauth"
- "omniauth-oauth2"
- ];
- };
- "omniauth-google-oauth2" = {
- version = "0.2.6";
- source = {
- type = "gem";
- sha256 = "1nba1iy6w2wj79pvnp9r5bw7jhks0287lw748vkxl9xmwccldnhj";
- };
- dependencies = [
- "omniauth"
- "omniauth-oauth2"
- ];
- };
- "omniauth-kerberos" = {
- version = "0.2.0";
- source = {
- type = "gem";
- sha256 = "1s626nxzq8i6gy67pkh04h8hlmmx4vwpc36sbdsgm1xwyj3hrn1b";
- };
- dependencies = [
- "omniauth-multipassword"
- "timfel-krb5-auth"
- ];
- };
- "omniauth-multipassword" = {
- version = "0.4.2";
- source = {
- type = "gem";
- sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
- };
- dependencies = [
- "omniauth"
- ];
- };
- "omniauth-oauth" = {
- version = "1.1.0";
- source = {
- type = "gem";
- sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
- };
- dependencies = [
- "oauth"
- "omniauth"
- ];
- };
- "omniauth-oauth2" = {
- version = "1.3.1";
- source = {
- type = "gem";
- sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
- };
- dependencies = [
- "oauth2"
- "omniauth"
- ];
- };
- "omniauth-saml" = {
- version = "1.4.1";
- source = {
- type = "gem";
- sha256 = "12jkjdrkc3k2k1y53vfxyicdq2j0djhln6apwzmc10h9jhq23nrq";
- };
- dependencies = [
- "omniauth"
- "ruby-saml"
- ];
- };
- "omniauth-shibboleth" = {
- version = "1.1.2";
- source = {
- type = "gem";
- sha256 = "0wy24hwsipjx8iswdbrncgv15qxv7ibg07rv2n6byi037mrnhnhw";
- };
- dependencies = [
- "omniauth"
- ];
- };
- "omniauth-twitter" = {
- version = "1.0.1";
- source = {
- type = "gem";
- sha256 = "060gnfc9im786llgi7vlrfhar1b7jlk19bjjc5d50lwrah0hh4fd";
- };
- dependencies = [
- "multi_json"
- "omniauth-oauth"
- ];
- };
- "omniauth_crowd" = {
- version = "2.2.3";
- source = {
- type = "gem";
- sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
- };
- dependencies = [
- "activesupport"
- "nokogiri"
- "omniauth"
- ];
- };
- "opennebula" = {
- version = "4.12.1";
- source = {
- type = "gem";
- sha256 = "1y2k706mcxf69cviy415icnhdz7ll5nld9iksqdg4asp60gybq3k";
- };
- dependencies = [
- "json"
- "nokogiri"
- "rbvmomi"
- ];
- };
- "org-ruby" = {
- version = "0.9.12";
- source = {
- type = "gem";
- sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
- };
- dependencies = [
- "rubypants"
- ];
- };
- "orm_adapter" = {
- version = "0.5.0";
- source = {
- type = "gem";
- sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
- };
- };
- "paranoia" = {
- version = "2.1.3";
- source = {
- type = "gem";
- sha256 = "1v6izkdf8npwcblzn9zl9ysagih75584d8hpjzhiv0ijz6cw3l92";
- };
- dependencies = [
- "activerecord"
- ];
- };
- "parser" = {
- version = "2.2.2.6";
- source = {
- type = "gem";
- sha256 = "0rmh4yr5qh87wqgwzbs6vy8wyf248k09m2vfjf9br6jdb5zgj5hh";
- };
- dependencies = [
- "ast"
- ];
- };
- "pg" = {
- version = "0.18.2";
- source = {
- type = "gem";
- sha256 = "1axxbf6ij1iqi3i1r3asvjc80b0py5bz0m2wy5kdi5xkrpr82kpf";
- };
- };
- "poltergeist" = {
- version = "1.6.0";
- source = {
- type = "gem";
- sha256 = "0mpy2yhn0bhm2s78h8wy22j6378vvsdkj5pcvhr2zfhdjf46g41d";
- };
- dependencies = [
- "capybara"
- "cliver"
- "multi_json"
- "websocket-driver"
- ];
- };
- "posix-spawn" = {
- version = "0.3.11";
- source = {
- type = "gem";
- sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
- };
- };
- "powerpack" = {
- version = "0.0.9";
- source = {
- type = "gem";
- sha256 = "0gflp6d2dc4jz3kgg8v4pdzm3qr2bbdygr83dbsi69pxm2gy5536";
- };
- };
- "pry" = {
- version = "0.10.1";
- source = {
- type = "gem";
- sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z";
- };
- dependencies = [
- "coderay"
- "method_source"
- "slop"
- ];
- };
- "pry-rails" = {
- version = "0.3.4";
- source = {
- type = "gem";
- sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
- };
- dependencies = [
- "pry"
- ];
- };
- "pyu-ruby-sasl" = {
- version = "0.0.3.3";
- source = {
- type = "gem";
- sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
- };
- };
- "quiet_assets" = {
- version = "1.0.3";
- source = {
- type = "gem";
- sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
- };
- dependencies = [
- "railties"
- ];
- };
- "rack" = {
- version = "1.5.5";
- source = {
- type = "gem";
- sha256 = "1ds3gh8m5gy0d2k4g12k67qid7magg1ia186872yq22ham7sgr2a";
- };
- };
- "rack-accept" = {
- version = "0.4.5";
- source = {
- type = "gem";
- sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
- };
- dependencies = [
- "rack"
- ];
- };
- "rack-attack" = {
- version = "4.3.0";
- source = {
- type = "gem";
- sha256 = "06v5xvp33aysf8hkl9lwl1yjkc82jdlvcm2361y7ckjgykf8ixfr";
- };
- dependencies = [
- "rack"
- ];
- };
- "rack-cors" = {
- version = "0.2.9";
- source = {
- type = "gem";
- sha256 = "0z88pbbasr86z6h0965cny0gvrnj7zwv31s506xbpivk4vd6n9as";
- };
- };
- "rack-mini-profiler" = {
- version = "0.9.7";
- source = {
- type = "gem";
- sha256 = "03lz6x1s8rbrccfsxl2rq677zqkmkvzv7whbmwzdp71zzyvvm14j";
- };
- dependencies = [
- "rack"
- ];
- };
- "rack-mount" = {
- version = "0.8.3";
- source = {
- type = "gem";
- sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
- };
- dependencies = [
- "rack"
- ];
- };
- "rack-oauth2" = {
- version = "1.0.10";
- source = {
- type = "gem";
- sha256 = "1srg4hdnyn6bwx225snyq7flb0cn96ppdvicwls6qvp6i4n91k36";
- };
- dependencies = [
- "activesupport"
- "attr_required"
- "httpclient"
- "multi_json"
- "rack"
- ];
- };
- "rack-protection" = {
- version = "1.5.3";
- source = {
- type = "gem";
- sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
- };
- dependencies = [
- "rack"
- ];
- };
- "rack-test" = {
- version = "0.6.3";
- source = {
- type = "gem";
- sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
- };
- dependencies = [
- "rack"
- ];
- };
- "rails" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "0k2n6y92gmysk8y6j1hy6av53f07hhzkhw41qfqwr2hgqc6q8idv";
- };
- dependencies = [
- "actionmailer"
- "actionpack"
- "actionview"
- "activemodel"
- "activerecord"
- "activesupport"
- "railties"
- "sprockets-rails"
- ];
- };
- "rails-observers" = {
- version = "0.1.2";
- source = {
- type = "gem";
- sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy";
- };
- dependencies = [
- "activemodel"
- ];
- };
- "railties" = {
- version = "4.1.12";
- source = {
- type = "gem";
- sha256 = "0v16grd6ip3ijiz1v36myiirqx9fx004lfvnsmh28b2ddjxcci4q";
- };
- dependencies = [
- "actionpack"
- "activesupport"
- "rake"
- "thor"
- ];
- };
- "rainbow" = {
- version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
- };
- };
- "raindrops" = {
- version = "0.15.0";
- source = {
- type = "gem";
- sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
- };
- };
- "rake" = {
- version = "10.4.2";
- source = {
- type = "gem";
- sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8";
- };
- };
- "raphael-rails" = {
- version = "2.1.2";
- source = {
- type = "gem";
- sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
- };
- };
- "rb-fsevent" = {
- version = "0.9.5";
- source = {
- type = "gem";
- sha256 = "1p4rz4qqarl7xg2aldpra54h81yal93cbxdy02lmb9kf6f7y2fz4";
- };
- };
- "rb-inotify" = {
- version = "0.9.5";
- source = {
- type = "gem";
- sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
- };
- dependencies = [
- "ffi"
- ];
- };
- "rbvmomi" = {
- version = "1.8.2";
- source = {
- type = "gem";
- sha256 = "0gjbfazl2q42m1m51nvv14q7y5lbya272flmvhpqvg5z10nbxanj";
- };
- dependencies = [
- "builder"
- "nokogiri"
- "trollop"
- ];
- };
- "rdoc" = {
- version = "3.12.2";
- source = {
- type = "gem";
- sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
- };
- dependencies = [
- "json"
- ];
- };
- "redcarpet" = {
- version = "3.3.2";
- source = {
- type = "gem";
- sha256 = "1xf95nrc8jgv9hjzjnbf3ljwmp29rqxdamyj9crza2czl4k63rnm";
- };
- };
- "redis" = {
- version = "3.2.1";
- source = {
- type = "gem";
- sha256 = "16jzlqp80qiqg5cdc9l144n6k3c5qj9if4pgij87sscn8ahi993k";
- };
- };
- "redis-actionpack" = {
- version = "4.0.0";
- source = {
- type = "gem";
- sha256 = "0mad0v3qanw3xi9zs03f4w8sn1qb3x501k3235ck8m5i8vgjk474";
- };
- dependencies = [
- "actionpack"
- "redis-rack"
- "redis-store"
- ];
- };
- "redis-activesupport" = {
- version = "4.1.1";
- source = {
- type = "gem";
- sha256 = "1xciffiqbhksy534sysdd8pgn2hlvyrs1qb4x1kbcx9f3f83y551";
- };
- dependencies = [
- "activesupport"
- "redis-store"
- ];
- };
- "redis-namespace" = {
- version = "1.5.2";
- source = {
- type = "gem";
- sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
- };
- dependencies = [
- "redis"
- ];
- };
- "redis-rack" = {
- version = "1.5.0";
- source = {
- type = "gem";
- sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
- };
- dependencies = [
- "rack"
- "redis-store"
- ];
- };
- "redis-rails" = {
- version = "4.0.0";
- source = {
- type = "gem";
- sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
- };
- dependencies = [
- "redis-actionpack"
- "redis-activesupport"
- "redis-store"
- ];
- };
- "redis-store" = {
- version = "1.1.6";
- source = {
- type = "gem";
- sha256 = "1x8pfpd6c3xxb3l9nyggi9qpgxcp9k9rkdwwl80m95lhynwaxcds";
- };
- dependencies = [
- "redis"
- ];
- };
- "request_store" = {
- version = "1.2.0";
- source = {
- type = "gem";
- sha256 = "1s7lk5klbg2qfh8hgqymjrlwgpmjmfx03x1hniq16shd1cjwch45";
- };
- };
- "rerun" = {
- version = "0.10.0";
- source = {
- type = "gem";
- sha256 = "0hsw0q0wriz4h55hkm9yd313hqixgsgnp4wrl8v4k4zwz41j76xk";
- };
- dependencies = [
- "listen"
- ];
- };
- "responders" = {
- version = "1.1.2";
- source = {
- type = "gem";
- sha256 = "178279kf1kaah917r6zwzw5kk9swj28yxmg6aqffna7789kjhy3f";
- };
- dependencies = [
- "railties"
- ];
- };
- "rest-client" = {
- version = "1.8.0";
- source = {
- type = "gem";
- sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
- };
- dependencies = [
- "http-cookie"
- "mime-types"
- "netrc"
- ];
- };
- "rinku" = {
- version = "1.7.3";
- source = {
- type = "gem";
- sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
- };
- };
- "rotp" = {
- version = "2.1.1";
- source = {
- type = "gem";
- sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
- };
- };
- "rouge" = {
- version = "1.10.1";
- source = {
- type = "gem";
- sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
- };
- };
- "rqrcode" = {
- version = "0.7.0";
- source = {
- type = "gem";
- sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
- };
- dependencies = [
- "chunky_png"
- ];
- };
- "rqrcode-rails3" = {
- version = "0.1.7";
- source = {
- type = "gem";
- sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
- };
- dependencies = [
- "rqrcode"
- ];
- };
- "rspec" = {
- version = "3.3.0";
- source = {
- type = "gem";
- sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
- };
- dependencies = [
- "rspec-core"
- "rspec-expectations"
- "rspec-mocks"
- ];
- };
- "rspec-core" = {
- version = "3.3.2";
- source = {
- type = "gem";
- sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
- };
- dependencies = [
- "rspec-support"
- ];
- };
- "rspec-expectations" = {
- version = "3.3.1";
- source = {
- type = "gem";
- sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
- };
- dependencies = [
- "diff-lcs"
- "rspec-support"
- ];
- };
- "rspec-mocks" = {
- version = "3.3.2";
- source = {
- type = "gem";
- sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
- };
- dependencies = [
- "diff-lcs"
- "rspec-support"
- ];
- };
- "rspec-rails" = {
- version = "3.3.3";
- source = {
- type = "gem";
- sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
- };
- dependencies = [
- "actionpack"
- "activesupport"
- "railties"
- "rspec-core"
- "rspec-expectations"
- "rspec-mocks"
- "rspec-support"
- ];
- };
- "rspec-support" = {
- version = "3.3.0";
- source = {
- type = "gem";
- sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
- };
- };
- "rubocop" = {
- version = "0.28.0";
- source = {
- type = "gem";
- sha256 = "07n4gha1dp1n15np5v8p58980lsiys3wa9h39lrvnzxgq18m3c4d";
- };
- dependencies = [
- "astrolabe"
- "parser"
- "powerpack"
- "rainbow"
- "ruby-progressbar"
- ];
- };
- "ruby-fogbugz" = {
- version = "0.2.1";
- source = {
- type = "gem";
- sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
- };
- dependencies = [
- "crack"
- ];
- };
- "ruby-progressbar" = {
- version = "1.7.5";
- source = {
- type = "gem";
- sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
- };
- };
- "ruby-saml" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "0hqn49ca2ln5ybc77vpm1vs0szk3pyrz3hnbkbqrkp864mniisi4";
- };
- dependencies = [
- "nokogiri"
- "uuid"
- ];
- };
- "ruby2ruby" = {
- version = "2.1.4";
- source = {
- type = "gem";
- sha256 = "1h0bwjivcsazfd9j9phs640xxqwgvggj9kmafin88ahf7j77spim";
- };
- dependencies = [
- "ruby_parser"
- "sexp_processor"
- ];
- };
- "ruby_parser" = {
- version = "3.5.0";
- source = {
- type = "gem";
- sha256 = "1l1lzbn5ywfsg8m8cvxwb415p1816ikvjqnsh5as9h4g1vcknw3y";
- };
- dependencies = [
- "sexp_processor"
- ];
- };
- "rubyntlm" = {
- version = "0.5.2";
- source = {
- type = "gem";
- sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
- };
- };
- "rubypants" = {
- version = "0.2.0";
- source = {
- type = "gem";
- sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
- };
- };
- "rugged" = {
- version = "0.22.2";
- source = {
- type = "gem";
- sha256 = "179pnnvlsrwd96csmhwhy45y4f5p7qh3xcbg6v3hdv5m9qqcirpp";
- };
- };
- "safe_yaml" = {
- version = "1.0.4";
- source = {
- type = "gem";
- sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
- };
- };
- "sanitize" = {
- version = "2.1.0";
- source = {
- type = "gem";
- sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
- };
- dependencies = [
- "nokogiri"
- ];
- };
- "sass" = {
- version = "3.2.19";
- source = {
- type = "gem";
- sha256 = "1b5z55pmban9ry7k572ghmpcz9h04nbrdhdfpcz8zaldv5v7vkfx";
- };
- };
- "sass-rails" = {
- version = "4.0.5";
- source = {
- type = "gem";
- sha256 = "1nw78ijbxpaf0pdr6c0jx63nna1l9m8s1mmb4m3g2clx0i0xm4wb";
- };
- dependencies = [
- "railties"
- "sass"
- "sprockets"
- "sprockets-rails"
- ];
- };
- "sawyer" = {
- version = "0.6.0";
- source = {
- type = "gem";
- sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
- };
- dependencies = [
- "addressable"
- "faraday"
- ];
- };
- "sdoc" = {
- version = "0.3.20";
- source = {
- type = "gem";
- sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
- };
- dependencies = [
- "json"
- "rdoc"
- ];
- };
- "seed-fu" = {
- version = "2.3.5";
- source = {
- type = "gem";
- sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
- };
- dependencies = [
- "activerecord"
- "activesupport"
- ];
- };
- "select2-rails" = {
- version = "3.5.9.3";
- source = {
- type = "gem";
- sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
- };
- dependencies = [
- "thor"
- ];
- };
- "settingslogic" = {
- version = "2.0.9";
- source = {
- type = "gem";
- sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
- };
- };
- "sexp_processor" = {
- version = "4.6.0";
- source = {
- type = "gem";
- sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
- };
- };
- "sham_rack" = {
- version = "1.3.6";
- source = {
- type = "gem";
- sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
- };
- dependencies = [
- "rack"
- ];
- };
- "shellany" = {
- version = "0.0.1";
- source = {
- type = "gem";
- sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
- };
- };
- "shoulda-matchers" = {
- version = "2.8.0";
- source = {
- type = "gem";
- sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
- };
- dependencies = [
- "activesupport"
- ];
- };
- "sidekiq" = {
- version = "3.3.0";
- source = {
- type = "gem";
- sha256 = "0xwy2n4jaja82gw11q1qsqc2jp7hp2asxhfr0gkfb58wj7k5y32l";
- };
- dependencies = [
- "celluloid"
- "connection_pool"
- "json"
- "redis"
- "redis-namespace"
- ];
- };
- "sidetiq" = {
- version = "0.6.3";
- source = {
- type = "gem";
- sha256 = "1sylv1nyrn7w3782fh0f5svjqricr53vacf4kkvx3l2azzymc2am";
- };
- dependencies = [
- "celluloid"
- "ice_cube"
- "sidekiq"
- ];
- };
- "simple_oauth" = {
- version = "0.1.9";
- source = {
- type = "gem";
- sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
- };
- };
- "simplecov" = {
- version = "0.10.0";
- source = {
- type = "gem";
- sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
- };
- dependencies = [
- "docile"
- "json"
- "simplecov-html"
- ];
- };
- "simplecov-html" = {
- version = "0.10.0";
- source = {
- type = "gem";
- sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
- };
- };
- "sinatra" = {
- version = "1.4.6";
- source = {
- type = "gem";
- sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
- };
- dependencies = [
- "rack"
- "rack-protection"
- "tilt"
- ];
- };
- "six" = {
- version = "0.2.0";
- source = {
- type = "gem";
- sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
- };
- };
- "slack-notifier" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "0v4kd0l83shmk17qb35lighxjq9j7g3slnkrsyiy36kaqcfrjm97";
- };
- };
- "slim" = {
- version = "2.0.3";
- source = {
- type = "gem";
- sha256 = "1z279vis4z2xsjzf568pxcl2gd1az760ij13d6qzx400mgn7nqxs";
- };
- dependencies = [
- "temple"
- "tilt"
- ];
- };
- "slop" = {
- version = "3.6.0";
- source = {
- type = "gem";
- sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
- };
- };
- "spinach" = {
- version = "0.8.10";
- source = {
- type = "gem";
- sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
- };
- dependencies = [
- "colorize"
- "gherkin-ruby"
- "json"
- ];
- };
- "spinach-rails" = {
- version = "0.2.1";
- source = {
- type = "gem";
- sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
- };
- dependencies = [
- "capybara"
- "railties"
- "spinach"
- ];
- };
- "spring" = {
- version = "1.3.6";
- source = {
- type = "gem";
- sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
- };
- };
- "spring-commands-rspec" = {
- version = "1.0.4";
- source = {
- type = "gem";
- sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
- };
- dependencies = [
- "spring"
- ];
- };
- "spring-commands-spinach" = {
- version = "1.0.0";
- source = {
- type = "gem";
- sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
- };
- dependencies = [
- "spring"
- ];
- };
- "spring-commands-teaspoon" = {
- version = "0.0.2";
- source = {
- type = "gem";
- sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
- };
- dependencies = [
- "spring"
- ];
- };
- "sprockets" = {
- version = "2.12.4";
- source = {
- type = "gem";
- sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
- };
- dependencies = [
- "hike"
- "multi_json"
- "rack"
- "tilt"
- ];
- };
- "sprockets-rails" = {
- version = "2.3.2";
- source = {
- type = "gem";
- sha256 = "1pk2a69cxirg2dkkpl5cr3fvrj1qgifw1fmpz1ggkcziwxajyg6d";
- };
- dependencies = [
- "actionpack"
- "activesupport"
- "sprockets"
- ];
- };
- "stamp" = {
- version = "0.5.0";
- source = {
- type = "gem";
- sha256 = "1w54kxm4sd4za9rhrkl5lqjbsalhziq95sr3nnwr1lqc00nn5mhs";
- };
- };
- "state_machine" = {
- version = "1.2.0";
- source = {
- type = "gem";
- sha256 = "1vf25h443b1s98d2lhd1w3rgam86pjsjhz632f3yrfkn374xvz40";
- };
- };
- "stringex" = {
- version = "2.5.2";
- source = {
type = "gem";
- sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
};
+ version = "0.5.3";
};
- "systemu" = {
- version = "2.6.5";
+ http-cookie = {
+ dependencies = ["domain_name"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
type = "gem";
- sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
};
- };
- "task_list" = {
version = "1.0.2";
- source = {
- type = "gem";
- sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
- };
- dependencies = [
- "html-pipeline"
- ];
};
- "teaspoon" = {
- version = "1.0.2";
+ html2haml = {
+ dependencies = ["erubis" "haml" "nokogiri" "ruby_parser"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "069zcy8lr010hn4qmbi8g5srdf69brk8nbgx4zcqcgbgsl4m8d4i";
type = "gem";
- sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
};
- dependencies = [
- "railties"
- ];
- };
- "teaspoon-jasmine" = {
- version = "2.2.0";
- source = {
- type = "gem";
- sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
- };
- dependencies = [
- "teaspoon"
- ];
- };
- "temple" = {
- version = "0.6.10";
- source = {
- type = "gem";
- sha256 = "1lzz4bisg97725m1q62jhmcxklfhky7g326d0b7p2q0kjx262q81";
- };
- };
- "term-ansicolor" = {
- version = "1.3.2";
- source = {
- type = "gem";
- sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
- };
- dependencies = [
- "tins"
- ];
- };
- "terminal-table" = {
- version = "1.5.2";
- source = {
- type = "gem";
- sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
- };
- };
- "test_after_commit" = {
- version = "0.2.7";
- source = {
- type = "gem";
- sha256 = "179dgdpsmn9lcxxkyrxxvmyj4x3xi9sdq80l3zfqcgprnbxavbp7";
- };
- dependencies = [
- "activerecord"
- ];
- };
- "thin" = {
- version = "1.6.3";
- source = {
- type = "gem";
- sha256 = "1m56aygh5rh8ncp3s2gnn8ghn5ibkk0bg6s3clmh1vzaasw2lj4i";
- };
- dependencies = [
- "daemons"
- "eventmachine"
- "rack"
- ];
- };
- "thor" = {
- version = "0.19.1";
- source = {
- type = "gem";
- sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
- };
- };
- "thread_safe" = {
- version = "0.3.5";
- source = {
- type = "gem";
- sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
- };
- };
- "tilt" = {
- version = "1.4.1";
- source = {
- type = "gem";
- sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
- };
- };
- "timers" = {
- version = "4.0.4";
- source = {
- type = "gem";
- sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz";
- };
- dependencies = [
- "hitimes"
- ];
- };
- "timfel-krb5-auth" = {
- version = "0.8.3";
- source = {
- type = "gem";
- sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
- };
- };
- "tinder" = {
- version = "1.9.4";
- source = {
- type = "gem";
- sha256 = "0gl5kln3dgybgarksk2ly4y0wy2lljsh59idfllwzynap8hx9jar";
- };
- dependencies = [
- "eventmachine"
- "faraday"
- "faraday_middleware"
- "hashie"
- "json"
- "mime-types"
- "multi_json"
- "twitter-stream"
- ];
- };
- "tins" = {
- version = "1.6.0";
- source = {
- type = "gem";
- sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
- };
- };
- "trollop" = {
- version = "2.1.2";
- source = {
- type = "gem";
- sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8";
- };
- };
- "turbolinks" = {
- version = "2.5.3";
- source = {
- type = "gem";
- sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
- };
- dependencies = [
- "coffee-rails"
- ];
- };
- "twitter-stream" = {
- version = "0.1.16";
- source = {
- type = "gem";
- sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
- };
- dependencies = [
- "eventmachine"
- "http_parser.rb"
- "simple_oauth"
- ];
- };
- "tzinfo" = {
- version = "1.2.2";
- source = {
- type = "gem";
- sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
- };
- dependencies = [
- "thread_safe"
- ];
- };
- "uglifier" = {
- version = "2.3.3";
- source = {
- type = "gem";
- sha256 = "0v45v2hccmadxpqrlk8gj9sgyak4d6838014wizdvzkh8sy23nvr";
- };
- dependencies = [
- "execjs"
- "json"
- ];
- };
- "underscore-rails" = {
- version = "1.4.4";
- source = {
- type = "gem";
- sha256 = "1xg3dfym38gj5zsjxpf1v5cz4j6gysirv9bgc5ls37krixkajag2";
- };
- };
- "unf" = {
- version = "0.1.4";
- source = {
- type = "gem";
- sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
- };
- dependencies = [
- "unf_ext"
- ];
- };
- "unf_ext" = {
- version = "0.0.7.1";
- source = {
- type = "gem";
- sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
- };
- };
- "unicorn" = {
- version = "4.8.3";
- source = {
- type = "gem";
- sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
- };
- dependencies = [
- "kgio"
- "rack"
- "raindrops"
- ];
- };
- "unicorn-worker-killer" = {
- version = "0.4.3";
- source = {
- type = "gem";
- sha256 = "0hhss1bwammh7nhplcj90455h79yq10c30npz4lpcsgw7vcpls00";
- };
- dependencies = [
- "get_process_mem"
- "unicorn"
- ];
- };
- "uuid" = {
- version = "2.3.8";
- source = {
- type = "gem";
- sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
- };
- dependencies = [
- "macaddr"
- ];
- };
- "version_sorter" = {
version = "2.0.0";
- source = {
- type = "gem";
- sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
- };
};
- "virtus" = {
- version = "1.0.5";
+ html-pipeline = {
+ dependencies = ["activesupport" "nokogiri"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
type = "gem";
- sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
};
- dependencies = [
- "axiom-types"
- "coercible"
- "descendants_tracker"
- "equalizer"
- ];
+ version = "1.11.0";
};
- "warden" = {
+ hipchat = {
+ dependencies = ["httparty" "mimemagic"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
+ type = "gem";
+ };
+ version = "1.5.2";
+ };
+ hike = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
+ type = "gem";
+ };
version = "1.2.3";
- source = {
- type = "gem";
- sha256 = "0ykzsgwml0pdqn6vdjjaix12gpcgn8b126z9fx7yq3r3bmdrwxlp";
- };
- dependencies = [
- "rack"
- ];
};
- "webmock" = {
- version = "1.21.0";
+ highline = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
type = "gem";
- sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
};
- dependencies = [
- "addressable"
- "crack"
- ];
+ version = "1.7.8";
};
- "websocket-driver" = {
- version = "0.6.2";
+ hashie = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1iv5hd0zcryprx9lbcm615r3afc0d6rhc27clywmhhgpx68k8899";
type = "gem";
- sha256 = "0y4kc2q2g69i4xdcn85bn7v7g6ia3znr687aivakmlzcanyiz7in";
};
- dependencies = [
- "websocket-extensions"
- ];
+ version = "3.4.3";
};
- "websocket-extensions" = {
- version = "0.1.2";
+ haml-rails = {
+ dependencies = ["actionpack" "activesupport" "haml" "html2haml" "railties"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hbfznkxab663hxp1v6gpsa7sv6w1fnw9r8b3flixwylnwh3c5dz";
type = "gem";
- sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
};
+ version = "0.9.0";
};
- "whenever" = {
- version = "0.8.4";
+ haml = {
+ dependencies = ["tilt"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
type = "gem";
- sha256 = "1bs602cf5rmmj03chn8vwidx0z1psyfyabq6gs3mqna524pnj9h2";
};
- dependencies = [
- "activesupport"
- "chronic"
- ];
+ version = "4.0.7";
};
- "wikicloth" = {
- version = "0.8.1";
+ grape-entity = {
+ dependencies = ["activesupport" "multi_json"];
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
type = "gem";
- sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
};
- dependencies = [
- "builder"
- "expression_parser"
- "rinku"
- ];
+ version = "0.4.8";
};
- "xpath" = {
+ grape = {
+ dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "rack" "rack-accept" "rack-mount" "virtus"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1dxfal5jspxq612jjkqbd7xgp5dswdyllbbfq6fj2m7s21pismmh";
+ type = "gem";
+ };
+ version = "0.13.0";
+ };
+ gon = {
+ dependencies = ["actionpack" "json" "multi_json" "request_store"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1f359cd9zsa4nrng35bij5skvjrj5ywn2dhmlg41b97vmza26bxr";
+ type = "gem";
+ };
+ version = "6.0.1";
+ };
+ gollum-lib = {
+ dependencies = ["github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
+ type = "gem";
+ };
+ version = "4.1.0";
+ };
+ gollum-grit_adapter = {
+ dependencies = ["gitlab-grit"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ globalid = {
+ dependencies = ["activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291";
+ type = "gem";
+ };
+ version = "0.3.6";
+ };
+ gitlab_omniauth-ldap = {
+ dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
+ type = "gem";
+ };
+ version = "1.2.1";
+ };
+ gitlab_meta = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
+ type = "gem";
+ };
+ version = "7.0";
+ };
+ gitlab_git = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0311dl4vh6h7k8xarmpr61fndrhbmfskzjzkkj1rr8321gn8znfv";
+ type = "gem";
+ };
+ version = "8.2.0";
+ };
+ gitlab_emoji = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1dy746icdmyc548mb5xkavvkn37pk7vv3gznx0p6hff325pan8dj";
+ type = "gem";
+ };
+ version = "0.3.1";
+ };
+ gitlab-grit = {
+ dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
+ type = "gem";
+ };
+ version = "2.7.3";
+ };
+ gitlab-flowdock-git-hook = {
+ dependencies = ["flowdock" "gitlab-grit" "multi_json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
+ type = "gem";
+ };
+ version = "1.0.1";
+ };
+ github-markup = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
+ type = "gem";
+ };
+ version = "1.3.3";
+ };
+ github-linguist = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1xxm2lbabkc1xmx2myv56a4fkw3wwg9n8w2bzwrl4s33kf6x62ag";
+ type = "gem";
+ };
+ version = "4.7.5";
+ };
+ gherkin-ruby = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
+ type = "gem";
+ };
+ version = "0.3.2";
+ };
+ get_process_mem = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
+ type = "gem";
+ };
+ version = "0.2.0";
+ };
+ gemojione = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0av60lajn64z1csmkzfaf5wvpd3x48lcshiknkqr8m0zx3sg7w3h";
+ type = "gem";
+ };
+ version = "2.2.1";
+ };
+ gemnasium-gitlab-service = {
+ dependencies = ["rugged"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
+ type = "gem";
+ };
+ version = "0.2.6";
+ };
+ fuubar = {
+ dependencies = ["rspec" "ruby-progressbar"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
+ type = "gem";
+ };
version = "2.0.0";
+ };
+ formatador = {
source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
type = "gem";
- sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
};
- dependencies = [
- "nokogiri"
- ];
+ version = "0.2.5";
+ };
+ foreman = {
+ dependencies = ["thor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
+ type = "gem";
+ };
+ version = "0.78.0";
+ };
+ font-awesome-rails = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "09x1bg98sp2v1lsg9h2bal915q811xq84h9d74p1f3378ga63c1x";
+ type = "gem";
+ };
+ version = "4.5.0.0";
+ };
+ fog-xml = {
+ dependencies = ["fog-core" "nokogiri"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
+ type = "gem";
+ };
+ version = "0.1.2";
+ };
+ fog-xenserver = {
+ dependencies = ["fog-core" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ngw8hh8ljk7wi0cp8n4b4jcy2acx0yqzjk7851m3mp0kji5dlgl";
+ type = "gem";
+ };
+ version = "0.2.2";
+ };
+ fog-voxel = {
+ dependencies = ["fog-core" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-vmfusion = {
+ dependencies = ["fission" "fog-core"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-terremark = {
+ dependencies = ["fog-core" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-storm_on_demand = {
+ dependencies = ["fog-core" "fog-json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0fif1x8ci095b2yyilf65n7x6iyvn448azrsnmwsdkriy8vxxv3y";
+ type = "gem";
+ };
+ version = "0.1.1";
+ };
+ fog-softlayer = {
+ dependencies = ["fog-core" "fog-json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1zax2wws0q8pm787jnlxd2xlj23f2acz0s6jl5nzczyxjgll571r";
+ type = "gem";
+ };
+ version = "1.0.3";
+ };
+ fog-serverlove = {
+ dependencies = ["fog-core" "fog-json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hxgmwzygrw25rbsy05i6nzsyr0xl7xj5j2sjpkb9n9wli5sagci";
+ type = "gem";
+ };
+ version = "0.1.2";
+ };
+ fog-sakuracloud = {
+ dependencies = ["fog-core" "fog-json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "08krsn9sk5sx0aza812g31r169bd0zanb8pq5am3a64j6azarimd";
+ type = "gem";
+ };
+ version = "1.7.5";
+ };
+ fog-riakcs = {
+ dependencies = ["fog-core" "fog-json" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-radosgw = {
+ dependencies = ["fog-core" "fog-json" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nslgv8yp5qkiryj3zsm91gs7s6i626igj61kwxjjwk2yv6swyr6";
+ type = "gem";
+ };
+ version = "0.0.5";
+ };
+ fog-profitbricks = {
+ dependencies = ["fog-core" "fog-xml" "nokogiri"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
+ type = "gem";
+ };
+ version = "0.0.5";
+ };
+ fog-powerdns = {
+ dependencies = ["fog-core" "fog-json" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "08zavzwfkk344gz83phz4sy9nsjznsdjsmn1ifp6ja17bvydlhh7";
+ type = "gem";
+ };
+ version = "0.1.1";
+ };
+ fog-local = {
+ dependencies = ["fog-core"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0i5hxwzmc2ag3z9nlligsaf679kp2pz39cd8n2s9cmxaamnlh2s3";
+ type = "gem";
+ };
+ version = "0.2.1";
+ };
+ fog-json = {
+ dependencies = ["fog-core" "multi_json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
+ type = "gem";
+ };
+ version = "1.0.2";
+ };
+ fog-google = {
+ dependencies = ["fog-core" "fog-json" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0z4vmswpqwph04c0wqzrscns1d1wdm8kbxx457bv156mawzrhfj3";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-ecloud = {
+ dependencies = ["fog-core" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "18rb4qjad9xwwqvvpj8r2h0hi9svy71pm4d3fc28cdcnfarmdi06";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ fog-dynect = {
+ dependencies = ["fog-core" "fog-json" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "18lqmdkm22254z86jh3aa9v9vqk8bgbd3d1m0w7az3ij47ak7kch";
+ type = "gem";
+ };
+ version = "0.0.2";
+ };
+ fog-core = {
+ dependencies = ["builder" "excon" "formatador"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "02z91r3f5a64hlalm6h39v0778yl2kk3qvva0zvplpp9hpwbwzhl";
+ type = "gem";
+ };
+ version = "1.35.0";
+ };
+ fog-brightbox = {
+ dependencies = ["fog-core" "fog-json" "inflecto"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0p7rbx587hb1d1am90dcr3zdp6y50c2zddh97yfgl62vji0pbkkd";
+ type = "gem";
+ };
+ version = "0.10.1";
+ };
+ fog-aws = {
+ dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1pzfahq8h3alfflb5dr8lm02q27x81vm96qn5zyfdlx86yy7bq96";
+ type = "gem";
+ };
+ version = "0.8.1";
+ };
+ fog-atmos = {
+ dependencies = ["fog-core" "fog-xml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog-aliyun = {
+ dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1i76g8sdskyfc0gcnd6n9i757s7dmwg3wf6spcr2xh8wzyxkm1pj";
+ type = "gem";
+ };
+ version = "0.1.0";
+ };
+ fog = {
+ dependencies = ["fog-aliyun" "fog-atmos" "fog-aws" "fog-brightbox" "fog-core" "fog-dynect" "fog-ecloud" "fog-google" "fog-json" "fog-local" "fog-powerdns" "fog-profitbricks" "fog-radosgw" "fog-riakcs" "fog-sakuracloud" "fog-serverlove" "fog-softlayer" "fog-storm_on_demand" "fog-terremark" "fog-vmfusion" "fog-voxel" "fog-xenserver" "fog-xml" "ipaddress" "nokogiri"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ml31jdycqdm8w7w3l9pbyrgbnmrrnhmkppa2x4bwi9as1n1jmwq";
+ type = "gem";
+ };
+ version = "1.36.0";
+ };
+ flowdock = {
+ dependencies = ["httparty" "multi_json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
+ type = "gem";
+ };
+ version = "0.7.1";
+ };
+ flog = {
+ dependencies = ["ruby_parser" "sexp_processor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1asrcdj6gh5mxcimqak94jjyyi5cxnqn904lc8pmrljg1nv1bxpm";
+ type = "gem";
+ };
+ version = "4.3.2";
+ };
+ flay = {
+ dependencies = ["ruby_parser" "sexp_processor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0zcp9nmnfqixdcqa2dzwwjy5np4n2n16bj25gw7bbzbjp9hqzhn6";
+ type = "gem";
+ };
+ version = "2.6.1";
+ };
+ fission = {
+ dependencies = ["CFPropertyList"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
+ type = "gem";
+ };
+ version = "0.5.0";
+ };
+ ffi = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
+ type = "gem";
+ };
+ version = "1.9.10";
+ };
+ ffaker = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
+ type = "gem";
+ };
+ version = "2.0.0";
+ };
+ fastercsv = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
+ type = "gem";
+ };
+ version = "1.5.5";
+ };
+ faraday_middleware-multi_json = {
+ dependencies = ["faraday_middleware" "multi_json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
+ type = "gem";
+ };
+ version = "0.0.6";
+ };
+ faraday_middleware = {
+ dependencies = ["faraday"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
+ type = "gem";
+ };
+ version = "0.10.0";
+ };
+ faraday = {
+ dependencies = ["multipart-post"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
+ type = "gem";
+ };
+ version = "0.9.2";
+ };
+ factory_girl_rails = {
+ dependencies = ["factory_girl" "railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
+ type = "gem";
+ };
+ version = "4.3.0";
+ };
+ factory_girl = {
+ dependencies = ["activesupport"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
+ type = "gem";
+ };
+ version = "4.3.0";
+ };
+ expression_parser = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+ type = "gem";
+ };
+ version = "0.9.0";
+ };
+ execjs = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
+ type = "gem";
+ };
+ version = "2.6.0";
+ };
+ excon = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
+ type = "gem";
+ };
+ version = "0.45.4";
+ };
+ eventmachine = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
+ type = "gem";
+ };
+ version = "1.0.8";
+ };
+ escape_utils = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hb8nmrgmd9n5dhih86fp91sf26mmw14sdn5vswg5g20svrqxc7x";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+ erubis = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+ type = "gem";
+ };
+ version = "2.7.0";
+ };
+ equalizer = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
+ type = "gem";
+ };
+ version = "0.0.11";
+ };
+ encryptor = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
+ type = "gem";
+ };
+ version = "1.3.0";
+ };
+ email_spec = {
+ dependencies = ["launchy" "mail"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
+ type = "gem";
+ };
+ version = "1.6.0";
+ };
+ email_reply_parser = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
+ type = "gem";
+ };
+ version = "0.5.8";
+ };
+ dropzonejs-rails = {
+ dependencies = ["rails"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64";
+ type = "gem";
+ };
+ version = "0.7.2";
+ };
+ doorkeeper = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0wim84wkvx758cfb8q92w3hhvnfbwr990x1mmfv1ss1ivjz8fmm0";
+ type = "gem";
+ };
+ version = "2.2.2";
+ };
+ domain_name = {
+ dependencies = ["unf"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav";
+ type = "gem";
+ };
+ version = "0.5.25";
+ };
+ docile = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+ type = "gem";
+ };
+ version = "1.1.5";
+ };
+ diffy = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
+ type = "gem";
+ };
+ version = "3.0.7";
+ };
+ diff-lcs = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+ type = "gem";
+ };
+ version = "1.2.5";
+ };
+ devise-two-factor = {
+ dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1v2wva971ds48af47rj4ywavlmz7qzbmf1jpf1l3xn3mscz52hln";
+ type = "gem";
+ };
+ version = "2.0.1";
+ };
+ devise-async = {
+ dependencies = ["devise"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
+ type = "gem";
+ };
+ version = "0.9.0";
+ };
+ devise = {
+ dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "thread_safe" "warden"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00h0xdl4a8pjpb0gbgy4w6q9j2mpczkmj23195zmjrg2b1gl8f2q";
+ type = "gem";
+ };
+ version = "3.5.4";
+ };
+ descendants_tracker = {
+ dependencies = ["thread_safe"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
+ type = "gem";
+ };
+ version = "0.0.4";
+ };
+ default_value_for = {
+ dependencies = ["activerecord"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
+ type = "gem";
+ };
+ version = "3.0.1";
+ };
+ debugger-ruby_core_source = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
+ type = "gem";
+ };
+ version = "1.3.8";
+ };
+ debug_inspector = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
+ type = "gem";
+ };
+ version = "0.0.2";
+ };
+ database_cleaner = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
+ type = "gem";
+ };
+ version = "1.4.1";
+ };
+ daemons = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
+ type = "gem";
+ };
+ version = "1.2.3";
+ };
+ d3_rails = {
+ dependencies = ["railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "12vxiiflnnkcxak2wmbajyf5wzmcv9wkl4drsp0am72azl8a6g9x";
+ type = "gem";
+ };
+ version = "3.5.11";
+ };
+ creole = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
+ type = "gem";
+ };
+ version = "0.5.0";
+ };
+ crack = {
+ dependencies = ["safe_yaml"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
+ type = "gem";
+ };
+ version = "0.4.3";
+ };
+ coveralls = {
+ dependencies = ["json" "rest-client" "simplecov" "term-ansicolor" "thor" "tins"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "03vnvcw1fdmkp3405blcxpsjf89jxd2061474a32fchsmv2das9y";
+ type = "gem";
+ };
+ version = "0.8.9";
+ };
+ connection_pool = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
+ type = "gem";
+ };
+ version = "2.2.0";
+ };
+ concurrent-ruby = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0qqdgcfkzv90nznrpsvg3cgg5xiqz4c8hnv7va5gm4fp4lf4k85v";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ colorize = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "16bsjcqb6pg3k94dh1l5g3hhx5g2g4g8rlr76dnc78yyzjjrbayn";
+ type = "gem";
+ };
+ version = "0.7.7";
+ };
+ coffee-script-source = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
+ type = "gem";
+ };
+ version = "1.10.0";
+ };
+ coffee-script = {
+ dependencies = ["coffee-script-source" "execjs"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
+ type = "gem";
+ };
+ version = "2.4.1";
+ };
+ coffee-rails = {
+ dependencies = ["coffee-script" "railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
+ type = "gem";
+ };
+ version = "4.1.0";
+ };
+ coercible = {
+ dependencies = ["descendants_tracker"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ coderay = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+ cliver = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
+ type = "gem";
+ };
+ version = "0.3.2";
+ };
+ chunky_png = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
+ type = "gem";
+ };
+ version = "1.3.5";
+ };
+ charlock_holmes = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
+ type = "gem";
+ };
+ version = "0.7.3";
+ };
+ cause = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
+ type = "gem";
+ };
+ version = "0.1";
+ };
+ carrierwave = {
+ dependencies = ["activemodel" "activesupport" "json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
+ type = "gem";
+ };
+ version = "0.9.0";
+ };
+ capybara-screenshot = {
+ dependencies = ["capybara" "launchy"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
+ type = "gem";
+ };
+ version = "1.0.11";
+ };
+ capybara = {
+ dependencies = ["mime-types" "nokogiri" "rack" "rack-test" "xpath"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
+ type = "gem";
+ };
+ version = "2.4.4";
+ };
+ cal-heatmap-rails = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0lrmcyj3iixkprqi9fb9vcn97wpp779sl5hxxgx57r3rb7l4d20w";
+ type = "gem";
+ };
+ version = "3.5.1";
+ };
+ byebug = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1yx89b7vh5mbvxyi8n7zl25ia1bqdj71995m4daj6d41rnkmrpnc";
+ type = "gem";
+ };
+ version = "8.2.1";
+ };
+ bundler-audit = {
+ dependencies = ["thor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0msv3k2277y7al5lbnw7q9lmb5fnrscpkmsb36wpn189pdq0akfv";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ bullet = {
+ dependencies = ["activesupport" "uniform_notifier"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1h3iaflcz5a1xr32bdb8sk4nx06yhh5d8y7w294w49xigfv4hzj3";
+ type = "gem";
+ };
+ version = "4.14.10";
+ };
+ builder = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
+ type = "gem";
+ };
+ version = "3.2.2";
+ };
+ browser = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01bkb64w2ld2q5r3chc4f6spbjrmginyg8wlzg130zmx2z4jia2h";
+ type = "gem";
+ };
+ version = "1.0.1";
+ };
+ brakeman = {
+ dependencies = ["erubis" "fastercsv" "haml" "highline" "multi_json" "ruby2ruby" "ruby_parser" "safe_yaml" "sass" "slim" "terminal-table"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15v13yizpvp1rm86raqggmsmm51v6p8fqw3pfgi6xpvx1ba06cfm";
+ type = "gem";
+ };
+ version = "3.1.4";
+ };
+ bootstrap-sass = {
+ dependencies = ["autoprefixer-rails" "sass"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "12hhw42hk9clwfj6yz5v0c5p35wrn5yjnji7bnzsfs99vi2q00ld";
+ type = "gem";
+ };
+ version = "3.3.6";
+ };
+ binding_of_caller = {
+ dependencies = ["debug_inspector"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
+ type = "gem";
+ };
+ version = "0.7.2";
+ };
+ better_errors = {
+ dependencies = ["coderay" "erubis"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
+ type = "gem";
+ };
+ version = "1.0.1";
+ };
+ benchmark-ips = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
+ type = "gem";
+ };
+ version = "2.3.0";
+ };
+ bcrypt = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
+ type = "gem";
+ };
+ version = "3.1.10";
+ };
+ babosa = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
+ type = "gem";
+ };
+ version = "1.0.2";
+ };
+ axiom-types = {
+ dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
+ type = "gem";
+ };
+ version = "0.1.1";
+ };
+ awesome_print = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
+ type = "gem";
+ };
+ version = "1.2.0";
+ };
+ autoprefixer-rails = {
+ dependencies = ["execjs" "json"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0m1w42ncz0p48r5hbyglayxkzrnplw18r99dc1ia2cb3nizkwllx";
+ type = "gem";
+ };
+ version = "6.2.3";
+ };
+ attr_required = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
+ type = "gem";
+ };
+ version = "1.0.0";
+ };
+ attr_encrypted = {
+ dependencies = ["encryptor"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
+ type = "gem";
+ };
+ version = "1.3.4";
+ };
+ astrolabe = {
+ dependencies = ["parser"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
+ type = "gem";
+ };
+ version = "1.3.1";
+ };
+ ast = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
+ type = "gem";
+ };
+ version = "2.1.0";
+ };
+ asciidoctor = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0q9yhan2mkk1lh15zcfd9g2fn6faix9yrf5skg23dp1y77jv7vm0";
+ type = "gem";
+ };
+ version = "1.5.3";
+ };
+ asana = {
+ dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1560p13g57pl4xqkmhwn1vpqhm7mw9fwmmswk38k3i2r7g0b5y9z";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ arel = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
+ type = "gem";
+ };
+ version = "6.0.3";
+ };
+ annotate = {
+ dependencies = ["activerecord" "rake"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
+ type = "gem";
+ };
+ version = "2.6.10";
+ };
+ allocations = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0iynf7gkbnbr5mgl2wgbgvxmjdiawh7ywwbnyjm94bj3pkybzgkc";
+ type = "gem";
+ };
+ version = "1.0.4";
+ };
+ akismet = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
+ type = "gem";
+ };
+ version = "2.0.0";
+ };
+ after_commit_queue = {
+ dependencies = ["activerecord"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1jrhvj4335dsrj0xndbf7a7m2inbwbx1knc0bwgvmkk1w47l43s0";
+ type = "gem";
+ };
+ version = "1.3.0";
+ };
+ addressable = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
+ type = "gem";
+ };
+ version = "2.3.8";
+ };
+ acts-as-taggable-on = {
+ dependencies = ["activerecord"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
+ type = "gem";
+ };
+ version = "3.5.0";
+ };
+ activesupport = {
+ dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "16zgsvzwwf4hx3ywi2lz0dcm6d1ljsy6zr5k2q41amd7g62d886d";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ activerecord-session_store = {
+ dependencies = ["actionpack" "activerecord" "railties"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1rp5q0q5i5syfgw7qpiq3a42x13p7myyv1c5hmnczpdlh57axs3p";
+ type = "gem";
+ };
+ version = "0.1.2";
+ };
+ activerecord-nulldb-adapter = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ym3paxp5lqr2kr4hkqj6xxqvgl57fv8jqhvgjfxb9lk7k5jlfmp";
+ type = "gem";
+ };
+ version = "0.3.2";
+ };
+ activerecord-deprecated_finders = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
+ type = "gem";
+ };
+ version = "1.0.4";
+ };
+ activerecord = {
+ dependencies = ["activemodel" "activesupport" "arel"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1qj5ii36yn9kb0ljnl05xgpgvs7j9l20yg2phsssy0j31g1ymmc5";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ activemodel = {
+ dependencies = ["activesupport" "builder"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1zr83avw82infmzdzpilk6xpv5r9fr8pxgf5ql16b3vysp6va57p";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ activejob = {
+ dependencies = ["activesupport" "globalid"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1xfj7lwp1v3k9zscavzq87wbbn6y825angz4zpx4xsvlwf3dn7jc";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ actionview = {
+ dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1dp1gqh0yxpyydza1ada0jjbpww97qhnkj9c9pm9rg5jbmpzg12m";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ actionpack = {
+ dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "13shdiwjfyqvfb11k0wqhcd7p7ix168fxd5l8m2pnn0bzskpswxv";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ actionmailer = {
+ dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1fxn8f53nnpgan5xl9i5lszl1m8yk4q6ayc33d9xfzsnvhavpl4n";
+ type = "gem";
+ };
+ version = "4.2.5.1";
+ };
+ ace-rails-ap = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
+ type = "gem";
+ };
+ version = "2.0.1";
+ };
+ RedCloth = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
+ type = "gem";
+ };
+ version = "4.2.9";
+ };
+ CFPropertyList = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mjb46368z4hiax3fcsgxk14fxrhwnvcmakc2f5sx8nz0wvvkwg2";
+ type = "gem";
+ };
+ version = "2.3.2";
};
}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
new file mode 100644
index 00000000000..0d5c1749e83
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -0,0 +1,29 @@
+index acd1874..f493451 100644
+--- a/Gemfile
++++ b/Gemfile
+@@ -318,3 +318,5 @@ gem 'oauth2', '~> 1.0.0'
+
+ # Soft deletion
+ gem "paranoia", "~> 2.0"
++
++gem "activerecord-nulldb-adapter"
+index 14d2c76..7a010f0 100644
+--- a/Gemfile.lock
++++ b/Gemfile.lock
+@@ -34,6 +34,8 @@ GEM
+ activesupport (= 4.2.5.1)
+ arel (~> 6.0)
+ activerecord-deprecated_finders (1.0.4)
++ activerecord-nulldb-adapter (0.3.2)
++ activerecord (>= 2.0.0)
+ activerecord-session_store (0.1.2)
+ actionpack (>= 4.0.0, < 5)
+ activerecord (>= 4.0.0, < 5)
+@@ -880,6 +882,7 @@ DEPENDENCIES
+ RedCloth (~> 4.2.9)
+ ace-rails-ap (~> 2.0.1)
+ activerecord-deprecated_finders (~> 1.0.3)
++ activerecord-nulldb-adapter
+ activerecord-session_store (~> 0.1.0)
+ acts-as-taggable-on (~> 3.4)
+ addressable (~> 2.3.8)
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index 1df5226c82f..fbf5a05fc4e 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -1,8 +1,8 @@
diff --git a/config/environments/production.rb b/config/environments/production.rb
-index 3316ece..c34dec0 100644
+index 9095266..694a4c5 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
-@@ -67,10 +67,10 @@ Gitlab::Application.configure do
+@@ -67,10 +67,10 @@ Rails.application.configure do
config.action_mailer.delivery_method = :sendmail
# Defaults to:
@@ -18,74 +18,10 @@ index 3316ece..c34dec0 100644
config.action_mailer.raise_delivery_errors = true
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
-index 15930fc..bdb423c 100644
+index 05f127d..6a4ae68 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
-@@ -29,8 +29,8 @@ production: &base
- ## GitLab settings
- gitlab:
- ## Web server settings (note: host is the FQDN, do not include http://)
-- host: localhost
-- port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
-+ host: <%= ENV['GITLAB_HOST'] || 'localhost' %>
-+ port: <%= ENV['GITLAB_PORT'] || 80 %>
- https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
-
- # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
-@@ -43,7 +43,7 @@ production: &base
- # relative_url_root: /gitlab
-
- # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
-- # user: git
-+ user: gitlab
-
- ## Date & Time settings
- # Uncomment and customize if you want to change the default time zone of GitLab application.
-@@ -54,7 +54,7 @@ production: &base
- # Uncomment and set to false if you need to disable email sending from GitLab (default: true)
- # email_enabled: true
- # Email address used in the "From" field in mails sent by GitLab
-- email_from: example@example.com
-+ email_from: <%= ENV['GITLAB_EMAIL_FROM'] %>
- email_display_name: GitLab
- email_reply_to: noreply@example.com
-
-@@ -298,12 +298,12 @@ production: &base
- # GitLab Satellites
- satellites:
- # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
-- path: /home/git/gitlab-satellites/
-+ path: <%= ENV['GITLAB_SATELLITES_PATH'] %>
- timeout: 30
-
- ## Backup settings
- backup:
-- path: "tmp/backups" # Relative paths are relative to Rails.root (default: tmp/backups/)
-+ path: <%= ENV['GITLAB_BACKUP_PATH'] %>
- # archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
- # keep_time: 604800 # default: 0 (forever) (in seconds)
- # pg_schema: public # default: nil, it means that all schemas will be backed up
-@@ -322,15 +322,15 @@ production: &base
-
- ## GitLab Shell settings
- gitlab_shell:
-- path: /home/git/gitlab-shell/
-+ path: <%= ENV['GITLAB_SHELL_PATH'] %>
-
- # REPOS_PATH MUST NOT BE A SYMLINK!!!
-- repos_path: /home/git/repositories/
-- hooks_path: /home/git/gitlab-shell/hooks/
-+ repos_path: <%= ENV['GITLAB_REPOSITORIES_PATH'] %>
-+ hooks_path: <%= ENV['GITLAB_SHELL_HOOKS_PATH'] %>
-
- # File that contains the secret key for verifying access for gitlab-shell.
- # Default is '.gitlab_shell_secret' relative to Rails.root (i.e. root of the GitLab app).
-- # secret_file: /home/git/gitlab/.gitlab_shell_secret
-+ secret_file: <%= ENV['GITLAB_SHELL_SECRET_PATH'] %>
-
- # Git over HTTP
- upload_pack: true
-@@ -343,7 +343,7 @@ production: &base
+@@ -423,7 +423,7 @@ production: &base
# CAUTION!
# Use the default values unless you really know what you are doing
git:
@@ -94,25 +30,81 @@ index 15930fc..bdb423c 100644
# The next value is the maximum memory size grit can use
# Given in number of bytes per git object (e.g. a commit)
# This value can be increased if you have very large commits
-@@ -388,7 +388,7 @@ test:
- gravatar:
- enabled: true
- gitlab:
-- host: localhost
-+ host: <%= ENV['GITLAB_HOST'] %>
- port: 80
-
- # When you run tests we clone and setup gitlab-shell
-diff --git a/lib/gitlab/app_logger.rb b/lib/gitlab/app_logger.rb
-index dddcb25..d61f10a 100644
---- a/lib/gitlab/app_logger.rb
-+++ b/lib/gitlab/app_logger.rb
-@@ -1,7 +1,7 @@
- module Gitlab
- class AppLogger < Gitlab::Logger
- def self.file_name_noext
-- 'application'
-+ ENV["GITLAB_APPLICATION_LOG_PATH"]
+diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
+index 59b2114..4f4a39a 100644
+--- a/lib/gitlab/logger.rb
++++ b/lib/gitlab/logger.rb
+@@ -13,20 +13,20 @@ module Gitlab
end
- def format_message(severity, timestamp, progname, msg)
+ def self.read_latest
+- path = Rails.root.join("log", file_name)
++ path = File.join(ENV["GITLAB_LOG_PATH"], file_name)
+ self.build unless File.exist?(path)
+ tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
+ tail_output.split("\n")
+ end
+
+ def self.read_latest_for(filename)
+- path = Rails.root.join("log", filename)
++ path = File.join(ENV["GITLAB_LOG_PATH"], filename)
+ tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
+ tail_output.split("\n")
+ end
+
+ def self.build
+- new(Rails.root.join("log", file_name))
++ new(File.join(ENV["GITLAB_LOG_PATH"], file_name))
+ end
+ end
+ end
+diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
+index be8fcc7..7642d74 100644
+--- a/lib/gitlab/uploads_transfer.rb
++++ b/lib/gitlab/uploads_transfer.rb
+@@ -29,7 +29,7 @@ module Gitlab
+ end
+
+ def root_dir
+- File.join(Rails.root, "public", "uploads")
++ ENV['GITLAB_UPLOADS_PATH'] || File.join(Rails.root, "public", "uploads")
+ end
+ end
+ end
+diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
+index d59872d..0b8007f 100644
+--- a/lib/tasks/gitlab/check.rake
++++ b/lib/tasks/gitlab/check.rake
+@@ -223,7 +223,7 @@ namespace :gitlab do
+ def check_log_writable
+ print "Log directory writable? ... "
+
+- log_path = Rails.root.join("log")
++ log_path = ENV["GITLAB_LOG_PATH"]
+
+ if File.writable?(log_path)
+ puts "yes".green
+@@ -263,10 +263,12 @@ namespace :gitlab do
+ def check_uploads
+ print "Uploads directory setup correctly? ... "
+
+- unless File.directory?(Rails.root.join('public/uploads'))
++ uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
++
++ unless File.directory?(uploads_dir)
+ puts "no".red
+ try_fixing_it(
+- "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
++ "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
+ )
+ for_more_information(
+ see_installation_guide_section "GitLab"
+@@ -275,7 +277,7 @@ namespace :gitlab do
+ return
+ end
+
+- upload_path = File.realpath(Rails.root.join('public/uploads'))
++ upload_path = File.realpath(Rails.root.join(uploads_dir))
+ upload_path_tmp = File.join(upload_path, 'tmp')
+
+ if File.stat(upload_path).mode == 040700
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3460c19db93..98405112dde 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1703,14 +1703,14 @@ let
gitinspector = callPackage ../applications/version-management/gitinspector { };
gitlab = callPackage ../applications/version-management/gitlab {
- ruby = ruby_2_2_2;
+ ruby = ruby_2_2;
};
gitlab-shell = callPackage ../applications/version-management/gitlab-shell {
- ruby = ruby_2_2_2;
+ ruby = ruby_2_2;
};
- gitlab-git-http-server = callPackage ../applications/version-management/gitlab-git-http-server { };
+ gitlab-workhorse = callPackage ../applications/version-management/gitlab-workhorse { };
git-latexdiff = callPackage ../tools/typesetting/git-latexdiff { };