diff options
Diffstat (limited to 'nixops')
-rw-r--r-- | nixops/modules/websites/tools/diaspora/default.nix | 172 | ||||
-rw-r--r-- | nixops/modules/websites/tools/diaspora/diaspora.json | 15 | ||||
-rw-r--r-- | nixops/modules/websites/tools/diaspora/diaspora.nix | 187 | ||||
-rw-r--r-- | nixops/modules/websites/tools/diaspora/gemset.nix | 3056 | ||||
-rw-r--r-- | nixops/modules/websites/tools/diaspora/ldap.patch | 256 |
5 files changed, 151 insertions, 3535 deletions
diff --git a/nixops/modules/websites/tools/diaspora/default.nix b/nixops/modules/websites/tools/diaspora/default.nix index 0a05daf..53989b7 100644 --- a/nixops/modules/websites/tools/diaspora/default.nix +++ b/nixops/modules/websites/tools/diaspora/default.nix | |||
@@ -1,10 +1,17 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | 1 | { lib, pkgs, config, myconfig, mylibs, ... }: |
2 | let | 2 | let |
3 | diaspora = pkgs.callPackage ./diaspora.nix { | 3 | varDir = "/var/lib/diaspora_immae"; |
4 | inherit (mylibs) fetchedGithub; | 4 | |
5 | env = myconfig.env.tools.diaspora; | 5 | diaspora = pkgs.webapps.diaspora.override { |
6 | ldap = true; | ||
7 | inherit varDir; | ||
8 | podmin_email = "diaspora@tools.immae.eu"; | ||
9 | config_dir = "/var/secrets/webapps/diaspora"; | ||
6 | }; | 10 | }; |
7 | 11 | ||
12 | railsSocket = "${socketsDir}/diaspora.sock"; | ||
13 | socketsDir = "/run/diaspora"; | ||
14 | env = myconfig.env.tools.diaspora; | ||
8 | root = "/run/current-system/webapps/tools_diaspora"; | 15 | root = "/run/current-system/webapps/tools_diaspora"; |
9 | cfg = config.services.myWebsites.tools.diaspora; | 16 | cfg = config.services.myWebsites.tools.diaspora; |
10 | in { | 17 | in { |
@@ -13,23 +20,146 @@ in { | |||
13 | }; | 20 | }; |
14 | 21 | ||
15 | config = lib.mkIf cfg.enable { | 22 | config = lib.mkIf cfg.enable { |
16 | ids.uids.diaspora = myconfig.env.tools.diaspora.user.uid; | 23 | ids.uids.diaspora = env.user.uid; |
17 | ids.gids.diaspora = myconfig.env.tools.diaspora.user.gid; | 24 | ids.gids.diaspora = env.user.gid; |
18 | 25 | ||
19 | users.users.diaspora = { | 26 | users.users.diaspora = { |
20 | name = "diaspora"; | 27 | name = "diaspora"; |
21 | uid = config.ids.uids.diaspora; | 28 | uid = config.ids.uids.diaspora; |
22 | group = "diaspora"; | 29 | group = "diaspora"; |
23 | description = "Diaspora user"; | 30 | description = "Diaspora user"; |
24 | home = diaspora.varDir; | 31 | home = varDir; |
25 | useDefaultShell = true; | 32 | useDefaultShell = true; |
26 | packages = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby ]; | 33 | packages = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby ]; |
27 | extraGroups = [ "keys" ]; | 34 | extraGroups = [ "keys" ]; |
28 | }; | 35 | }; |
29 | 36 | ||
30 | users.groups.diaspora.gid = config.ids.gids.diaspora; | 37 | users.groups.diaspora.gid = config.ids.gids.diaspora; |
38 | mySecrets.keys = [ | ||
39 | { | ||
40 | dest = "webapps/diaspora/diaspora.yml"; | ||
41 | user = "diaspora"; | ||
42 | group = "diaspora"; | ||
43 | permissions = "0400"; | ||
44 | text = '' | ||
45 | configuration: | ||
46 | environment: | ||
47 | url: "https://diaspora.immae.eu/" | ||
48 | certificate_authorities: '${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt' | ||
49 | redis: '${env.redis_url}' | ||
50 | sidekiq: | ||
51 | s3: | ||
52 | assets: | ||
53 | logging: | ||
54 | logrotate: | ||
55 | debug: | ||
56 | server: | ||
57 | listen: '${socketsDir}/diaspora.sock' | ||
58 | rails_environment: 'production' | ||
59 | chat: | ||
60 | server: | ||
61 | bosh: | ||
62 | log: | ||
63 | map: | ||
64 | mapbox: | ||
65 | privacy: | ||
66 | piwik: | ||
67 | statistics: | ||
68 | camo: | ||
69 | settings: | ||
70 | enable_registrations: false | ||
71 | welcome_message: | ||
72 | invitations: | ||
73 | open: false | ||
74 | paypal_donations: | ||
75 | community_spotlight: | ||
76 | captcha: | ||
77 | enable: false | ||
78 | terms: | ||
79 | maintenance: | ||
80 | remove_old_users: | ||
81 | default_metas: | ||
82 | csp: | ||
83 | services: | ||
84 | twitter: | ||
85 | tumblr: | ||
86 | wordpress: | ||
87 | mail: | ||
88 | enable: true | ||
89 | sender_address: 'diaspora@tools.immae.eu' | ||
90 | method: 'sendmail' | ||
91 | smtp: | ||
92 | sendmail: | ||
93 | location: '/run/wrappers/bin/sendmail' | ||
94 | admins: | ||
95 | account: "ismael" | ||
96 | podmin_email: 'diaspora@tools.immae.eu' | ||
97 | relay: | ||
98 | outbound: | ||
99 | inbound: | ||
100 | ldap: | ||
101 | enable: true | ||
102 | host: ldap.immae.eu | ||
103 | port: 636 | ||
104 | only_ldap: true | ||
105 | mail_attribute: mail | ||
106 | skip_email_confirmation: true | ||
107 | use_bind_dn: true | ||
108 | bind_dn: "cn=diaspora,ou=services,dc=immae,dc=eu" | ||
109 | bind_pw: "${env.ldap.password}" | ||
110 | search_base: "dc=immae,dc=eu" | ||
111 | search_filter: "(&(memberOf=cn=users,cn=diaspora,ou=services,dc=immae,dc=eu)(uid=%{username}))" | ||
112 | production: | ||
113 | environment: | ||
114 | development: | ||
115 | environment: | ||
116 | ''; | ||
117 | } | ||
118 | { | ||
119 | dest = "webapps/diaspora/database.yml"; | ||
120 | user = "diaspora"; | ||
121 | group = "diaspora"; | ||
122 | permissions = "0400"; | ||
123 | text = '' | ||
124 | postgresql: &postgresql | ||
125 | adapter: postgresql | ||
126 | host: "${env.postgresql.socket}" | ||
127 | port: "${env.postgresql.port}" | ||
128 | username: "${env.postgresql.user}" | ||
129 | password: "${env.postgresql.password}" | ||
130 | encoding: unicode | ||
131 | common: &common | ||
132 | <<: *postgresql | ||
133 | combined: &combined | ||
134 | <<: *common | ||
135 | development: | ||
136 | <<: *combined | ||
137 | database: diaspora_development | ||
138 | production: | ||
139 | <<: *combined | ||
140 | database: ${env.postgresql.database} | ||
141 | test: | ||
142 | <<: *combined | ||
143 | database: "diaspora_test" | ||
144 | integration1: | ||
145 | <<: *combined | ||
146 | database: diaspora_integration1 | ||
147 | integration2: | ||
148 | <<: *combined | ||
149 | database: diaspora_integration2 | ||
150 | ''; | ||
151 | } | ||
152 | { | ||
153 | dest = "webapps/diaspora/secret_token.rb"; | ||
154 | user = "diaspora"; | ||
155 | group = "diaspora"; | ||
156 | permissions = "0400"; | ||
157 | text = '' | ||
158 | Diaspora::Application.config.secret_key_base = '${env.secret_token}' | ||
159 | ''; | ||
160 | } | ||
161 | ]; | ||
31 | 162 | ||
32 | mySecrets.keys = diaspora.keys; | ||
33 | systemd.services.diaspora = { | 163 | systemd.services.diaspora = { |
34 | description = "Diaspora"; | 164 | description = "Diaspora"; |
35 | wantedBy = [ "multi-user.target" ]; | 165 | wantedBy = [ "multi-user.target" ]; |
@@ -43,8 +173,8 @@ in { | |||
43 | environment.RAILS_ENV = "production"; | 173 | environment.RAILS_ENV = "production"; |
44 | environment.BUNDLE_PATH = "${diaspora.gems}/${diaspora.gems.ruby.gemPath}"; | 174 | environment.BUNDLE_PATH = "${diaspora.gems}/${diaspora.gems.ruby.gemPath}"; |
45 | environment.BUNDLE_GEMFILE = "${diaspora.gems.confFiles}/Gemfile"; | 175 | environment.BUNDLE_GEMFILE = "${diaspora.gems.confFiles}/Gemfile"; |
46 | environment.EYE_SOCK = "${diaspora.socketsDir}/eye.sock"; | 176 | environment.EYE_SOCK = "${socketsDir}/eye.sock"; |
47 | environment.EYE_PID = "${diaspora.socketsDir}/eye.pid"; | 177 | environment.EYE_PID = "${socketsDir}/eye.pid"; |
48 | 178 | ||
49 | path = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby pkgs.curl pkgs.which pkgs.gawk ]; | 179 | path = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby pkgs.curl pkgs.which pkgs.gawk ]; |
50 | 180 | ||
@@ -53,7 +183,7 @@ in { | |||
53 | ''; | 183 | ''; |
54 | 184 | ||
55 | script = '' | 185 | script = '' |
56 | exec ${diaspora.railsRoot}/script/server | 186 | exec ${diaspora}/script/server |
57 | ''; | 187 | ''; |
58 | 188 | ||
59 | serviceConfig = { | 189 | serviceConfig = { |
@@ -61,24 +191,24 @@ in { | |||
61 | PrivateTmp = true; | 191 | PrivateTmp = true; |
62 | Restart = "always"; | 192 | Restart = "always"; |
63 | Type = "simple"; | 193 | Type = "simple"; |
64 | WorkingDirectory = diaspora.railsRoot; | 194 | WorkingDirectory = diaspora; |
65 | StandardInput = "null"; | 195 | StandardInput = "null"; |
66 | KillMode = "control-group"; | 196 | KillMode = "control-group"; |
67 | }; | 197 | }; |
68 | 198 | ||
69 | unitConfig.RequiresMountsFor = diaspora.varDir; | 199 | unitConfig.RequiresMountsFor = varDir; |
70 | }; | 200 | }; |
71 | 201 | ||
72 | system.activationScripts.diaspora = { | 202 | system.activationScripts.diaspora = { |
73 | deps = [ "users" ]; | 203 | deps = [ "users" ]; |
74 | text = '' | 204 | text = '' |
75 | install -m 0755 -o diaspora -g diaspora -d ${diaspora.socketsDir} | 205 | install -m 0755 -o diaspora -g diaspora -d ${socketsDir} |
76 | install -m 0755 -o diaspora -g diaspora -d ${diaspora.varDir} \ | 206 | install -m 0755 -o diaspora -g diaspora -d ${varDir} \ |
77 | ${diaspora.varDir}/uploads ${diaspora.varDir}/tmp \ | 207 | ${varDir}/uploads ${varDir}/tmp \ |
78 | ${diaspora.varDir}/log | 208 | ${varDir}/log |
79 | install -m 0700 -o diaspora -g diaspora -d ${diaspora.varDir}/tmp/pids | 209 | install -m 0700 -o diaspora -g diaspora -d ${varDir}/tmp/pids |
80 | if [ ! -f ${diaspora.varDir}/schedule.yml ]; then | 210 | if [ ! -f ${varDir}/schedule.yml ]; then |
81 | echo "{}" | $wrapperDir/sudo -u diaspora tee ${diaspora.varDir}/schedule.yml | 211 | echo "{}" | $wrapperDir/sudo -u diaspora tee ${varDir}/schedule.yml |
82 | fi | 212 | fi |
83 | ''; | 213 | ''; |
84 | }; | 214 | }; |
@@ -89,7 +219,7 @@ in { | |||
89 | security.acme.certs."eldiron".extraDomains."diaspora.immae.eu" = null; | 219 | security.acme.certs."eldiron".extraDomains."diaspora.immae.eu" = null; |
90 | system.extraSystemBuilderCmds = '' | 220 | system.extraSystemBuilderCmds = '' |
91 | mkdir -p $out/webapps | 221 | mkdir -p $out/webapps |
92 | ln -s ${diaspora.railsRoot}/public/ $out/webapps/tools_diaspora | 222 | ln -s ${diaspora}/public/ $out/webapps/tools_diaspora |
93 | ''; | 223 | ''; |
94 | services.myWebsites.tools.vhostConfs.diaspora = { | 224 | services.myWebsites.tools.vhostConfs.diaspora = { |
95 | certName = "eldiron"; | 225 | certName = "eldiron"; |
@@ -98,7 +228,7 @@ in { | |||
98 | extraConfig = [ '' | 228 | extraConfig = [ '' |
99 | RewriteEngine On | 229 | RewriteEngine On |
100 | RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | 230 | RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f |
101 | RewriteRule ^/(.*)$ unix://${diaspora.railsSocket}|http://diaspora.immae.eu/%{REQUEST_URI} [P,NE,QSA,L] | 231 | RewriteRule ^/(.*)$ unix://${railsSocket}|http://diaspora.immae.eu/%{REQUEST_URI} [P,NE,QSA,L] |
102 | 232 | ||
103 | ProxyRequests Off | 233 | ProxyRequests Off |
104 | ProxyVia On | 234 | ProxyVia On |
diff --git a/nixops/modules/websites/tools/diaspora/diaspora.json b/nixops/modules/websites/tools/diaspora/diaspora.json deleted file mode 100644 index e6795aa..0000000 --- a/nixops/modules/websites/tools/diaspora/diaspora.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "v0.7.10.0", | ||
3 | "meta": { | ||
4 | "name": "diaspora", | ||
5 | "url": "https://github.com/diaspora/diaspora", | ||
6 | "branch": "refs/tags/v0.7.10.0" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "diaspora", | ||
10 | "repo": "diaspora", | ||
11 | "rev": "f0085cf5bb1c45bdfba866f628153d299e56eca8", | ||
12 | "sha256": "02mnb40rdkk6jlnvpy61fad59gbpgnlwz1k35w4wfqdwzq0znaqp", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/nixops/modules/websites/tools/diaspora/diaspora.nix b/nixops/modules/websites/tools/diaspora/diaspora.nix deleted file mode 100644 index 01aac89..0000000 --- a/nixops/modules/websites/tools/diaspora/diaspora.nix +++ /dev/null | |||
@@ -1,187 +0,0 @@ | |||
1 | { env, fetchedGithub, stdenv, defaultGemConfig, writeText, bundlerEnv, ruby_2_4, pkgs, cacert }: | ||
2 | let | ||
3 | varDir = "/var/lib/diaspora_immae"; | ||
4 | socketsDir = "/run/diaspora"; | ||
5 | diaspora = stdenv.mkDerivation (fetchedGithub ./diaspora.json // rec { | ||
6 | buildPhase = '' | ||
7 | patch -p1 < ${./ldap.patch} | ||
8 | # FIXME: bundlerEnv below doesn't take postgresql group for some | ||
9 | # reason | ||
10 | echo 'gem "pg", "1.1.3"' >> Gemfile | ||
11 | ''; | ||
12 | installPhase = '' | ||
13 | cp -a . $out | ||
14 | ''; | ||
15 | }); | ||
16 | gems = bundlerEnv { | ||
17 | name = "diaspora-env"; | ||
18 | # https://git.immae.eu/mantisbt/view.php?id=131 | ||
19 | ruby = ruby_2_4.overrideAttrs(old: { | ||
20 | postInstall = builtins.replaceStrings [" --destdir $GEM_HOME"] [""] old.postInstall; | ||
21 | }); | ||
22 | gemfile = "${diaspora}/Gemfile"; | ||
23 | lockfile = "${diaspora}/Gemfile.lock"; | ||
24 | gemset = ./gemset.nix; | ||
25 | groups = [ "postgresql" "default" "production" ]; | ||
26 | gemConfig = defaultGemConfig // { | ||
27 | kostya-sigar = attrs: { | ||
28 | buildInputs = [ pkgs.perl ]; | ||
29 | }; | ||
30 | }; | ||
31 | }; | ||
32 | keys = { | ||
33 | secret_token = { | ||
34 | dest = "webapps/tools-diaspora-secret_token"; | ||
35 | user = "diaspora"; | ||
36 | group = "diaspora"; | ||
37 | permissions = "0400"; | ||
38 | text = '' | ||
39 | Diaspora::Application.config.secret_key_base = '${env.secret_token}' | ||
40 | ''; | ||
41 | }; | ||
42 | config = { | ||
43 | dest = "webapps/tools-diaspora-config"; | ||
44 | user = "diaspora"; | ||
45 | group = "diaspora"; | ||
46 | permissions = "0400"; | ||
47 | text = '' | ||
48 | configuration: | ||
49 | environment: | ||
50 | url: "https://diaspora.immae.eu/" | ||
51 | certificate_authorities: '${cacert}/etc/ssl/certs/ca-bundle.crt' | ||
52 | redis: '${env.redis_url}' | ||
53 | sidekiq: | ||
54 | s3: | ||
55 | assets: | ||
56 | logging: | ||
57 | logrotate: | ||
58 | debug: | ||
59 | server: | ||
60 | listen: '${socketsDir}/diaspora.sock' | ||
61 | rails_environment: 'production' | ||
62 | chat: | ||
63 | server: | ||
64 | bosh: | ||
65 | log: | ||
66 | map: | ||
67 | mapbox: | ||
68 | privacy: | ||
69 | piwik: | ||
70 | statistics: | ||
71 | camo: | ||
72 | settings: | ||
73 | enable_registrations: false | ||
74 | welcome_message: | ||
75 | invitations: | ||
76 | open: false | ||
77 | paypal_donations: | ||
78 | community_spotlight: | ||
79 | captcha: | ||
80 | enable: false | ||
81 | terms: | ||
82 | maintenance: | ||
83 | remove_old_users: | ||
84 | default_metas: | ||
85 | csp: | ||
86 | services: | ||
87 | twitter: | ||
88 | tumblr: | ||
89 | wordpress: | ||
90 | mail: | ||
91 | enable: true | ||
92 | sender_address: 'diaspora@tools.immae.eu' | ||
93 | method: 'sendmail' | ||
94 | smtp: | ||
95 | sendmail: | ||
96 | location: '/run/wrappers/bin/sendmail' | ||
97 | admins: | ||
98 | account: "ismael" | ||
99 | podmin_email: 'diaspora@tools.immae.eu' | ||
100 | relay: | ||
101 | outbound: | ||
102 | inbound: | ||
103 | ldap: | ||
104 | enable: true | ||
105 | host: ldap.immae.eu | ||
106 | port: 636 | ||
107 | only_ldap: true | ||
108 | mail_attribute: mail | ||
109 | skip_email_confirmation: true | ||
110 | use_bind_dn: true | ||
111 | bind_dn: "cn=diaspora,ou=services,dc=immae,dc=eu" | ||
112 | bind_pw: "${env.ldap.password}" | ||
113 | search_base: "dc=immae,dc=eu" | ||
114 | search_filter: "(&(memberOf=cn=users,cn=diaspora,ou=services,dc=immae,dc=eu)(uid=%{username}))" | ||
115 | production: | ||
116 | environment: | ||
117 | development: | ||
118 | environment: | ||
119 | ''; | ||
120 | }; | ||
121 | database = { | ||
122 | dest = "webapps/tools-diaspora-database_config"; | ||
123 | user = "diaspora"; | ||
124 | group = "diaspora"; | ||
125 | permissions = "0400"; | ||
126 | text = '' | ||
127 | postgresql: &postgresql | ||
128 | adapter: postgresql | ||
129 | host: "${env.postgresql.socket}" | ||
130 | port: "${env.postgresql.port}" | ||
131 | username: "${env.postgresql.user}" | ||
132 | password: "${env.postgresql.password}" | ||
133 | encoding: unicode | ||
134 | common: &common | ||
135 | <<: *postgresql | ||
136 | combined: &combined | ||
137 | <<: *common | ||
138 | development: | ||
139 | <<: *combined | ||
140 | database: diaspora_development | ||
141 | production: | ||
142 | <<: *combined | ||
143 | database: ${env.postgresql.database} | ||
144 | test: | ||
145 | <<: *combined | ||
146 | database: "diaspora_test" | ||
147 | integration1: | ||
148 | <<: *combined | ||
149 | database: diaspora_integration1 | ||
150 | integration2: | ||
151 | <<: *combined | ||
152 | database: diaspora_integration2 | ||
153 | ''; | ||
154 | }; | ||
155 | }; | ||
156 | railsRoot = stdenv.mkDerivation { | ||
157 | name = "diaspora_immae"; | ||
158 | inherit diaspora; | ||
159 | # FIXME: build machine will contain some passwords in the nix store | ||
160 | builder = writeText "build_diaspora_immae" '' | ||
161 | source $stdenv/setup | ||
162 | cp -a $diaspora $out | ||
163 | cd $out | ||
164 | chmod -R u+rwX . | ||
165 | tar -czf public/source.tar.gz ./{app,db,lib,script,Gemfile,Gemfile.lock,Rakefile,config.ru} | ||
166 | ln -s ${writeText "database.yml" keys.database.text} config/database.yml | ||
167 | ln -s ${writeText "diaspora.yml" keys.config.text} config/diaspora.yml | ||
168 | ln -s ${writeText "secret_token.rb" keys.secret_token.text} config/initializers/secret_token.rb | ||
169 | ln -sf ${varDir}/schedule.yml config/schedule.yml | ||
170 | ln -sf ${varDir}/oidc_key.pem config/oidc_key.pem | ||
171 | ln -sf ${varDir}/uploads public/uploads | ||
172 | RAILS_ENV=production ${gems}/bin/rake assets:precompile | ||
173 | ln -sf /var/secrets/webapps/tools-diaspora-database_config config/database.yml | ||
174 | ln -sf /var/secrets/webapps/tools-diaspora-config config/diaspora.yml | ||
175 | ln -sf /var/secrets/webapps/tools-diaspora-secret_token config/initializers/secret_token.rb | ||
176 | rm -rf tmp log | ||
177 | ln -sf ${varDir}/tmp tmp | ||
178 | ln -sf ${varDir}/log log | ||
179 | ''; | ||
180 | propagatedBuildInputs = [ gems pkgs.nodejs pkgs.which pkgs.git ]; | ||
181 | }; | ||
182 | in | ||
183 | { | ||
184 | inherit railsRoot varDir socketsDir gems; | ||
185 | keys = builtins.attrValues keys; | ||
186 | railsSocket = "${socketsDir}/diaspora.sock"; | ||
187 | } | ||
diff --git a/nixops/modules/websites/tools/diaspora/gemset.nix b/nixops/modules/websites/tools/diaspora/gemset.nix deleted file mode 100644 index f946088..0000000 --- a/nixops/modules/websites/tools/diaspora/gemset.nix +++ /dev/null | |||
@@ -1,3056 +0,0 @@ | |||
1 | { | ||
2 | actioncable = { | ||
3 | dependencies = ["actionpack" "nio4r" "websocket-driver"]; | ||
4 | platforms = []; | ||
5 | source = { | ||
6 | remotes = ["https://rubygems.org"]; | ||
7 | sha256 = "07r6hnh05db84yr9419mbhyzp20hr8yy9m50jxc2w91ghm2qnrrf"; | ||
8 | type = "gem"; | ||
9 | }; | ||
10 | version = "5.1.6"; | ||
11 | }; | ||
12 | actionmailer = { | ||
13 | dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; | ||
14 | platforms = []; | ||
15 | source = { | ||
16 | remotes = ["https://rubygems.org"]; | ||
17 | sha256 = "1s9xcqfx97q4yva2zc4qzb567mwzhry6v3x3zc318aqhcrz31g7c"; | ||
18 | type = "gem"; | ||
19 | }; | ||
20 | version = "5.1.6"; | ||
21 | }; | ||
22 | actionpack = { | ||
23 | dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; | ||
24 | platforms = []; | ||
25 | source = { | ||
26 | remotes = ["https://rubygems.org"]; | ||
27 | sha256 = "0vz2ms80nqw21c304g3w2vkbs80gadzhi3mcwwym7smxccr37kcd"; | ||
28 | type = "gem"; | ||
29 | }; | ||
30 | version = "5.1.6"; | ||
31 | }; | ||
32 | actionview = { | ||
33 | dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; | ||
34 | platforms = []; | ||
35 | source = { | ||
36 | remotes = ["https://rubygems.org"]; | ||
37 | sha256 = "1kfxlz9v7b47pdyy1whb4zzhvaj8h4sp1ajhbih2ax1hkldyg081"; | ||
38 | type = "gem"; | ||
39 | }; | ||
40 | version = "5.1.6"; | ||
41 | }; | ||
42 | active_model_serializers = { | ||
43 | dependencies = ["activemodel" "concurrent-ruby"]; | ||
44 | platforms = []; | ||
45 | source = { | ||
46 | remotes = ["https://rubygems.org"]; | ||
47 | sha256 = "19zr5pp84q4ya7mfrcanakjv86lv4wfmbcbbd2xnd4bkyprw5w7z"; | ||
48 | type = "gem"; | ||
49 | }; | ||
50 | version = "0.9.7"; | ||
51 | }; | ||
52 | activejob = { | ||
53 | dependencies = ["activesupport" "globalid"]; | ||
54 | platforms = []; | ||
55 | source = { | ||
56 | remotes = ["https://rubygems.org"]; | ||
57 | sha256 = "02lssq8ps98mfg20dyhcpd16f9c0v4zzy7gfbb6ksbs06wrrd4d2"; | ||
58 | type = "gem"; | ||
59 | }; | ||
60 | version = "5.1.6"; | ||
61 | }; | ||
62 | activemodel = { | ||
63 | dependencies = ["activesupport"]; | ||
64 | platforms = []; | ||
65 | source = { | ||
66 | remotes = ["https://rubygems.org"]; | ||
67 | sha256 = "10f8cpv4sl1w3m1qj8hl6sd2f1n7x91h45qaf57qr894ll22jgby"; | ||
68 | type = "gem"; | ||
69 | }; | ||
70 | version = "5.1.6"; | ||
71 | }; | ||
72 | activerecord = { | ||
73 | dependencies = ["activemodel" "activesupport" "arel"]; | ||
74 | platforms = []; | ||
75 | source = { | ||
76 | remotes = ["https://rubygems.org"]; | ||
77 | sha256 = "1iqkvxzx5bfp8rmlccww0cj1xr6iaxmn3hhbj1dv5j9c8mnm980x"; | ||
78 | type = "gem"; | ||
79 | }; | ||
80 | version = "5.1.6"; | ||
81 | }; | ||
82 | activerecord-import = { | ||
83 | dependencies = ["activerecord"]; | ||
84 | platforms = []; | ||
85 | source = { | ||
86 | remotes = ["https://rubygems.org"]; | ||
87 | sha256 = "1bxpbrcwc9k6khizwdikvfbhw9pcvs4sp3h4grpcww5k7bgpliz6"; | ||
88 | type = "gem"; | ||
89 | }; | ||
90 | version = "0.27.0"; | ||
91 | }; | ||
92 | activesupport = { | ||
93 | dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; | ||
94 | platforms = []; | ||
95 | source = { | ||
96 | remotes = ["https://rubygems.org"]; | ||
97 | sha256 = "08dm0mgmj31ggk7ib66wfagj4bgbr2jfl500bqb22x0szslz5lll"; | ||
98 | type = "gem"; | ||
99 | }; | ||
100 | version = "5.1.6"; | ||
101 | }; | ||
102 | acts-as-taggable-on = { | ||
103 | dependencies = ["activerecord"]; | ||
104 | platforms = []; | ||
105 | source = { | ||
106 | remotes = ["https://rubygems.org"]; | ||
107 | sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; | ||
108 | type = "gem"; | ||
109 | }; | ||
110 | version = "6.0.0"; | ||
111 | }; | ||
112 | acts_as_api = { | ||
113 | dependencies = ["activemodel" "activesupport" "rack"]; | ||
114 | platforms = []; | ||
115 | source = { | ||
116 | remotes = ["https://rubygems.org"]; | ||
117 | sha256 = "06miad13nnfr2gslc203ahsbvj499s9lngxxvfizwp964vglygsc"; | ||
118 | type = "gem"; | ||
119 | }; | ||
120 | version = "1.0.1"; | ||
121 | }; | ||
122 | addressable = { | ||
123 | dependencies = ["public_suffix"]; | ||
124 | platforms = []; | ||
125 | source = { | ||
126 | remotes = ["https://rubygems.org"]; | ||
127 | sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; | ||
128 | type = "gem"; | ||
129 | }; | ||
130 | version = "2.5.2"; | ||
131 | }; | ||
132 | aes_key_wrap = { | ||
133 | platforms = []; | ||
134 | source = { | ||
135 | remotes = ["https://rubygems.org"]; | ||
136 | sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07"; | ||
137 | type = "gem"; | ||
138 | }; | ||
139 | version = "1.0.1"; | ||
140 | }; | ||
141 | arel = { | ||
142 | platforms = []; | ||
143 | source = { | ||
144 | remotes = ["https://rubygems.org"]; | ||
145 | sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"; | ||
146 | type = "gem"; | ||
147 | }; | ||
148 | version = "8.0.0"; | ||
149 | }; | ||
150 | asset_sync = { | ||
151 | dependencies = ["activemodel" "fog-core" "mime-types" "unf"]; | ||
152 | platforms = []; | ||
153 | source = { | ||
154 | remotes = ["https://rubygems.org"]; | ||
155 | sha256 = "0mfz51g8rzk5h5fpdhfkycnm7y4dpfhx46wm7fygna7nd4w9ixdx"; | ||
156 | type = "gem"; | ||
157 | }; | ||
158 | version = "2.5.0"; | ||
159 | }; | ||
160 | ast = { | ||
161 | platforms = []; | ||
162 | source = { | ||
163 | remotes = ["https://rubygems.org"]; | ||
164 | sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; | ||
165 | type = "gem"; | ||
166 | }; | ||
167 | version = "2.4.0"; | ||
168 | }; | ||
169 | attr_required = { | ||
170 | platforms = []; | ||
171 | source = { | ||
172 | remotes = ["https://rubygems.org"]; | ||
173 | sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; | ||
174 | type = "gem"; | ||
175 | }; | ||
176 | version = "1.0.1"; | ||
177 | }; | ||
178 | autoprefixer-rails = { | ||
179 | dependencies = ["execjs"]; | ||
180 | platforms = []; | ||
181 | source = { | ||
182 | remotes = ["https://rubygems.org"]; | ||
183 | sha256 = "08irrl1mz6skagr1lygq79l34lc0dghgva0v9q7nng76dpiglgj3"; | ||
184 | type = "gem"; | ||
185 | }; | ||
186 | version = "8.6.5"; | ||
187 | }; | ||
188 | backports = { | ||
189 | platforms = []; | ||
190 | source = { | ||
191 | remotes = ["https://rubygems.org"]; | ||
192 | sha256 = "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"; | ||
193 | type = "gem"; | ||
194 | }; | ||
195 | version = "3.11.4"; | ||
196 | }; | ||
197 | bcrypt = { | ||
198 | platforms = []; | ||
199 | source = { | ||
200 | remotes = ["https://rubygems.org"]; | ||
201 | sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; | ||
202 | type = "gem"; | ||
203 | }; | ||
204 | version = "3.1.12"; | ||
205 | }; | ||
206 | bindata = { | ||
207 | platforms = []; | ||
208 | source = { | ||
209 | remotes = ["https://rubygems.org"]; | ||
210 | sha256 = "0kz42nvxnk1j9cj0i8lcnhprcgdqsqska92g6l19ziadydfk2gqy"; | ||
211 | type = "gem"; | ||
212 | }; | ||
213 | version = "2.4.4"; | ||
214 | }; | ||
215 | bootstrap-sass = { | ||
216 | dependencies = ["autoprefixer-rails" "sass"]; | ||
217 | platforms = []; | ||
218 | source = { | ||
219 | remotes = ["https://rubygems.org"]; | ||
220 | sha256 = "1bc9bf6caddqn1rv15b5x56yczmbjzaxzl9lk5zbwrg1bfph4bx9"; | ||
221 | type = "gem"; | ||
222 | }; | ||
223 | version = "3.3.7"; | ||
224 | }; | ||
225 | bootstrap-switch-rails = { | ||
226 | groups = ["default"]; | ||
227 | platforms = []; | ||
228 | source = { | ||
229 | remotes = ["https://rubygems.org"]; | ||
230 | sha256 = "1zkwc1hfmihnm0n9lkva5zk0cmqpfcpnrwnmaniyvgx7rac2r14l"; | ||
231 | type = "gem"; | ||
232 | }; | ||
233 | version = "3.3.3"; | ||
234 | }; | ||
235 | buftok = { | ||
236 | platforms = []; | ||
237 | source = { | ||
238 | remotes = ["https://rubygems.org"]; | ||
239 | sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; | ||
240 | type = "gem"; | ||
241 | }; | ||
242 | version = "0.2.0"; | ||
243 | }; | ||
244 | builder = { | ||
245 | platforms = []; | ||
246 | source = { | ||
247 | remotes = ["https://rubygems.org"]; | ||
248 | sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; | ||
249 | type = "gem"; | ||
250 | }; | ||
251 | version = "3.2.3"; | ||
252 | }; | ||
253 | byebug = { | ||
254 | platforms = []; | ||
255 | source = { | ||
256 | remotes = ["https://rubygems.org"]; | ||
257 | sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; | ||
258 | type = "gem"; | ||
259 | }; | ||
260 | version = "10.0.2"; | ||
261 | }; | ||
262 | capybara = { | ||
263 | dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; | ||
264 | platforms = []; | ||
265 | source = { | ||
266 | remotes = ["https://rubygems.org"]; | ||
267 | sha256 = "10zj8syak12xd1kqywr35bkr2hkdjq18kij54x1ys8c26h6j4d0m"; | ||
268 | type = "gem"; | ||
269 | }; | ||
270 | version = "3.11.1"; | ||
271 | }; | ||
272 | carrierwave = { | ||
273 | dependencies = ["activemodel" "activesupport" "mime-types"]; | ||
274 | platforms = []; | ||
275 | source = { | ||
276 | remotes = ["https://rubygems.org"]; | ||
277 | sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; | ||
278 | type = "gem"; | ||
279 | }; | ||
280 | version = "1.2.3"; | ||
281 | }; | ||
282 | celluloid = { | ||
283 | dependencies = ["celluloid-essentials" "celluloid-extras" "celluloid-fsm" "celluloid-pool" "celluloid-supervision" "timers"]; | ||
284 | platforms = []; | ||
285 | source = { | ||
286 | remotes = ["https://rubygems.org"]; | ||
287 | sha256 = "10i29q7kkdlrhf5rg43xygdfm795a02vp28k2ca3nklmqna57qmg"; | ||
288 | type = "gem"; | ||
289 | }; | ||
290 | version = "0.17.3"; | ||
291 | }; | ||
292 | celluloid-essentials = { | ||
293 | dependencies = ["timers"]; | ||
294 | platforms = []; | ||
295 | source = { | ||
296 | remotes = ["https://rubygems.org"]; | ||
297 | sha256 = "1l4p3p73wjdj07ww124q0db5k1cyzggbndzmcb12xbsf2dnj121k"; | ||
298 | type = "gem"; | ||
299 | }; | ||
300 | version = "0.20.5"; | ||
301 | }; | ||
302 | celluloid-extras = { | ||
303 | dependencies = ["timers"]; | ||
304 | platforms = []; | ||
305 | source = { | ||
306 | remotes = ["https://rubygems.org"]; | ||
307 | sha256 = "078agvnsfp78jv343kn5g1cz50147dk0q46blwh5r8lk6whag7ng"; | ||
308 | type = "gem"; | ||
309 | }; | ||
310 | version = "0.20.5"; | ||
311 | }; | ||
312 | celluloid-fsm = { | ||
313 | dependencies = ["timers"]; | ||
314 | platforms = []; | ||
315 | source = { | ||
316 | remotes = ["https://rubygems.org"]; | ||
317 | sha256 = "1pmpi6h4abpkczp46rd6llk1mldpx19i9hll8mkxp3kxin9slivc"; | ||
318 | type = "gem"; | ||
319 | }; | ||
320 | version = "0.20.5"; | ||
321 | }; | ||
322 | celluloid-io = { | ||
323 | dependencies = ["celluloid" "nio4r" "timers"]; | ||
324 | platforms = []; | ||
325 | source = { | ||
326 | remotes = ["https://rubygems.org"]; | ||
327 | sha256 = "1frcpja7h9vcxsw7w7ff550x54rfx514fpv2n6kawbk1j4zrm314"; | ||
328 | type = "gem"; | ||
329 | }; | ||
330 | version = "0.17.3"; | ||
331 | }; | ||
332 | celluloid-pool = { | ||
333 | dependencies = ["timers"]; | ||
334 | platforms = []; | ||
335 | source = { | ||
336 | remotes = ["https://rubygems.org"]; | ||
337 | sha256 = "1bfr54ijl95bnhqlabhf5p4ff9n0y2sslc91f49jjn33n2zm755c"; | ||
338 | type = "gem"; | ||
339 | }; | ||
340 | version = "0.20.5"; | ||
341 | }; | ||
342 | celluloid-supervision = { | ||
343 | dependencies = ["timers"]; | ||
344 | platforms = []; | ||
345 | source = { | ||
346 | remotes = ["https://rubygems.org"]; | ||
347 | sha256 = "1b41gg1rsmms0m5mshy6h66y5rydl3nv6x9wf050ixfa1s2c8vzw"; | ||
348 | type = "gem"; | ||
349 | }; | ||
350 | version = "0.20.6"; | ||
351 | }; | ||
352 | chunky_png = { | ||
353 | platforms = []; | ||
354 | source = { | ||
355 | remotes = ["https://rubygems.org"]; | ||
356 | sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; | ||
357 | type = "gem"; | ||
358 | }; | ||
359 | version = "1.3.10"; | ||
360 | }; | ||
361 | cliver = { | ||
362 | platforms = []; | ||
363 | source = { | ||
364 | remotes = ["https://rubygems.org"]; | ||
365 | sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7"; | ||
366 | type = "gem"; | ||
367 | }; | ||
368 | version = "0.3.2"; | ||
369 | }; | ||
370 | coderay = { | ||
371 | platforms = []; | ||
372 | source = { | ||
373 | remotes = ["https://rubygems.org"]; | ||
374 | sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; | ||
375 | type = "gem"; | ||
376 | }; | ||
377 | version = "1.1.2"; | ||
378 | }; | ||
379 | compass = { | ||
380 | dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; | ||
381 | platforms = []; | ||
382 | source = { | ||
383 | remotes = ["https://rubygems.org"]; | ||
384 | sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; | ||
385 | type = "gem"; | ||
386 | }; | ||
387 | version = "1.0.3"; | ||
388 | }; | ||
389 | compass-core = { | ||
390 | dependencies = ["multi_json" "sass"]; | ||
391 | platforms = []; | ||
392 | source = { | ||
393 | remotes = ["https://rubygems.org"]; | ||
394 | sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; | ||
395 | type = "gem"; | ||
396 | }; | ||
397 | version = "1.0.3"; | ||
398 | }; | ||
399 | compass-import-once = { | ||
400 | dependencies = ["sass"]; | ||
401 | platforms = []; | ||
402 | source = { | ||
403 | remotes = ["https://rubygems.org"]; | ||
404 | sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; | ||
405 | type = "gem"; | ||
406 | }; | ||
407 | version = "1.0.5"; | ||
408 | }; | ||
409 | compass-rails = { | ||
410 | dependencies = ["compass" "sass-rails" "sprockets"]; | ||
411 | platforms = []; | ||
412 | source = { | ||
413 | remotes = ["https://rubygems.org"]; | ||
414 | sha256 = "02ydlbl1qb80myjv5xrpwzhmmj6qd80jf5izvpqhq2bikv84j9wr"; | ||
415 | type = "gem"; | ||
416 | }; | ||
417 | version = "3.1.0"; | ||
418 | }; | ||
419 | concurrent-ruby = { | ||
420 | platforms = []; | ||
421 | source = { | ||
422 | remotes = ["https://rubygems.org"]; | ||
423 | sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; | ||
424 | type = "gem"; | ||
425 | }; | ||
426 | version = "1.1.3"; | ||
427 | }; | ||
428 | configurate = { | ||
429 | platforms = []; | ||
430 | source = { | ||
431 | remotes = ["https://rubygems.org"]; | ||
432 | sha256 = "1m6cppb4jf7liwc3f5dvgn2v2nhp2jq8ixb9papaqz24f4s8dnd1"; | ||
433 | type = "gem"; | ||
434 | }; | ||
435 | version = "0.3.1"; | ||
436 | }; | ||
437 | connection_pool = { | ||
438 | platforms = []; | ||
439 | source = { | ||
440 | remotes = ["https://rubygems.org"]; | ||
441 | sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; | ||
442 | type = "gem"; | ||
443 | }; | ||
444 | version = "2.2.2"; | ||
445 | }; | ||
446 | coveralls = { | ||
447 | dependencies = ["json" "simplecov" "term-ansicolor" "thor" "tins"]; | ||
448 | platforms = []; | ||
449 | source = { | ||
450 | remotes = ["https://rubygems.org"]; | ||
451 | sha256 = "022kc16np6w4mv17hq3m9hhw9l8hjl78ld3fzqqx6337vwvwvwcg"; | ||
452 | type = "gem"; | ||
453 | }; | ||
454 | version = "0.8.22"; | ||
455 | }; | ||
456 | crack = { | ||
457 | dependencies = ["safe_yaml"]; | ||
458 | platforms = []; | ||
459 | source = { | ||
460 | remotes = ["https://rubygems.org"]; | ||
461 | sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; | ||
462 | type = "gem"; | ||
463 | }; | ||
464 | version = "0.4.3"; | ||
465 | }; | ||
466 | crass = { | ||
467 | platforms = []; | ||
468 | source = { | ||
469 | remotes = ["https://rubygems.org"]; | ||
470 | sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; | ||
471 | type = "gem"; | ||
472 | }; | ||
473 | version = "1.0.4"; | ||
474 | }; | ||
475 | cucumber = { | ||
476 | dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"]; | ||
477 | platforms = []; | ||
478 | source = { | ||
479 | remotes = ["https://rubygems.org"]; | ||
480 | sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j"; | ||
481 | type = "gem"; | ||
482 | }; | ||
483 | version = "3.1.2"; | ||
484 | }; | ||
485 | cucumber-api-steps = { | ||
486 | dependencies = ["cucumber" "jsonpath"]; | ||
487 | platforms = []; | ||
488 | source = { | ||
489 | remotes = ["https://rubygems.org"]; | ||
490 | sha256 = "0fij6bgzshda68jp7kac0hs5n6xsmv49g8ynqhy6s3znc9d4qjbw"; | ||
491 | type = "gem"; | ||
492 | }; | ||
493 | version = "0.14.0"; | ||
494 | }; | ||
495 | cucumber-core = { | ||
496 | dependencies = ["backports" "cucumber-tag_expressions" "gherkin"]; | ||
497 | platforms = []; | ||
498 | source = { | ||
499 | remotes = ["https://rubygems.org"]; | ||
500 | sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c"; | ||
501 | type = "gem"; | ||
502 | }; | ||
503 | version = "3.2.1"; | ||
504 | }; | ||
505 | cucumber-expressions = { | ||
506 | platforms = []; | ||
507 | source = { | ||
508 | remotes = ["https://rubygems.org"]; | ||
509 | sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw"; | ||
510 | type = "gem"; | ||
511 | }; | ||
512 | version = "6.0.1"; | ||
513 | }; | ||
514 | cucumber-rails = { | ||
515 | dependencies = ["capybara" "cucumber" "mime-types" "nokogiri" "railties"]; | ||
516 | platforms = []; | ||
517 | source = { | ||
518 | remotes = ["https://rubygems.org"]; | ||
519 | sha256 = "0pmlza6r2601k1i7v3z8gj4apdcq6qa830bzwkj1pnfjzn4z12n7"; | ||
520 | type = "gem"; | ||
521 | }; | ||
522 | version = "1.6.0"; | ||
523 | }; | ||
524 | cucumber-tag_expressions = { | ||
525 | platforms = []; | ||
526 | source = { | ||
527 | remotes = ["https://rubygems.org"]; | ||
528 | sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc"; | ||
529 | type = "gem"; | ||
530 | }; | ||
531 | version = "1.1.1"; | ||
532 | }; | ||
533 | cucumber-wire = { | ||
534 | platforms = []; | ||
535 | source = { | ||
536 | remotes = ["https://rubygems.org"]; | ||
537 | sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"; | ||
538 | type = "gem"; | ||
539 | }; | ||
540 | version = "0.0.1"; | ||
541 | }; | ||
542 | database_cleaner = { | ||
543 | platforms = []; | ||
544 | source = { | ||
545 | remotes = ["https://rubygems.org"]; | ||
546 | sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; | ||
547 | type = "gem"; | ||
548 | }; | ||
549 | version = "1.7.0"; | ||
550 | }; | ||
551 | devise = { | ||
552 | dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; | ||
553 | platforms = []; | ||
554 | source = { | ||
555 | remotes = ["https://rubygems.org"]; | ||
556 | sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; | ||
557 | type = "gem"; | ||
558 | }; | ||
559 | version = "4.5.0"; | ||
560 | }; | ||
561 | devise_lastseenable = { | ||
562 | dependencies = ["devise" "rails"]; | ||
563 | platforms = []; | ||
564 | source = { | ||
565 | remotes = ["https://rubygems.org"]; | ||
566 | sha256 = "1h83h73qjh8fc7lmr089shky8lc3wm4xn653rjdbb0cddflvrx8y"; | ||
567 | type = "gem"; | ||
568 | }; | ||
569 | version = "0.0.6"; | ||
570 | }; | ||
571 | diaspora-prosody-config = { | ||
572 | platforms = []; | ||
573 | source = { | ||
574 | remotes = ["https://rubygems.org"]; | ||
575 | sha256 = "1976ijqjf5jcq1jwr6vi0srjadhbqfa9y3nxyipzcv91pzskl2lp"; | ||
576 | type = "gem"; | ||
577 | }; | ||
578 | version = "0.0.7"; | ||
579 | }; | ||
580 | diaspora_federation = { | ||
581 | dependencies = ["faraday" "faraday_middleware" "nokogiri" "typhoeus" "valid"]; | ||
582 | platforms = []; | ||
583 | source = { | ||
584 | remotes = ["https://rubygems.org"]; | ||
585 | sha256 = "1xxy6ahlhgyr00qkfmmq0h3nqm6gjkr9i6hsqr0nkb3l6qg0m0yc"; | ||
586 | type = "gem"; | ||
587 | }; | ||
588 | version = "0.2.5"; | ||
589 | }; | ||
590 | diaspora_federation-json_schema = { | ||
591 | platforms = []; | ||
592 | source = { | ||
593 | remotes = ["https://rubygems.org"]; | ||
594 | sha256 = "0hfv4cq5wfdg86xmbp5y0h50b11326ymzks1yr9dvr4wa7di00hr"; | ||
595 | type = "gem"; | ||
596 | }; | ||
597 | version = "0.2.5"; | ||
598 | }; | ||
599 | diaspora_federation-rails = { | ||
600 | dependencies = ["actionpack" "diaspora_federation"]; | ||
601 | platforms = []; | ||
602 | source = { | ||
603 | remotes = ["https://rubygems.org"]; | ||
604 | sha256 = "1wrni7d9084v3pqd3sq8j532wx5ym6kmd959bw29bzwxc3zidd9h"; | ||
605 | type = "gem"; | ||
606 | }; | ||
607 | version = "0.2.5"; | ||
608 | }; | ||
609 | diaspora_federation-test = { | ||
610 | dependencies = ["diaspora_federation" "fabrication" "uuid"]; | ||
611 | platforms = []; | ||
612 | source = { | ||
613 | remotes = ["https://rubygems.org"]; | ||
614 | sha256 = "1b09y78pyl9kix8slbybnks2cbq0ac9wml31j2s6qwjixranjsm4"; | ||
615 | type = "gem"; | ||
616 | }; | ||
617 | version = "0.2.5"; | ||
618 | }; | ||
619 | diff-lcs = { | ||
620 | platforms = []; | ||
621 | source = { | ||
622 | remotes = ["https://rubygems.org"]; | ||
623 | sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; | ||
624 | type = "gem"; | ||
625 | }; | ||
626 | version = "1.3"; | ||
627 | }; | ||
628 | docile = { | ||
629 | platforms = []; | ||
630 | source = { | ||
631 | remotes = ["https://rubygems.org"]; | ||
632 | sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; | ||
633 | type = "gem"; | ||
634 | }; | ||
635 | version = "1.3.1"; | ||
636 | }; | ||
637 | domain_name = { | ||
638 | dependencies = ["unf"]; | ||
639 | platforms = []; | ||
640 | source = { | ||
641 | remotes = ["https://rubygems.org"]; | ||
642 | sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; | ||
643 | type = "gem"; | ||
644 | }; | ||
645 | version = "0.5.20180417"; | ||
646 | }; | ||
647 | entypo-rails = { | ||
648 | dependencies = ["railties"]; | ||
649 | platforms = []; | ||
650 | source = { | ||
651 | remotes = ["https://rubygems.org"]; | ||
652 | sha256 = "124x0jszg6n0k2lcacd627ndlp1fv7cbgnv4scwy5s3czp0qwip6"; | ||
653 | type = "gem"; | ||
654 | }; | ||
655 | version = "3.0.0"; | ||
656 | }; | ||
657 | equalizer = { | ||
658 | platforms = []; | ||
659 | source = { | ||
660 | remotes = ["https://rubygems.org"]; | ||
661 | sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; | ||
662 | type = "gem"; | ||
663 | }; | ||
664 | version = "0.0.11"; | ||
665 | }; | ||
666 | erubi = { | ||
667 | platforms = []; | ||
668 | source = { | ||
669 | remotes = ["https://rubygems.org"]; | ||
670 | sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; | ||
671 | type = "gem"; | ||
672 | }; | ||
673 | version = "1.7.1"; | ||
674 | }; | ||
675 | eslintrb = { | ||
676 | dependencies = ["execjs" "multi_json" "rake"]; | ||
677 | platforms = []; | ||
678 | source = { | ||
679 | remotes = ["https://rubygems.org"]; | ||
680 | sha256 = "0kx9sbs7pnl436zyczylnqqb1858hffy66fwdqfmcn18q8xdqwkx"; | ||
681 | type = "gem"; | ||
682 | }; | ||
683 | version = "2.1.0"; | ||
684 | }; | ||
685 | et-orbi = { | ||
686 | dependencies = ["tzinfo"]; | ||
687 | platforms = []; | ||
688 | source = { | ||
689 | remotes = ["https://rubygems.org"]; | ||
690 | sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; | ||
691 | type = "gem"; | ||
692 | }; | ||
693 | version = "1.1.6"; | ||
694 | }; | ||
695 | ethon = { | ||
696 | dependencies = ["ffi"]; | ||
697 | platforms = []; | ||
698 | source = { | ||
699 | remotes = ["https://rubygems.org"]; | ||
700 | sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48"; | ||
701 | type = "gem"; | ||
702 | }; | ||
703 | version = "0.11.0"; | ||
704 | }; | ||
705 | excon = { | ||
706 | platforms = []; | ||
707 | source = { | ||
708 | remotes = ["https://rubygems.org"]; | ||
709 | sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; | ||
710 | type = "gem"; | ||
711 | }; | ||
712 | version = "0.62.0"; | ||
713 | }; | ||
714 | execjs = { | ||
715 | platforms = []; | ||
716 | source = { | ||
717 | remotes = ["https://rubygems.org"]; | ||
718 | sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; | ||
719 | type = "gem"; | ||
720 | }; | ||
721 | version = "2.7.0"; | ||
722 | }; | ||
723 | eye = { | ||
724 | dependencies = ["celluloid" "celluloid-io" "kostya-sigar" "state_machines" "thor"]; | ||
725 | platforms = []; | ||
726 | source = { | ||
727 | remotes = ["https://rubygems.org"]; | ||
728 | sha256 = "0gqrrrisy492m6sczq775dyg9sxkl926r8lkr6z33kfb4cnimfzk"; | ||
729 | type = "gem"; | ||
730 | }; | ||
731 | version = "0.10.0"; | ||
732 | }; | ||
733 | fabrication = { | ||
734 | platforms = []; | ||
735 | source = { | ||
736 | remotes = ["https://rubygems.org"]; | ||
737 | sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; | ||
738 | type = "gem"; | ||
739 | }; | ||
740 | version = "2.20.1"; | ||
741 | }; | ||
742 | factory_girl = { | ||
743 | dependencies = ["activesupport"]; | ||
744 | platforms = []; | ||
745 | source = { | ||
746 | remotes = ["https://rubygems.org"]; | ||
747 | sha256 = "0cc60v28r7w1gp34p4amzdnq7cyip6qhffvxywsj3ypilyf8jqla"; | ||
748 | type = "gem"; | ||
749 | }; | ||
750 | version = "4.8.0"; | ||
751 | }; | ||
752 | factory_girl_rails = { | ||
753 | dependencies = ["factory_girl" "railties"]; | ||
754 | platforms = []; | ||
755 | source = { | ||
756 | remotes = ["https://rubygems.org"]; | ||
757 | sha256 = "0hw8qqp30vm4yf4a36r1r65wk78ihxmas7jg5fyl6fcf705z9fvv"; | ||
758 | type = "gem"; | ||
759 | }; | ||
760 | version = "4.8.0"; | ||
761 | }; | ||
762 | faraday = { | ||
763 | dependencies = ["multipart-post"]; | ||
764 | platforms = []; | ||
765 | source = { | ||
766 | remotes = ["https://rubygems.org"]; | ||
767 | sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; | ||
768 | type = "gem"; | ||
769 | }; | ||
770 | version = "0.15.3"; | ||
771 | }; | ||
772 | faraday-cookie_jar = { | ||
773 | dependencies = ["faraday" "http-cookie"]; | ||
774 | platforms = []; | ||
775 | source = { | ||
776 | remotes = ["https://rubygems.org"]; | ||
777 | sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6"; | ||
778 | type = "gem"; | ||
779 | }; | ||
780 | version = "0.0.6"; | ||
781 | }; | ||
782 | faraday_middleware = { | ||
783 | dependencies = ["faraday"]; | ||
784 | platforms = []; | ||
785 | source = { | ||
786 | remotes = ["https://rubygems.org"]; | ||
787 | sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d"; | ||
788 | type = "gem"; | ||
789 | }; | ||
790 | version = "0.12.2"; | ||
791 | }; | ||
792 | ffi = { | ||
793 | platforms = []; | ||
794 | source = { | ||
795 | remotes = ["https://rubygems.org"]; | ||
796 | sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; | ||
797 | type = "gem"; | ||
798 | }; | ||
799 | version = "1.9.25"; | ||
800 | }; | ||
801 | fixture_builder = { | ||
802 | dependencies = ["activerecord" "activesupport" "hashdiff"]; | ||
803 | platforms = []; | ||
804 | source = { | ||
805 | remotes = ["https://rubygems.org"]; | ||
806 | sha256 = "1qlq0nyfhjvz09hm0jankl9bgs9672k31b3lmsfq8p135x3xs627"; | ||
807 | type = "gem"; | ||
808 | }; | ||
809 | version = "0.5.2.rc3"; | ||
810 | }; | ||
811 | fog-aws = { | ||
812 | dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; | ||
813 | platforms = []; | ||
814 | source = { | ||
815 | remotes = ["https://rubygems.org"]; | ||
816 | sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs"; | ||
817 | type = "gem"; | ||
818 | }; | ||
819 | version = "3.3.0"; | ||
820 | }; | ||
821 | fog-core = { | ||
822 | dependencies = ["builder" "excon" "formatador" "mime-types"]; | ||
823 | platforms = []; | ||
824 | source = { | ||
825 | remotes = ["https://rubygems.org"]; | ||
826 | sha256 = "1fsama04wlxhv537bm4b7rr4zzn0mvisy87m3qzv6f0mhlrq3zp8"; | ||
827 | type = "gem"; | ||
828 | }; | ||
829 | version = "2.1.2"; | ||
830 | }; | ||
831 | fog-json = { | ||
832 | dependencies = ["fog-core" "multi_json"]; | ||
833 | platforms = []; | ||
834 | source = { | ||
835 | remotes = ["https://rubygems.org"]; | ||
836 | sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; | ||
837 | type = "gem"; | ||
838 | }; | ||
839 | version = "1.2.0"; | ||
840 | }; | ||
841 | fog-xml = { | ||
842 | dependencies = ["fog-core" "nokogiri"]; | ||
843 | platforms = []; | ||
844 | source = { | ||
845 | remotes = ["https://rubygems.org"]; | ||
846 | sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; | ||
847 | type = "gem"; | ||
848 | }; | ||
849 | version = "0.1.3"; | ||
850 | }; | ||
851 | formatador = { | ||
852 | platforms = []; | ||
853 | source = { | ||
854 | remotes = ["https://rubygems.org"]; | ||
855 | sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; | ||
856 | type = "gem"; | ||
857 | }; | ||
858 | version = "0.2.5"; | ||
859 | }; | ||
860 | fugit = { | ||
861 | dependencies = ["et-orbi" "raabro"]; | ||
862 | platforms = []; | ||
863 | source = { | ||
864 | remotes = ["https://rubygems.org"]; | ||
865 | sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; | ||
866 | type = "gem"; | ||
867 | }; | ||
868 | version = "1.1.6"; | ||
869 | }; | ||
870 | fuubar = { | ||
871 | dependencies = ["rspec-core" "ruby-progressbar"]; | ||
872 | platforms = []; | ||
873 | source = { | ||
874 | remotes = ["https://rubygems.org"]; | ||
875 | sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; | ||
876 | type = "gem"; | ||
877 | }; | ||
878 | version = "2.3.2"; | ||
879 | }; | ||
880 | get_process_mem = { | ||
881 | platforms = []; | ||
882 | source = { | ||
883 | remotes = ["https://rubygems.org"]; | ||
884 | sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; | ||
885 | type = "gem"; | ||
886 | }; | ||
887 | version = "0.2.3"; | ||
888 | }; | ||
889 | gherkin = { | ||
890 | platforms = []; | ||
891 | source = { | ||
892 | remotes = ["https://rubygems.org"]; | ||
893 | sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s"; | ||
894 | type = "gem"; | ||
895 | }; | ||
896 | version = "5.1.0"; | ||
897 | }; | ||
898 | gitlab = { | ||
899 | dependencies = ["httparty" "terminal-table"]; | ||
900 | platforms = []; | ||
901 | source = { | ||
902 | remotes = ["https://rubygems.org"]; | ||
903 | sha256 = "1nncjmk71ivjxmgkpv100yybry5c7ld6xjgi1b5zsfv4g3mz0v34"; | ||
904 | type = "gem"; | ||
905 | }; | ||
906 | version = "4.7.0"; | ||
907 | }; | ||
908 | globalid = { | ||
909 | dependencies = ["activesupport"]; | ||
910 | platforms = []; | ||
911 | source = { | ||
912 | remotes = ["https://rubygems.org"]; | ||
913 | sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; | ||
914 | type = "gem"; | ||
915 | }; | ||
916 | version = "0.4.1"; | ||
917 | }; | ||
918 | gon = { | ||
919 | dependencies = ["actionpack" "multi_json" "request_store"]; | ||
920 | platforms = []; | ||
921 | source = { | ||
922 | remotes = ["https://rubygems.org"]; | ||
923 | sha256 = "07sm7fd94pfscrbs4lyprs0das8s1yn32cw521ch738jaqb388xl"; | ||
924 | type = "gem"; | ||
925 | }; | ||
926 | version = "6.2.1"; | ||
927 | }; | ||
928 | guard = { | ||
929 | dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; | ||
930 | platforms = []; | ||
931 | source = { | ||
932 | remotes = ["https://rubygems.org"]; | ||
933 | sha256 = "0h84ja6qvii3hx86w9l4vjpbgl4m8ma8fbawwp7s8l791cgkdcmk"; | ||
934 | type = "gem"; | ||
935 | }; | ||
936 | version = "2.15.0"; | ||
937 | }; | ||
938 | guard-compat = { | ||
939 | platforms = []; | ||
940 | source = { | ||
941 | remotes = ["https://rubygems.org"]; | ||
942 | sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; | ||
943 | type = "gem"; | ||
944 | }; | ||
945 | version = "1.2.1"; | ||
946 | }; | ||
947 | guard-rspec = { | ||
948 | dependencies = ["guard" "guard-compat" "rspec"]; | ||
949 | platforms = []; | ||
950 | source = { | ||
951 | remotes = ["https://rubygems.org"]; | ||
952 | sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"; | ||
953 | type = "gem"; | ||
954 | }; | ||
955 | version = "4.7.3"; | ||
956 | }; | ||
957 | guard-rubocop = { | ||
958 | dependencies = ["guard" "rubocop"]; | ||
959 | platforms = []; | ||
960 | source = { | ||
961 | remotes = ["https://rubygems.org"]; | ||
962 | sha256 = "1p97zkzasghl1md13rh57n3s2rr2kqly8w4vfn6vaj89igjpagdp"; | ||
963 | type = "gem"; | ||
964 | }; | ||
965 | version = "1.3.0"; | ||
966 | }; | ||
967 | haml = { | ||
968 | dependencies = ["temple" "tilt"]; | ||
969 | platforms = []; | ||
970 | source = { | ||
971 | remotes = ["https://rubygems.org"]; | ||
972 | sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"; | ||
973 | type = "gem"; | ||
974 | }; | ||
975 | version = "5.0.4"; | ||
976 | }; | ||
977 | haml_lint = { | ||
978 | dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; | ||
979 | platforms = []; | ||
980 | source = { | ||
981 | remotes = ["https://rubygems.org"]; | ||
982 | sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; | ||
983 | type = "gem"; | ||
984 | }; | ||
985 | version = "0.28.0"; | ||
986 | }; | ||
987 | hamlit = { | ||
988 | dependencies = ["temple" "thor" "tilt"]; | ||
989 | platforms = []; | ||
990 | source = { | ||
991 | remotes = ["https://rubygems.org"]; | ||
992 | sha256 = "14fsc208qsf46cflk23vs2fdw435dk65fwv55zhziciwn96ld8sf"; | ||
993 | type = "gem"; | ||
994 | }; | ||
995 | version = "2.9.1"; | ||
996 | }; | ||
997 | handlebars_assets = { | ||
998 | dependencies = ["execjs" "sprockets" "tilt"]; | ||
999 | platforms = []; | ||
1000 | source = { | ||
1001 | remotes = ["https://rubygems.org"]; | ||
1002 | sha256 = "18pyksz4jb0n28acqxv14ahy8mkc9ldqbbn73gcj28m0l9wjzsca"; | ||
1003 | type = "gem"; | ||
1004 | }; | ||
1005 | version = "0.23.2"; | ||
1006 | }; | ||
1007 | hashdiff = { | ||
1008 | platforms = []; | ||
1009 | source = { | ||
1010 | remotes = ["https://rubygems.org"]; | ||
1011 | sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; | ||
1012 | type = "gem"; | ||
1013 | }; | ||
1014 | version = "0.3.7"; | ||
1015 | }; | ||
1016 | hashie = { | ||
1017 | platforms = []; | ||
1018 | source = { | ||
1019 | remotes = ["https://rubygems.org"]; | ||
1020 | sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; | ||
1021 | type = "gem"; | ||
1022 | }; | ||
1023 | version = "3.5.7"; | ||
1024 | }; | ||
1025 | http = { | ||
1026 | dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; | ||
1027 | platforms = []; | ||
1028 | source = { | ||
1029 | remotes = ["https://rubygems.org"]; | ||
1030 | sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; | ||
1031 | type = "gem"; | ||
1032 | }; | ||
1033 | version = "3.3.0"; | ||
1034 | }; | ||
1035 | http-cookie = { | ||
1036 | dependencies = ["domain_name"]; | ||
1037 | platforms = []; | ||
1038 | source = { | ||
1039 | remotes = ["https://rubygems.org"]; | ||
1040 | sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; | ||
1041 | type = "gem"; | ||
1042 | }; | ||
1043 | version = "1.0.3"; | ||
1044 | }; | ||
1045 | http-form_data = { | ||
1046 | platforms = []; | ||
1047 | source = { | ||
1048 | remotes = ["https://rubygems.org"]; | ||
1049 | sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; | ||
1050 | type = "gem"; | ||
1051 | }; | ||
1052 | version = "2.1.1"; | ||
1053 | }; | ||
1054 | http_accept_language = { | ||
1055 | platforms = []; | ||
1056 | source = { | ||
1057 | remotes = ["https://rubygems.org"]; | ||
1058 | sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; | ||
1059 | type = "gem"; | ||
1060 | }; | ||
1061 | version = "2.1.1"; | ||
1062 | }; | ||
1063 | "http_parser.rb" = { | ||
1064 | platforms = []; | ||
1065 | source = { | ||
1066 | remotes = ["https://rubygems.org"]; | ||
1067 | sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; | ||
1068 | type = "gem"; | ||
1069 | }; | ||
1070 | version = "0.6.0"; | ||
1071 | }; | ||
1072 | httparty = { | ||
1073 | dependencies = ["mime-types" "multi_xml"]; | ||
1074 | platforms = []; | ||
1075 | source = { | ||
1076 | remotes = ["https://rubygems.org"]; | ||
1077 | sha256 = "1xmm7pxmz3pblkdr76dg7qm5s60kpp3yvh46c2i0bn1dm0zgl730"; | ||
1078 | type = "gem"; | ||
1079 | }; | ||
1080 | version = "0.16.3"; | ||
1081 | }; | ||
1082 | httpclient = { | ||
1083 | platforms = []; | ||
1084 | source = { | ||
1085 | remotes = ["https://rubygems.org"]; | ||
1086 | sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; | ||
1087 | type = "gem"; | ||
1088 | }; | ||
1089 | version = "2.8.3"; | ||
1090 | }; | ||
1091 | i18n = { | ||
1092 | dependencies = ["concurrent-ruby"]; | ||
1093 | platforms = []; | ||
1094 | source = { | ||
1095 | remotes = ["https://rubygems.org"]; | ||
1096 | sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; | ||
1097 | type = "gem"; | ||
1098 | }; | ||
1099 | version = "1.1.1"; | ||
1100 | }; | ||
1101 | i18n-inflector = { | ||
1102 | dependencies = ["i18n"]; | ||
1103 | platforms = []; | ||
1104 | source = { | ||
1105 | remotes = ["https://rubygems.org"]; | ||
1106 | sha256 = "081jr7z947aqjfmpbfs10w9jxi205jwgk4mgd8jds1b4m4i8mc7g"; | ||
1107 | type = "gem"; | ||
1108 | }; | ||
1109 | version = "2.6.7"; | ||
1110 | }; | ||
1111 | i18n-inflector-rails = { | ||
1112 | dependencies = ["actionpack" "i18n-inflector" "railties"]; | ||
1113 | platforms = []; | ||
1114 | source = { | ||
1115 | remotes = ["https://rubygems.org"]; | ||
1116 | sha256 = "0c04jm657akp5n14syhcwnn3hnsvx7harvg97768bvf3f9a37hyk"; | ||
1117 | type = "gem"; | ||
1118 | }; | ||
1119 | version = "1.0.7"; | ||
1120 | }; | ||
1121 | ipaddress = { | ||
1122 | platforms = []; | ||
1123 | source = { | ||
1124 | remotes = ["https://rubygems.org"]; | ||
1125 | sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; | ||
1126 | type = "gem"; | ||
1127 | }; | ||
1128 | version = "0.8.3"; | ||
1129 | }; | ||
1130 | jaro_winkler = { | ||
1131 | platforms = []; | ||
1132 | source = { | ||
1133 | remotes = ["https://rubygems.org"]; | ||
1134 | sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah"; | ||
1135 | type = "gem"; | ||
1136 | }; | ||
1137 | version = "1.5.1"; | ||
1138 | }; | ||
1139 | jasmine = { | ||
1140 | dependencies = ["jasmine-core" "phantomjs" "rack" "rake"]; | ||
1141 | platforms = []; | ||
1142 | source = { | ||
1143 | remotes = ["https://rubygems.org"]; | ||
1144 | sha256 = "1xfwf163wi5a9i0vlm564cqi6k30h15wnrwd15ph95jfa5516kv1"; | ||
1145 | type = "gem"; | ||
1146 | }; | ||
1147 | version = "3.3.0"; | ||
1148 | }; | ||
1149 | jasmine-core = { | ||
1150 | platforms = []; | ||
1151 | source = { | ||
1152 | remotes = ["https://rubygems.org"]; | ||
1153 | sha256 = "1b12bjfrxvb8mwjwlfyngykd80lz956glcpfz7rhhw7n75b2rdlv"; | ||
1154 | type = "gem"; | ||
1155 | }; | ||
1156 | version = "3.3.0"; | ||
1157 | }; | ||
1158 | jasmine-jquery-rails = { | ||
1159 | platforms = []; | ||
1160 | source = { | ||
1161 | remotes = ["https://rubygems.org"]; | ||
1162 | sha256 = "0cq5zd4ng5dlza45whd6sa7bzd60rlddk9760271mybdqyd96jlv"; | ||
1163 | type = "gem"; | ||
1164 | }; | ||
1165 | version = "2.0.3"; | ||
1166 | }; | ||
1167 | jquery-rails = { | ||
1168 | dependencies = ["rails-dom-testing" "railties" "thor"]; | ||
1169 | platforms = []; | ||
1170 | source = { | ||
1171 | remotes = ["https://rubygems.org"]; | ||
1172 | sha256 = "17201sb8ddwy4yprizmqabq1kfx3m9c53p0yqngn63m07jjcpnh8"; | ||
1173 | type = "gem"; | ||
1174 | }; | ||
1175 | version = "4.3.3"; | ||
1176 | }; | ||
1177 | js-routes = { | ||
1178 | dependencies = ["railties" "sprockets-rails"]; | ||
1179 | platforms = []; | ||
1180 | source = { | ||
1181 | remotes = ["https://rubygems.org"]; | ||
1182 | sha256 = "14yx3jrd4sgcwgj8yrrqdwl691mci1hcjqyyvp0v15jbzis1bclm"; | ||
1183 | type = "gem"; | ||
1184 | }; | ||
1185 | version = "1.4.4"; | ||
1186 | }; | ||
1187 | js_image_paths = { | ||
1188 | dependencies = ["rails" "sprockets"]; | ||
1189 | platforms = []; | ||
1190 | source = { | ||
1191 | remotes = ["https://rubygems.org"]; | ||
1192 | sha256 = "1d4kq8895i61a338ddk5f2k16l5lvmnkby9cdjwnmm2jddw4q7nf"; | ||
1193 | type = "gem"; | ||
1194 | }; | ||
1195 | version = "0.1.1"; | ||
1196 | }; | ||
1197 | json = { | ||
1198 | platforms = []; | ||
1199 | source = { | ||
1200 | remotes = ["https://rubygems.org"]; | ||
1201 | sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; | ||
1202 | type = "gem"; | ||
1203 | }; | ||
1204 | version = "2.1.0"; | ||
1205 | }; | ||
1206 | json-jwt = { | ||
1207 | dependencies = ["activesupport" "aes_key_wrap" "bindata"]; | ||
1208 | platforms = []; | ||
1209 | source = { | ||
1210 | remotes = ["https://rubygems.org"]; | ||
1211 | sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; | ||
1212 | type = "gem"; | ||
1213 | }; | ||
1214 | version = "1.9.4"; | ||
1215 | }; | ||
1216 | json-schema = { | ||
1217 | dependencies = ["addressable"]; | ||
1218 | platforms = []; | ||
1219 | source = { | ||
1220 | remotes = ["https://rubygems.org"]; | ||
1221 | sha256 = "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5"; | ||
1222 | type = "gem"; | ||
1223 | }; | ||
1224 | version = "2.8.1"; | ||
1225 | }; | ||
1226 | json-schema-rspec = { | ||
1227 | dependencies = ["json-schema" "rspec"]; | ||
1228 | platforms = []; | ||
1229 | source = { | ||
1230 | remotes = ["https://rubygems.org"]; | ||
1231 | sha256 = "1ip30yjzyigqqp9jwkrw9x9vrfpnmwi160zmk2vkrwlv9pby0wr9"; | ||
1232 | type = "gem"; | ||
1233 | }; | ||
1234 | version = "0.0.4"; | ||
1235 | }; | ||
1236 | jsonpath = { | ||
1237 | dependencies = ["multi_json" "to_regexp"]; | ||
1238 | platforms = []; | ||
1239 | source = { | ||
1240 | remotes = ["https://rubygems.org"]; | ||
1241 | sha256 = "06i41lwpj0dwvbxcpqrad5pjn2gmcv0srv0zw0ap7irwc21ifd7d"; | ||
1242 | type = "gem"; | ||
1243 | }; | ||
1244 | version = "0.9.6"; | ||
1245 | }; | ||
1246 | jwt = { | ||
1247 | platforms = []; | ||
1248 | source = { | ||
1249 | remotes = ["https://rubygems.org"]; | ||
1250 | sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; | ||
1251 | type = "gem"; | ||
1252 | }; | ||
1253 | version = "2.1.0"; | ||
1254 | }; | ||
1255 | kgio = { | ||
1256 | platforms = []; | ||
1257 | source = { | ||
1258 | remotes = ["https://rubygems.org"]; | ||
1259 | sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; | ||
1260 | type = "gem"; | ||
1261 | }; | ||
1262 | version = "2.11.2"; | ||
1263 | }; | ||
1264 | kostya-sigar = { | ||
1265 | platforms = []; | ||
1266 | source = { | ||
1267 | remotes = ["https://rubygems.org"]; | ||
1268 | sha256 = "0z0pcykhjyrb7kq76jfcyxc1qq23gj5zmgy3miy87v85ydrxiqwb"; | ||
1269 | type = "gem"; | ||
1270 | }; | ||
1271 | version = "2.0.4"; | ||
1272 | }; | ||
1273 | leaflet-rails = { | ||
1274 | dependencies = ["rails"]; | ||
1275 | platforms = []; | ||
1276 | source = { | ||
1277 | remotes = ["https://rubygems.org"]; | ||
1278 | sha256 = "0dy7vhsjj1fhbbqm2s7pw57vgysd31qqi4y0hm91325hmvq75grb"; | ||
1279 | type = "gem"; | ||
1280 | }; | ||
1281 | version = "1.3.1"; | ||
1282 | }; | ||
1283 | listen = { | ||
1284 | dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; | ||
1285 | platforms = []; | ||
1286 | source = { | ||
1287 | remotes = ["https://rubygems.org"]; | ||
1288 | sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; | ||
1289 | type = "gem"; | ||
1290 | }; | ||
1291 | version = "3.1.5"; | ||
1292 | }; | ||
1293 | little-plugger = { | ||
1294 | platforms = []; | ||
1295 | source = { | ||
1296 | remotes = ["https://rubygems.org"]; | ||
1297 | sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; | ||
1298 | type = "gem"; | ||
1299 | }; | ||
1300 | version = "1.1.4"; | ||
1301 | }; | ||
1302 | logging = { | ||
1303 | dependencies = ["little-plugger" "multi_json"]; | ||
1304 | platforms = []; | ||
1305 | source = { | ||
1306 | remotes = ["https://rubygems.org"]; | ||
1307 | sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; | ||
1308 | type = "gem"; | ||
1309 | }; | ||
1310 | version = "2.2.2"; | ||
1311 | }; | ||
1312 | logging-rails = { | ||
1313 | dependencies = ["logging"]; | ||
1314 | platforms = []; | ||
1315 | source = { | ||
1316 | remotes = ["https://rubygems.org"]; | ||
1317 | sha256 = "022cnj9v177282kadd9ygzjpvlvbq9k5z0xhdbbmgypi05z4i239"; | ||
1318 | type = "gem"; | ||
1319 | }; | ||
1320 | version = "0.6.0"; | ||
1321 | }; | ||
1322 | loofah = { | ||
1323 | dependencies = ["crass" "nokogiri"]; | ||
1324 | platforms = []; | ||
1325 | source = { | ||
1326 | remotes = ["https://rubygems.org"]; | ||
1327 | sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; | ||
1328 | type = "gem"; | ||
1329 | }; | ||
1330 | version = "2.2.3"; | ||
1331 | }; | ||
1332 | lumberjack = { | ||
1333 | platforms = []; | ||
1334 | source = { | ||
1335 | remotes = ["https://rubygems.org"]; | ||
1336 | sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"; | ||
1337 | type = "gem"; | ||
1338 | }; | ||
1339 | version = "1.0.13"; | ||
1340 | }; | ||
1341 | macaddr = { | ||
1342 | dependencies = ["systemu"]; | ||
1343 | platforms = []; | ||
1344 | source = { | ||
1345 | remotes = ["https://rubygems.org"]; | ||
1346 | sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b"; | ||
1347 | type = "gem"; | ||
1348 | }; | ||
1349 | version = "1.7.1"; | ||
1350 | }; | ||
1351 | mail = { | ||
1352 | dependencies = ["mini_mime"]; | ||
1353 | platforms = []; | ||
1354 | source = { | ||
1355 | remotes = ["https://rubygems.org"]; | ||
1356 | sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; | ||
1357 | type = "gem"; | ||
1358 | }; | ||
1359 | version = "2.7.1"; | ||
1360 | }; | ||
1361 | markdown-it-html5-embed = { | ||
1362 | platforms = []; | ||
1363 | source = { | ||
1364 | remotes = ["https://rubygems.org"]; | ||
1365 | sha256 = "10n2z6j0whc6makxvcf2jhpwb8xrj4s6vyywijsaaxs0cn490a5c"; | ||
1366 | type = "gem"; | ||
1367 | }; | ||
1368 | version = "1.0.0"; | ||
1369 | }; | ||
1370 | markerb = { | ||
1371 | platforms = []; | ||
1372 | source = { | ||
1373 | remotes = ["https://rubygems.org"]; | ||
1374 | sha256 = "08sm3kafc3086l0a9is2cysk7j2k71mxy6ba295pwwzyvy734y76"; | ||
1375 | type = "gem"; | ||
1376 | }; | ||
1377 | version = "1.1.0"; | ||
1378 | }; | ||
1379 | memoizable = { | ||
1380 | dependencies = ["thread_safe"]; | ||
1381 | platforms = []; | ||
1382 | source = { | ||
1383 | remotes = ["https://rubygems.org"]; | ||
1384 | sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; | ||
1385 | type = "gem"; | ||
1386 | }; | ||
1387 | version = "0.4.2"; | ||
1388 | }; | ||
1389 | method_source = { | ||
1390 | platforms = []; | ||
1391 | source = { | ||
1392 | remotes = ["https://rubygems.org"]; | ||
1393 | sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; | ||
1394 | type = "gem"; | ||
1395 | }; | ||
1396 | version = "0.9.2"; | ||
1397 | }; | ||
1398 | mime-types = { | ||
1399 | dependencies = ["mime-types-data"]; | ||
1400 | platforms = []; | ||
1401 | source = { | ||
1402 | remotes = ["https://rubygems.org"]; | ||
1403 | sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; | ||
1404 | type = "gem"; | ||
1405 | }; | ||
1406 | version = "3.2.2"; | ||
1407 | }; | ||
1408 | mime-types-data = { | ||
1409 | platforms = []; | ||
1410 | source = { | ||
1411 | remotes = ["https://rubygems.org"]; | ||
1412 | sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; | ||
1413 | type = "gem"; | ||
1414 | }; | ||
1415 | version = "3.2018.0812"; | ||
1416 | }; | ||
1417 | mini_magick = { | ||
1418 | platforms = []; | ||
1419 | source = { | ||
1420 | remotes = ["https://rubygems.org"]; | ||
1421 | sha256 = "0sisx59mr5kydmxmx5vr8spmrxhrjkfqv35zhsqdlyzmp1z5px9p"; | ||
1422 | type = "gem"; | ||
1423 | }; | ||
1424 | version = "4.9.2"; | ||
1425 | }; | ||
1426 | mini_mime = { | ||
1427 | platforms = []; | ||
1428 | source = { | ||
1429 | remotes = ["https://rubygems.org"]; | ||
1430 | sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; | ||
1431 | type = "gem"; | ||
1432 | }; | ||
1433 | version = "1.0.1"; | ||
1434 | }; | ||
1435 | mini_portile2 = { | ||
1436 | platforms = []; | ||
1437 | source = { | ||
1438 | remotes = ["https://rubygems.org"]; | ||
1439 | sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; | ||
1440 | type = "gem"; | ||
1441 | }; | ||
1442 | version = "2.3.0"; | ||
1443 | }; | ||
1444 | minitest = { | ||
1445 | platforms = []; | ||
1446 | source = { | ||
1447 | remotes = ["https://rubygems.org"]; | ||
1448 | sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; | ||
1449 | type = "gem"; | ||
1450 | }; | ||
1451 | version = "5.11.3"; | ||
1452 | }; | ||
1453 | mobile-fu = { | ||
1454 | dependencies = ["rack-mobile-detect" "rails"]; | ||
1455 | platforms = []; | ||
1456 | source = { | ||
1457 | remotes = ["https://rubygems.org"]; | ||
1458 | sha256 = "0lxfcsd7dwwcpa1j2jbl382anmv6kksf5q1wqj14gc6jxxjq9s4i"; | ||
1459 | type = "gem"; | ||
1460 | }; | ||
1461 | version = "1.4.0"; | ||
1462 | }; | ||
1463 | multi_json = { | ||
1464 | platforms = []; | ||
1465 | source = { | ||
1466 | remotes = ["https://rubygems.org"]; | ||
1467 | sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; | ||
1468 | type = "gem"; | ||
1469 | }; | ||
1470 | version = "1.13.1"; | ||
1471 | }; | ||
1472 | multi_test = { | ||
1473 | platforms = []; | ||
1474 | source = { | ||
1475 | remotes = ["https://rubygems.org"]; | ||
1476 | sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"; | ||
1477 | type = "gem"; | ||
1478 | }; | ||
1479 | version = "0.1.2"; | ||
1480 | }; | ||
1481 | multi_xml = { | ||
1482 | platforms = []; | ||
1483 | source = { | ||
1484 | remotes = ["https://rubygems.org"]; | ||
1485 | sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; | ||
1486 | type = "gem"; | ||
1487 | }; | ||
1488 | version = "0.6.0"; | ||
1489 | }; | ||
1490 | multipart-post = { | ||
1491 | platforms = []; | ||
1492 | source = { | ||
1493 | remotes = ["https://rubygems.org"]; | ||
1494 | sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; | ||
1495 | type = "gem"; | ||
1496 | }; | ||
1497 | version = "2.0.0"; | ||
1498 | }; | ||
1499 | mysql2 = { | ||
1500 | groups = ["mysql"]; | ||
1501 | platforms = []; | ||
1502 | source = { | ||
1503 | remotes = ["https://rubygems.org"]; | ||
1504 | sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4"; | ||
1505 | type = "gem"; | ||
1506 | }; | ||
1507 | version = "0.5.2"; | ||
1508 | }; | ||
1509 | naught = { | ||
1510 | platforms = []; | ||
1511 | source = { | ||
1512 | remotes = ["https://rubygems.org"]; | ||
1513 | sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; | ||
1514 | type = "gem"; | ||
1515 | }; | ||
1516 | version = "1.1.0"; | ||
1517 | }; | ||
1518 | nenv = { | ||
1519 | platforms = []; | ||
1520 | source = { | ||
1521 | remotes = ["https://rubygems.org"]; | ||
1522 | sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; | ||
1523 | type = "gem"; | ||
1524 | }; | ||
1525 | version = "0.3.0"; | ||
1526 | }; | ||
1527 | net-ldap = { | ||
1528 | platforms = []; | ||
1529 | source = { | ||
1530 | remotes = ["https://rubygems.org"]; | ||
1531 | sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh"; | ||
1532 | type = "gem"; | ||
1533 | }; | ||
1534 | version = "0.16.1"; | ||
1535 | }; | ||
1536 | nio4r = { | ||
1537 | platforms = []; | ||
1538 | source = { | ||
1539 | remotes = ["https://rubygems.org"]; | ||
1540 | sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; | ||
1541 | type = "gem"; | ||
1542 | }; | ||
1543 | version = "2.3.1"; | ||
1544 | }; | ||
1545 | nokogiri = { | ||
1546 | dependencies = ["mini_portile2"]; | ||
1547 | platforms = []; | ||
1548 | source = { | ||
1549 | remotes = ["https://rubygems.org"]; | ||
1550 | sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; | ||
1551 | type = "gem"; | ||
1552 | }; | ||
1553 | version = "1.8.5"; | ||
1554 | }; | ||
1555 | notiffany = { | ||
1556 | dependencies = ["nenv" "shellany"]; | ||
1557 | platforms = []; | ||
1558 | source = { | ||
1559 | remotes = ["https://rubygems.org"]; | ||
1560 | sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"; | ||
1561 | type = "gem"; | ||
1562 | }; | ||
1563 | version = "0.1.1"; | ||
1564 | }; | ||
1565 | oauth = { | ||
1566 | platforms = []; | ||
1567 | source = { | ||
1568 | remotes = ["https://rubygems.org"]; | ||
1569 | sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; | ||
1570 | type = "gem"; | ||
1571 | }; | ||
1572 | version = "0.5.4"; | ||
1573 | }; | ||
1574 | oauth2 = { | ||
1575 | dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; | ||
1576 | platforms = []; | ||
1577 | source = { | ||
1578 | remotes = ["https://rubygems.org"]; | ||
1579 | sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"; | ||
1580 | type = "gem"; | ||
1581 | }; | ||
1582 | version = "1.4.1"; | ||
1583 | }; | ||
1584 | octokit = { | ||
1585 | dependencies = ["sawyer"]; | ||
1586 | platforms = []; | ||
1587 | source = { | ||
1588 | remotes = ["https://rubygems.org"]; | ||
1589 | sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6"; | ||
1590 | type = "gem"; | ||
1591 | }; | ||
1592 | version = "4.13.0"; | ||
1593 | }; | ||
1594 | omniauth = { | ||
1595 | dependencies = ["hashie" "rack"]; | ||
1596 | platforms = []; | ||
1597 | source = { | ||
1598 | remotes = ["https://rubygems.org"]; | ||
1599 | sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; | ||
1600 | type = "gem"; | ||
1601 | }; | ||
1602 | version = "1.8.1"; | ||
1603 | }; | ||
1604 | omniauth-oauth = { | ||
1605 | dependencies = ["oauth" "omniauth"]; | ||
1606 | platforms = []; | ||
1607 | source = { | ||
1608 | remotes = ["https://rubygems.org"]; | ||
1609 | sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; | ||
1610 | type = "gem"; | ||
1611 | }; | ||
1612 | version = "1.1.0"; | ||
1613 | }; | ||
1614 | omniauth-oauth2 = { | ||
1615 | dependencies = ["oauth2" "omniauth"]; | ||
1616 | platforms = []; | ||
1617 | source = { | ||
1618 | remotes = ["https://rubygems.org"]; | ||
1619 | sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; | ||
1620 | type = "gem"; | ||
1621 | }; | ||
1622 | version = "1.5.0"; | ||
1623 | }; | ||
1624 | omniauth-tumblr = { | ||
1625 | dependencies = ["multi_json" "omniauth-oauth"]; | ||
1626 | platforms = []; | ||
1627 | source = { | ||
1628 | remotes = ["https://rubygems.org"]; | ||
1629 | sha256 = "10ncmfym4l6k6aqp402g7mqxahbggcj5xkpsjxgngs746s82y97w"; | ||
1630 | type = "gem"; | ||
1631 | }; | ||
1632 | version = "1.2"; | ||
1633 | }; | ||
1634 | omniauth-twitter = { | ||
1635 | dependencies = ["omniauth-oauth" "rack"]; | ||
1636 | platforms = []; | ||
1637 | source = { | ||
1638 | remotes = ["https://rubygems.org"]; | ||
1639 | sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; | ||
1640 | type = "gem"; | ||
1641 | }; | ||
1642 | version = "1.4.0"; | ||
1643 | }; | ||
1644 | omniauth-wordpress = { | ||
1645 | dependencies = ["omniauth-oauth2"]; | ||
1646 | platforms = []; | ||
1647 | source = { | ||
1648 | remotes = ["https://rubygems.org"]; | ||
1649 | sha256 = "008zx4zwrbzyvlgv6hy68k1d05zskiwvcgwvxxbxhbl0mvlmh303"; | ||
1650 | type = "gem"; | ||
1651 | }; | ||
1652 | version = "0.2.2"; | ||
1653 | }; | ||
1654 | open_graph_reader = { | ||
1655 | dependencies = ["faraday" "nokogiri"]; | ||
1656 | platforms = []; | ||
1657 | source = { | ||
1658 | remotes = ["https://rubygems.org"]; | ||
1659 | sha256 = "0af4yldyb0d8zglw73s13pyn0g90gs4m5zf7bwy8r4kym9zbvc21"; | ||
1660 | type = "gem"; | ||
1661 | }; | ||
1662 | version = "0.6.2"; | ||
1663 | }; | ||
1664 | openid_connect = { | ||
1665 | dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; | ||
1666 | platforms = []; | ||
1667 | source = { | ||
1668 | remotes = ["https://rubygems.org"]; | ||
1669 | sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; | ||
1670 | type = "gem"; | ||
1671 | }; | ||
1672 | version = "1.1.6"; | ||
1673 | }; | ||
1674 | orm_adapter = { | ||
1675 | platforms = []; | ||
1676 | source = { | ||
1677 | remotes = ["https://rubygems.org"]; | ||
1678 | sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; | ||
1679 | type = "gem"; | ||
1680 | }; | ||
1681 | version = "0.5.0"; | ||
1682 | }; | ||
1683 | parallel = { | ||
1684 | platforms = []; | ||
1685 | source = { | ||
1686 | remotes = ["https://rubygems.org"]; | ||
1687 | sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; | ||
1688 | type = "gem"; | ||
1689 | }; | ||
1690 | version = "1.12.1"; | ||
1691 | }; | ||
1692 | parser = { | ||
1693 | dependencies = ["ast"]; | ||
1694 | platforms = []; | ||
1695 | source = { | ||
1696 | remotes = ["https://rubygems.org"]; | ||
1697 | sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; | ||
1698 | type = "gem"; | ||
1699 | }; | ||
1700 | version = "2.5.3.0"; | ||
1701 | }; | ||
1702 | pg = { | ||
1703 | platforms = []; | ||
1704 | source = { | ||
1705 | remotes = ["https://rubygems.org"]; | ||
1706 | sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"; | ||
1707 | type = "gem"; | ||
1708 | }; | ||
1709 | version = "1.1.3"; | ||
1710 | }; | ||
1711 | phantomjs = { | ||
1712 | platforms = []; | ||
1713 | source = { | ||
1714 | remotes = ["https://rubygems.org"]; | ||
1715 | sha256 = "0y8pbbyq9dirxb7igkb2s5limz2895qmr41c09fjhx6k6fxcz4mk"; | ||
1716 | type = "gem"; | ||
1717 | }; | ||
1718 | version = "2.1.1.0"; | ||
1719 | }; | ||
1720 | poltergeist = { | ||
1721 | dependencies = ["capybara" "cliver" "websocket-driver"]; | ||
1722 | platforms = []; | ||
1723 | source = { | ||
1724 | remotes = ["https://rubygems.org"]; | ||
1725 | sha256 = "0il80p97psmhs6scl0grq031gv7kws4ylvvd6zyr8xv91qadga95"; | ||
1726 | type = "gem"; | ||
1727 | }; | ||
1728 | version = "1.18.1"; | ||
1729 | }; | ||
1730 | powerpack = { | ||
1731 | platforms = []; | ||
1732 | source = { | ||
1733 | remotes = ["https://rubygems.org"]; | ||
1734 | sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; | ||
1735 | type = "gem"; | ||
1736 | }; | ||
1737 | version = "0.1.2"; | ||
1738 | }; | ||
1739 | pronto = { | ||
1740 | dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"]; | ||
1741 | platforms = []; | ||
1742 | source = { | ||
1743 | remotes = ["https://rubygems.org"]; | ||
1744 | sha256 = "13xbg1pm3kz5zbzxad5qgqnkzkp3ddajj7wxx16aqbfr7rqggvhz"; | ||
1745 | type = "gem"; | ||
1746 | }; | ||
1747 | version = "0.9.5"; | ||
1748 | }; | ||
1749 | pronto-eslint = { | ||
1750 | dependencies = ["eslintrb" "pronto"]; | ||
1751 | platforms = []; | ||
1752 | source = { | ||
1753 | remotes = ["https://rubygems.org"]; | ||
1754 | sha256 = "1cxyx6mlcdgv4ykliaizkx9cps68xf7qvy8lzxmv7pcqzkxaq7xc"; | ||
1755 | type = "gem"; | ||
1756 | }; | ||
1757 | version = "0.9.1"; | ||
1758 | }; | ||
1759 | pronto-haml = { | ||
1760 | dependencies = ["haml_lint" "pronto"]; | ||
1761 | platforms = []; | ||
1762 | source = { | ||
1763 | remotes = ["https://rubygems.org"]; | ||
1764 | sha256 = "116iln1whwiqy55f86q33lnnic0awnqm415xvxwnhwlagcbwmnkg"; | ||
1765 | type = "gem"; | ||
1766 | }; | ||
1767 | version = "0.9.0"; | ||
1768 | }; | ||
1769 | pronto-rubocop = { | ||
1770 | dependencies = ["pronto" "rubocop"]; | ||
1771 | platforms = []; | ||
1772 | source = { | ||
1773 | remotes = ["https://rubygems.org"]; | ||
1774 | sha256 = "0bcm34qlpp02wf69why5lpi5p53h5r4fq36f4b1fwi621fwzlgsy"; | ||
1775 | type = "gem"; | ||
1776 | }; | ||
1777 | version = "0.9.1"; | ||
1778 | }; | ||
1779 | pronto-scss = { | ||
1780 | dependencies = ["pronto" "scss_lint"]; | ||
1781 | platforms = []; | ||
1782 | source = { | ||
1783 | remotes = ["https://rubygems.org"]; | ||
1784 | sha256 = "0kgaqd6l2w3brdsp5231fpfr6fwajciz2hdr925l1zhh6ni1y2za"; | ||
1785 | type = "gem"; | ||
1786 | }; | ||
1787 | version = "0.9.1"; | ||
1788 | }; | ||
1789 | pry = { | ||
1790 | dependencies = ["coderay" "method_source"]; | ||
1791 | platforms = []; | ||
1792 | source = { | ||
1793 | remotes = ["https://rubygems.org"]; | ||
1794 | sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; | ||
1795 | type = "gem"; | ||
1796 | }; | ||
1797 | version = "0.12.2"; | ||
1798 | }; | ||
1799 | pry-byebug = { | ||
1800 | dependencies = ["byebug" "pry"]; | ||
1801 | platforms = []; | ||
1802 | source = { | ||
1803 | remotes = ["https://rubygems.org"]; | ||
1804 | sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; | ||
1805 | type = "gem"; | ||
1806 | }; | ||
1807 | version = "3.6.0"; | ||
1808 | }; | ||
1809 | public_suffix = { | ||
1810 | platforms = []; | ||
1811 | source = { | ||
1812 | remotes = ["https://rubygems.org"]; | ||
1813 | sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; | ||
1814 | type = "gem"; | ||
1815 | }; | ||
1816 | version = "3.0.3"; | ||
1817 | }; | ||
1818 | raabro = { | ||
1819 | platforms = []; | ||
1820 | source = { | ||
1821 | remotes = ["https://rubygems.org"]; | ||
1822 | sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; | ||
1823 | type = "gem"; | ||
1824 | }; | ||
1825 | version = "1.1.6"; | ||
1826 | }; | ||
1827 | rack = { | ||
1828 | platforms = []; | ||
1829 | source = { | ||
1830 | remotes = ["https://rubygems.org"]; | ||
1831 | sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; | ||
1832 | type = "gem"; | ||
1833 | }; | ||
1834 | version = "2.0.6"; | ||
1835 | }; | ||
1836 | rack-cors = { | ||
1837 | platforms = []; | ||
1838 | source = { | ||
1839 | remotes = ["https://rubygems.org"]; | ||
1840 | sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; | ||
1841 | type = "gem"; | ||
1842 | }; | ||
1843 | version = "1.0.2"; | ||
1844 | }; | ||
1845 | rack-google-analytics = { | ||
1846 | dependencies = ["actionpack" "activesupport"]; | ||
1847 | platforms = []; | ||
1848 | source = { | ||
1849 | remotes = ["https://rubygems.org"]; | ||
1850 | sha256 = "09pv0z5dhjjrlhi9qj5qy48hi66f7iix337qrapg7mvwwz6czcvj"; | ||
1851 | type = "gem"; | ||
1852 | }; | ||
1853 | version = "1.2.0"; | ||
1854 | }; | ||
1855 | rack-mobile-detect = { | ||
1856 | dependencies = ["rack"]; | ||
1857 | platforms = []; | ||
1858 | source = { | ||
1859 | remotes = ["https://rubygems.org"]; | ||
1860 | sha256 = "0bagli6ldhkpd1yym775sxy7w5n4jds6gbcjm3gmcl37vggvm8a5"; | ||
1861 | type = "gem"; | ||
1862 | }; | ||
1863 | version = "0.4.0"; | ||
1864 | }; | ||
1865 | rack-oauth2 = { | ||
1866 | dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; | ||
1867 | platforms = []; | ||
1868 | source = { | ||
1869 | remotes = ["https://rubygems.org"]; | ||
1870 | sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; | ||
1871 | type = "gem"; | ||
1872 | }; | ||
1873 | version = "1.9.3"; | ||
1874 | }; | ||
1875 | rack-piwik = { | ||
1876 | platforms = []; | ||
1877 | source = { | ||
1878 | remotes = ["https://rubygems.org"]; | ||
1879 | sha256 = "0raxrckapqh693lpid0cnx1j1v2i3mz5cyssg7grgrilgrn9318z"; | ||
1880 | type = "gem"; | ||
1881 | }; | ||
1882 | version = "0.3.0"; | ||
1883 | }; | ||
1884 | rack-protection = { | ||
1885 | dependencies = ["rack"]; | ||
1886 | platforms = []; | ||
1887 | source = { | ||
1888 | remotes = ["https://rubygems.org"]; | ||
1889 | sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; | ||
1890 | type = "gem"; | ||
1891 | }; | ||
1892 | version = "2.0.4"; | ||
1893 | }; | ||
1894 | rack-rewrite = { | ||
1895 | platforms = []; | ||
1896 | source = { | ||
1897 | remotes = ["https://rubygems.org"]; | ||
1898 | sha256 = "0milw71dv96wnc6i48vbzypws51dgf415kkp8c4air0mkdhpj838"; | ||
1899 | type = "gem"; | ||
1900 | }; | ||
1901 | version = "1.5.1"; | ||
1902 | }; | ||
1903 | rack-ssl = { | ||
1904 | dependencies = ["rack"]; | ||
1905 | platforms = []; | ||
1906 | source = { | ||
1907 | remotes = ["https://rubygems.org"]; | ||
1908 | sha256 = "0c21xqkjyl10fngq6dy8082vmn2png8cwkiyzv83ymixq5cx7ygp"; | ||
1909 | type = "gem"; | ||
1910 | }; | ||
1911 | version = "1.4.1"; | ||
1912 | }; | ||
1913 | rack-test = { | ||
1914 | dependencies = ["rack"]; | ||
1915 | platforms = []; | ||
1916 | source = { | ||
1917 | remotes = ["https://rubygems.org"]; | ||
1918 | sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; | ||
1919 | type = "gem"; | ||
1920 | }; | ||
1921 | version = "1.1.0"; | ||
1922 | }; | ||
1923 | rails = { | ||
1924 | dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; | ||
1925 | platforms = []; | ||
1926 | source = { | ||
1927 | remotes = ["https://rubygems.org"]; | ||
1928 | sha256 = "0lb07cbwgm371zyn9i6fyj9q8rmv89lacmyzrfvzxqqx2n3ilc5q"; | ||
1929 | type = "gem"; | ||
1930 | }; | ||
1931 | version = "5.1.6"; | ||
1932 | }; | ||
1933 | rails-assets-autosize = { | ||
1934 | platforms = []; | ||
1935 | source = { | ||
1936 | remotes = ["https://rails-assets.org"]; | ||
1937 | sha256 = "0hr72mfprb9678lf7dj9lh801lm7p98nzkrnrz764sy9lmbpzcib"; | ||
1938 | type = "gem"; | ||
1939 | }; | ||
1940 | version = "4.0.2"; | ||
1941 | }; | ||
1942 | rails-assets-backbone = { | ||
1943 | dependencies = ["rails-assets-underscore"]; | ||
1944 | platforms = []; | ||
1945 | source = { | ||
1946 | remotes = ["https://rails-assets.org"]; | ||
1947 | sha256 = "0zjgwhgfmg1jyyds7zfjp6g4bz8vw56qvhlrpj943wcqpdxm93id"; | ||
1948 | type = "gem"; | ||
1949 | }; | ||
1950 | version = "1.3.3"; | ||
1951 | }; | ||
1952 | rails-assets-blueimp-gallery = { | ||
1953 | platforms = []; | ||
1954 | source = { | ||
1955 | remotes = ["https://rails-assets.org"]; | ||
1956 | sha256 = "18b7xvvkdnd39xlbkyw46i86w3wzj349s8iv5wdiypa5qdcql8mq"; | ||
1957 | type = "gem"; | ||
1958 | }; | ||
1959 | version = "2.33.0"; | ||
1960 | }; | ||
1961 | rails-assets-bootstrap = { | ||
1962 | dependencies = ["rails-assets-jquery"]; | ||
1963 | platforms = []; | ||
1964 | source = { | ||
1965 | remotes = ["https://rails-assets.org"]; | ||
1966 | sha256 = "0x4i11132qcmghmqb061iq47yksrr7i0la5hzzdm38dxybh87x5v"; | ||
1967 | type = "gem"; | ||
1968 | }; | ||
1969 | version = "3.3.7"; | ||
1970 | }; | ||
1971 | rails-assets-bootstrap-markdown = { | ||
1972 | dependencies = ["rails-assets-bootstrap"]; | ||
1973 | platforms = []; | ||
1974 | source = { | ||
1975 | remotes = ["https://rails-assets.org"]; | ||
1976 | sha256 = "1nxirs9wx5jxrjmxjwvsqlf2rsypjn3ajg7fs28c4ib7wwpabwj3"; | ||
1977 | type = "gem"; | ||
1978 | }; | ||
1979 | version = "2.10.0"; | ||
1980 | }; | ||
1981 | rails-assets-corejs-typeahead = { | ||
1982 | dependencies = ["rails-assets-jquery"]; | ||
1983 | platforms = []; | ||
1984 | source = { | ||
1985 | remotes = ["https://rails-assets.org"]; | ||
1986 | sha256 = "1p5i6afd156rakrin99c2ryaz3zykx21ir6y10l34jnw03rikcfg"; | ||
1987 | type = "gem"; | ||
1988 | }; | ||
1989 | version = "1.2.1"; | ||
1990 | }; | ||
1991 | rails-assets-diaspora_jsxc = { | ||
1992 | dependencies = ["rails-assets-emojione" "rails-assets-favico.js" "rails-assets-jquery-colorbox" "rails-assets-jquery-fullscreen-plugin" "rails-assets-jquery.slimscroll" "rails-assets-jquery.ui"]; | ||
1993 | platforms = []; | ||
1994 | source = { | ||
1995 | remotes = ["https://rails-assets.org"]; | ||
1996 | sha256 = "07vqdj0l8fsj4fd2sschba2jgfbimyfad56009ldzlcvb6ml5nhi"; | ||
1997 | type = "gem"; | ||
1998 | }; | ||
1999 | version = "0.1.5.develop.7"; | ||
2000 | }; | ||
2001 | rails-assets-emojione = { | ||
2002 | platforms = []; | ||
2003 | source = { | ||
2004 | remotes = ["https://rails-assets.org"]; | ||
2005 | sha256 = "1j29vbsf6v9ikiqlmnfgzxys4xsa1glvmfky8id5xfyymnjx2c52"; | ||
2006 | type = "gem"; | ||
2007 | }; | ||
2008 | version = "2.0.1"; | ||
2009 | }; | ||
2010 | "rails-assets-favico.js" = { | ||
2011 | platforms = []; | ||
2012 | source = { | ||
2013 | remotes = ["https://rails-assets.org"]; | ||
2014 | sha256 = "19yndhljmqlvarf49h5v71zq0p0ngvspjr2v0m6lac0q9ni7r5bv"; | ||
2015 | type = "gem"; | ||
2016 | }; | ||
2017 | version = "0.3.10"; | ||
2018 | }; | ||
2019 | rails-assets-fine-uploader = { | ||
2020 | platforms = []; | ||
2021 | source = { | ||
2022 | remotes = ["https://rails-assets.org"]; | ||
2023 | sha256 = "1vxj78x2vvlchpapxpaawysc9wn8alzdd3gxhwfwy11xv8ka9mdv"; | ||
2024 | type = "gem"; | ||
2025 | }; | ||
2026 | version = "5.13.0"; | ||
2027 | }; | ||
2028 | rails-assets-highlightjs = { | ||
2029 | platforms = []; | ||
2030 | source = { | ||
2031 | remotes = ["https://rails-assets.org"]; | ||
2032 | sha256 = "0spmb0gkfs13fmljjv1n53r53q69fhb6r573ndbxnhgb3izqgnqp"; | ||
2033 | type = "gem"; | ||
2034 | }; | ||
2035 | version = "9.12.0"; | ||
2036 | }; | ||
2037 | rails-assets-jasmine = { | ||
2038 | platforms = []; | ||
2039 | source = { | ||
2040 | remotes = ["https://rails-assets.org"]; | ||
2041 | sha256 = "1n6yixrl9cgq5kckay75b44p878s1kqi69mhgyw99w8dsq8i2vy5"; | ||
2042 | type = "gem"; | ||
2043 | }; | ||
2044 | version = "3.3.0"; | ||
2045 | }; | ||
2046 | rails-assets-jasmine-ajax = { | ||
2047 | dependencies = ["rails-assets-jasmine"]; | ||
2048 | platforms = []; | ||
2049 | source = { | ||
2050 | remotes = ["https://rails-assets.org"]; | ||
2051 | sha256 = "0l8z0p75x1yzk1l1ryfvdlvq8yq4w2xngp4icz478axd5jcqx6kg"; | ||
2052 | type = "gem"; | ||
2053 | }; | ||
2054 | version = "3.4.0"; | ||
2055 | }; | ||
2056 | rails-assets-jquery = { | ||
2057 | platforms = []; | ||
2058 | source = { | ||
2059 | remotes = ["https://rails-assets.org"]; | ||
2060 | sha256 = "1wcaappk12w300733lrqb571cir9nw35d9q6d2i52wwdvhv2fx2y"; | ||
2061 | type = "gem"; | ||
2062 | }; | ||
2063 | version = "3.3.1"; | ||
2064 | }; | ||
2065 | rails-assets-jquery-colorbox = { | ||
2066 | dependencies = ["rails-assets-jquery"]; | ||
2067 | platforms = []; | ||
2068 | source = { | ||
2069 | remotes = ["https://rails-assets.org"]; | ||
2070 | sha256 = "19ws3r1zfviwnfr9s0jh6iqss50iwqkf4a78zhrk0p3bb4lvmmsp"; | ||
2071 | type = "gem"; | ||
2072 | }; | ||
2073 | version = "1.6.4"; | ||
2074 | }; | ||
2075 | rails-assets-jquery-fullscreen-plugin = { | ||
2076 | platforms = []; | ||
2077 | source = { | ||
2078 | remotes = ["https://rails-assets.org"]; | ||
2079 | sha256 = "0ldvq4s15lap9p6w7d1yw6dajn2gh6p75dbkp79p0d8ylzapsd58"; | ||
2080 | type = "gem"; | ||
2081 | }; | ||
2082 | version = "0.5.0"; | ||
2083 | }; | ||
2084 | rails-assets-jquery-placeholder = { | ||
2085 | dependencies = ["rails-assets-jquery"]; | ||
2086 | platforms = []; | ||
2087 | source = { | ||
2088 | remotes = ["https://rails-assets.org"]; | ||
2089 | sha256 = "0h17gjazc27pj4cm2ig232ww4d4ppq9bcginwzjss95pl63richi"; | ||
2090 | type = "gem"; | ||
2091 | }; | ||
2092 | version = "2.3.1"; | ||
2093 | }; | ||
2094 | rails-assets-jquery-textchange = { | ||
2095 | dependencies = ["rails-assets-jquery"]; | ||
2096 | platforms = []; | ||
2097 | source = { | ||
2098 | remotes = ["https://rails-assets.org"]; | ||
2099 | sha256 = "0rsw3cn9a5njv80zy53339kmrmv60b8fqcrr7bacapbagb2rd4dj"; | ||
2100 | type = "gem"; | ||
2101 | }; | ||
2102 | version = "0.2.3"; | ||
2103 | }; | ||
2104 | "rails-assets-jquery.are-you-sure" = { | ||
2105 | dependencies = ["rails-assets-jquery"]; | ||
2106 | platforms = []; | ||
2107 | source = { | ||
2108 | remotes = ["https://rails-assets.org"]; | ||
2109 | sha256 = "0nj04aqh9jpcg57xbjxpm2vn7mkd5clnpma907515a1nxy40bym0"; | ||
2110 | type = "gem"; | ||
2111 | }; | ||
2112 | version = "1.9.0"; | ||
2113 | }; | ||
2114 | "rails-assets-jquery.slimscroll" = { | ||
2115 | platforms = []; | ||
2116 | source = { | ||
2117 | remotes = ["https://rails-assets.org"]; | ||
2118 | sha256 = "1rymmd2rxy1vjjj70v88abmdlfs55276rs3rksj300dgirnnj998"; | ||
2119 | type = "gem"; | ||
2120 | }; | ||
2121 | version = "1.3.8"; | ||
2122 | }; | ||
2123 | "rails-assets-jquery.ui" = { | ||
2124 | dependencies = ["rails-assets-jquery"]; | ||
2125 | platforms = []; | ||
2126 | source = { | ||
2127 | remotes = ["https://rails-assets.org"]; | ||
2128 | sha256 = "0xc9kfb29hi441irj49b7aawxkddk1dxzy938rpqv9ylpsj7knaa"; | ||
2129 | type = "gem"; | ||
2130 | }; | ||
2131 | version = "1.11.4"; | ||
2132 | }; | ||
2133 | rails-assets-markdown-it = { | ||
2134 | platforms = []; | ||
2135 | source = { | ||
2136 | remotes = ["https://rails-assets.org"]; | ||
2137 | sha256 = "0fxx7ldszsdqr5ry21bnxmv33byz7abpk9lcp100q5cqsjx091r9"; | ||
2138 | type = "gem"; | ||
2139 | }; | ||
2140 | version = "8.4.2"; | ||
2141 | }; | ||
2142 | rails-assets-markdown-it--markdown-it-for-inline = { | ||
2143 | platforms = []; | ||
2144 | source = { | ||
2145 | remotes = ["https://rails-assets.org"]; | ||
2146 | sha256 = "0fznv2x7ndadr3wb4dzhh86bpcpwz8f4d8rfhz4sfbqlai40j3jl"; | ||
2147 | type = "gem"; | ||
2148 | }; | ||
2149 | version = "0.1.1"; | ||
2150 | }; | ||
2151 | rails-assets-markdown-it-diaspora-mention = { | ||
2152 | platforms = []; | ||
2153 | source = { | ||
2154 | remotes = ["https://rails-assets.org"]; | ||
2155 | sha256 = "0asggm7wgmdll8x94291p2w6icmp2izi914dlh3b7vb7dpjq3jig"; | ||
2156 | type = "gem"; | ||
2157 | }; | ||
2158 | version = "1.2.0"; | ||
2159 | }; | ||
2160 | rails-assets-markdown-it-hashtag = { | ||
2161 | platforms = []; | ||
2162 | source = { | ||
2163 | remotes = ["https://rails-assets.org"]; | ||
2164 | sha256 = "0dr8fwaxgkfqm7z4rl4jdym0i1ycqw1sgkxshkd9k0849ry12cdk"; | ||
2165 | type = "gem"; | ||
2166 | }; | ||
2167 | version = "0.4.0"; | ||
2168 | }; | ||
2169 | rails-assets-markdown-it-sanitizer = { | ||
2170 | platforms = []; | ||
2171 | source = { | ||
2172 | remotes = ["https://rails-assets.org"]; | ||
2173 | sha256 = "0fkpffh83fc257zkzaia93j4hw2baz90lg10s5yxsxww06q5dn36"; | ||
2174 | type = "gem"; | ||
2175 | }; | ||
2176 | version = "0.4.3"; | ||
2177 | }; | ||
2178 | rails-assets-markdown-it-sub = { | ||
2179 | platforms = []; | ||
2180 | source = { | ||
2181 | remotes = ["https://rails-assets.org"]; | ||
2182 | sha256 = "08hjij5fqvhvg7s27n4g8qqsks974g3kc5k7xl2qmh41k7f4hcrk"; | ||
2183 | type = "gem"; | ||
2184 | }; | ||
2185 | version = "1.0.0"; | ||
2186 | }; | ||
2187 | rails-assets-markdown-it-sup = { | ||
2188 | platforms = []; | ||
2189 | source = { | ||
2190 | remotes = ["https://rails-assets.org"]; | ||
2191 | sha256 = "17nnnvky7zy0yiwwl6dm8ibbkyvvf63xfp3snch4dzmras05lmig"; | ||
2192 | type = "gem"; | ||
2193 | }; | ||
2194 | version = "1.0.0"; | ||
2195 | }; | ||
2196 | rails-assets-underscore = { | ||
2197 | platforms = []; | ||
2198 | source = { | ||
2199 | remotes = ["https://rails-assets.org"]; | ||
2200 | sha256 = "1ccnzj7aqrvngcs915y290pijryqmjygimdwlrykpyj8vwzifdnc"; | ||
2201 | type = "gem"; | ||
2202 | }; | ||
2203 | version = "1.9.1"; | ||
2204 | }; | ||
2205 | rails-assets-utatti-perfect-scrollbar = { | ||
2206 | platforms = []; | ||
2207 | source = { | ||
2208 | remotes = ["https://rails-assets.org"]; | ||
2209 | sha256 = "0m8syfv8p5bnwm8nrba6mpjnhrd29ffwzi6awhiw537jqw42b12v"; | ||
2210 | type = "gem"; | ||
2211 | }; | ||
2212 | version = "1.4.0"; | ||
2213 | }; | ||
2214 | rails-controller-testing = { | ||
2215 | dependencies = ["actionpack" "actionview" "activesupport"]; | ||
2216 | platforms = []; | ||
2217 | source = { | ||
2218 | remotes = ["https://rubygems.org"]; | ||
2219 | sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; | ||
2220 | type = "gem"; | ||
2221 | }; | ||
2222 | version = "1.0.2"; | ||
2223 | }; | ||
2224 | rails-dom-testing = { | ||
2225 | dependencies = ["activesupport" "nokogiri"]; | ||
2226 | platforms = []; | ||
2227 | source = { | ||
2228 | remotes = ["https://rubygems.org"]; | ||
2229 | sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; | ||
2230 | type = "gem"; | ||
2231 | }; | ||
2232 | version = "2.0.3"; | ||
2233 | }; | ||
2234 | rails-html-sanitizer = { | ||
2235 | dependencies = ["loofah"]; | ||
2236 | platforms = []; | ||
2237 | source = { | ||
2238 | remotes = ["https://rubygems.org"]; | ||
2239 | sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; | ||
2240 | type = "gem"; | ||
2241 | }; | ||
2242 | version = "1.0.4"; | ||
2243 | }; | ||
2244 | rails-i18n = { | ||
2245 | dependencies = ["i18n" "railties"]; | ||
2246 | platforms = []; | ||
2247 | source = { | ||
2248 | remotes = ["https://rubygems.org"]; | ||
2249 | sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; | ||
2250 | type = "gem"; | ||
2251 | }; | ||
2252 | version = "5.1.2"; | ||
2253 | }; | ||
2254 | rails-timeago = { | ||
2255 | dependencies = ["actionpack" "activesupport"]; | ||
2256 | platforms = []; | ||
2257 | source = { | ||
2258 | remotes = ["https://rubygems.org"]; | ||
2259 | sha256 = "01x1vs9hni9wn8dc4fmyqzkrn651chzsi2mhmk0pxdrfx9md0lxv"; | ||
2260 | type = "gem"; | ||
2261 | }; | ||
2262 | version = "2.16.0"; | ||
2263 | }; | ||
2264 | railties = { | ||
2265 | dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; | ||
2266 | platforms = []; | ||
2267 | source = { | ||
2268 | remotes = ["https://rubygems.org"]; | ||
2269 | sha256 = "0ycy2gdaj0px1vfaghskvl6qkczwaigrli2zxn54w7zn1z29faj8"; | ||
2270 | type = "gem"; | ||
2271 | }; | ||
2272 | version = "5.1.6"; | ||
2273 | }; | ||
2274 | rainbow = { | ||
2275 | dependencies = ["rake"]; | ||
2276 | platforms = []; | ||
2277 | source = { | ||
2278 | remotes = ["https://rubygems.org"]; | ||
2279 | sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w"; | ||
2280 | type = "gem"; | ||
2281 | }; | ||
2282 | version = "2.2.2"; | ||
2283 | }; | ||
2284 | raindrops = { | ||
2285 | platforms = []; | ||
2286 | source = { | ||
2287 | remotes = ["https://rubygems.org"]; | ||
2288 | sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; | ||
2289 | type = "gem"; | ||
2290 | }; | ||
2291 | version = "0.19.0"; | ||
2292 | }; | ||
2293 | rake = { | ||
2294 | platforms = []; | ||
2295 | source = { | ||
2296 | remotes = ["https://rubygems.org"]; | ||
2297 | sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; | ||
2298 | type = "gem"; | ||
2299 | }; | ||
2300 | version = "12.3.1"; | ||
2301 | }; | ||
2302 | rb-fsevent = { | ||
2303 | platforms = []; | ||
2304 | source = { | ||
2305 | remotes = ["https://rubygems.org"]; | ||
2306 | sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; | ||
2307 | type = "gem"; | ||
2308 | }; | ||
2309 | version = "0.10.3"; | ||
2310 | }; | ||
2311 | rb-inotify = { | ||
2312 | dependencies = ["ffi"]; | ||
2313 | platforms = []; | ||
2314 | source = { | ||
2315 | remotes = ["https://rubygems.org"]; | ||
2316 | sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; | ||
2317 | type = "gem"; | ||
2318 | }; | ||
2319 | version = "0.9.10"; | ||
2320 | }; | ||
2321 | redcarpet = { | ||
2322 | platforms = []; | ||
2323 | source = { | ||
2324 | remotes = ["https://rubygems.org"]; | ||
2325 | sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; | ||
2326 | type = "gem"; | ||
2327 | }; | ||
2328 | version = "3.4.0"; | ||
2329 | }; | ||
2330 | redis = { | ||
2331 | platforms = []; | ||
2332 | source = { | ||
2333 | remotes = ["https://rubygems.org"]; | ||
2334 | sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv"; | ||
2335 | type = "gem"; | ||
2336 | }; | ||
2337 | version = "3.3.5"; | ||
2338 | }; | ||
2339 | regexp_parser = { | ||
2340 | platforms = []; | ||
2341 | source = { | ||
2342 | remotes = ["https://rubygems.org"]; | ||
2343 | sha256 = "18g5jyg3blsdrz3mc8d87bms6qqn6gcdh1nvdhvgbjdpk9pw21dq"; | ||
2344 | type = "gem"; | ||
2345 | }; | ||
2346 | version = "1.3.0"; | ||
2347 | }; | ||
2348 | request_store = { | ||
2349 | dependencies = ["rack"]; | ||
2350 | platforms = []; | ||
2351 | source = { | ||
2352 | remotes = ["https://rubygems.org"]; | ||
2353 | sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; | ||
2354 | type = "gem"; | ||
2355 | }; | ||
2356 | version = "1.4.1"; | ||
2357 | }; | ||
2358 | responders = { | ||
2359 | dependencies = ["actionpack" "railties"]; | ||
2360 | platforms = []; | ||
2361 | source = { | ||
2362 | remotes = ["https://rubygems.org"]; | ||
2363 | sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; | ||
2364 | type = "gem"; | ||
2365 | }; | ||
2366 | version = "2.4.0"; | ||
2367 | }; | ||
2368 | rspec = { | ||
2369 | dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; | ||
2370 | platforms = []; | ||
2371 | source = { | ||
2372 | remotes = ["https://rubygems.org"]; | ||
2373 | sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; | ||
2374 | type = "gem"; | ||
2375 | }; | ||
2376 | version = "3.8.0"; | ||
2377 | }; | ||
2378 | rspec-core = { | ||
2379 | dependencies = ["rspec-support"]; | ||
2380 | platforms = []; | ||
2381 | source = { | ||
2382 | remotes = ["https://rubygems.org"]; | ||
2383 | sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; | ||
2384 | type = "gem"; | ||
2385 | }; | ||
2386 | version = "3.8.0"; | ||
2387 | }; | ||
2388 | rspec-expectations = { | ||
2389 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2390 | platforms = []; | ||
2391 | source = { | ||
2392 | remotes = ["https://rubygems.org"]; | ||
2393 | sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; | ||
2394 | type = "gem"; | ||
2395 | }; | ||
2396 | version = "3.8.2"; | ||
2397 | }; | ||
2398 | rspec-json_expectations = { | ||
2399 | platforms = []; | ||
2400 | source = { | ||
2401 | remotes = ["https://rubygems.org"]; | ||
2402 | sha256 = "0l3dhvkb95zwyg72wz33azxigc9cisqgg3z16ksns1sx0b93nnbn"; | ||
2403 | type = "gem"; | ||
2404 | }; | ||
2405 | version = "2.1.0"; | ||
2406 | }; | ||
2407 | rspec-mocks = { | ||
2408 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2409 | platforms = []; | ||
2410 | source = { | ||
2411 | remotes = ["https://rubygems.org"]; | ||
2412 | sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; | ||
2413 | type = "gem"; | ||
2414 | }; | ||
2415 | version = "3.8.0"; | ||
2416 | }; | ||
2417 | rspec-rails = { | ||
2418 | dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; | ||
2419 | platforms = []; | ||
2420 | source = { | ||
2421 | remotes = ["https://rubygems.org"]; | ||
2422 | sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p"; | ||
2423 | type = "gem"; | ||
2424 | }; | ||
2425 | version = "3.8.1"; | ||
2426 | }; | ||
2427 | rspec-support = { | ||
2428 | platforms = []; | ||
2429 | source = { | ||
2430 | remotes = ["https://rubygems.org"]; | ||
2431 | sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; | ||
2432 | type = "gem"; | ||
2433 | }; | ||
2434 | version = "3.8.0"; | ||
2435 | }; | ||
2436 | rubocop = { | ||
2437 | dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; | ||
2438 | platforms = []; | ||
2439 | source = { | ||
2440 | remotes = ["https://rubygems.org"]; | ||
2441 | sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i"; | ||
2442 | type = "gem"; | ||
2443 | }; | ||
2444 | version = "0.60.0"; | ||
2445 | }; | ||
2446 | ruby-oembed = { | ||
2447 | platforms = []; | ||
2448 | source = { | ||
2449 | remotes = ["https://rubygems.org"]; | ||
2450 | sha256 = "1kw4aplb3m13z3kchhb79wf87qb3prn1m99s6vl5cyp0xqwyymv0"; | ||
2451 | type = "gem"; | ||
2452 | }; | ||
2453 | version = "0.12.0"; | ||
2454 | }; | ||
2455 | ruby-progressbar = { | ||
2456 | platforms = []; | ||
2457 | source = { | ||
2458 | remotes = ["https://rubygems.org"]; | ||
2459 | sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; | ||
2460 | type = "gem"; | ||
2461 | }; | ||
2462 | version = "1.10.0"; | ||
2463 | }; | ||
2464 | ruby_dep = { | ||
2465 | platforms = []; | ||
2466 | source = { | ||
2467 | remotes = ["https://rubygems.org"]; | ||
2468 | sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; | ||
2469 | type = "gem"; | ||
2470 | }; | ||
2471 | version = "1.5.0"; | ||
2472 | }; | ||
2473 | rubyzip = { | ||
2474 | platforms = []; | ||
2475 | source = { | ||
2476 | remotes = ["https://rubygems.org"]; | ||
2477 | sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; | ||
2478 | type = "gem"; | ||
2479 | }; | ||
2480 | version = "1.2.2"; | ||
2481 | }; | ||
2482 | rugged = { | ||
2483 | platforms = []; | ||
2484 | source = { | ||
2485 | remotes = ["https://rubygems.org"]; | ||
2486 | sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; | ||
2487 | type = "gem"; | ||
2488 | }; | ||
2489 | version = "0.27.5"; | ||
2490 | }; | ||
2491 | safe_yaml = { | ||
2492 | platforms = []; | ||
2493 | source = { | ||
2494 | remotes = ["https://rubygems.org"]; | ||
2495 | sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; | ||
2496 | type = "gem"; | ||
2497 | }; | ||
2498 | version = "1.0.4"; | ||
2499 | }; | ||
2500 | sass = { | ||
2501 | platforms = []; | ||
2502 | source = { | ||
2503 | remotes = ["https://rubygems.org"]; | ||
2504 | sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; | ||
2505 | type = "gem"; | ||
2506 | }; | ||
2507 | version = "3.4.25"; | ||
2508 | }; | ||
2509 | sass-rails = { | ||
2510 | dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; | ||
2511 | platforms = []; | ||
2512 | source = { | ||
2513 | remotes = ["https://rubygems.org"]; | ||
2514 | sha256 = "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"; | ||
2515 | type = "gem"; | ||
2516 | }; | ||
2517 | version = "5.0.7"; | ||
2518 | }; | ||
2519 | sawyer = { | ||
2520 | dependencies = ["addressable" "faraday"]; | ||
2521 | platforms = []; | ||
2522 | source = { | ||
2523 | remotes = ["https://rubygems.org"]; | ||
2524 | sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; | ||
2525 | type = "gem"; | ||
2526 | }; | ||
2527 | version = "0.8.1"; | ||
2528 | }; | ||
2529 | scss_lint = { | ||
2530 | dependencies = ["rake" "sass"]; | ||
2531 | platforms = []; | ||
2532 | source = { | ||
2533 | remotes = ["https://rubygems.org"]; | ||
2534 | sha256 = "11rl8kj32p34mqlkhxvlwfrwl8gdl0iha8q9xsrr3sjxjagzv8yp"; | ||
2535 | type = "gem"; | ||
2536 | }; | ||
2537 | version = "0.55.0"; | ||
2538 | }; | ||
2539 | secure_headers = { | ||
2540 | platforms = []; | ||
2541 | source = { | ||
2542 | remotes = ["https://rubygems.org"]; | ||
2543 | sha256 = "17cxci8jyvlgssix0cy7kbm5m2h7s8ym9caj8nilrbd21jis9pc5"; | ||
2544 | type = "gem"; | ||
2545 | }; | ||
2546 | version = "6.0.0"; | ||
2547 | }; | ||
2548 | shellany = { | ||
2549 | platforms = []; | ||
2550 | source = { | ||
2551 | remotes = ["https://rubygems.org"]; | ||
2552 | sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; | ||
2553 | type = "gem"; | ||
2554 | }; | ||
2555 | version = "0.0.1"; | ||
2556 | }; | ||
2557 | shoulda-matchers = { | ||
2558 | dependencies = ["activesupport"]; | ||
2559 | platforms = []; | ||
2560 | source = { | ||
2561 | remotes = ["https://rubygems.org"]; | ||
2562 | sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; | ||
2563 | type = "gem"; | ||
2564 | }; | ||
2565 | version = "3.1.2"; | ||
2566 | }; | ||
2567 | sidekiq = { | ||
2568 | dependencies = ["connection_pool" "rack-protection" "redis"]; | ||
2569 | platforms = []; | ||
2570 | source = { | ||
2571 | remotes = ["https://rubygems.org"]; | ||
2572 | sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; | ||
2573 | type = "gem"; | ||
2574 | }; | ||
2575 | version = "5.2.3"; | ||
2576 | }; | ||
2577 | sidekiq-cron = { | ||
2578 | dependencies = ["fugit" "sidekiq"]; | ||
2579 | platforms = []; | ||
2580 | source = { | ||
2581 | remotes = ["https://rubygems.org"]; | ||
2582 | sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; | ||
2583 | type = "gem"; | ||
2584 | }; | ||
2585 | version = "1.0.4"; | ||
2586 | }; | ||
2587 | simple_captcha2 = { | ||
2588 | dependencies = ["rails"]; | ||
2589 | platforms = []; | ||
2590 | source = { | ||
2591 | remotes = ["https://rubygems.org"]; | ||
2592 | sha256 = "0vdjydym8sjpa8c1q0n2hanj3n9vzi4ycdw2p6bbm6qqmm1f3fq3"; | ||
2593 | type = "gem"; | ||
2594 | }; | ||
2595 | version = "0.4.3"; | ||
2596 | }; | ||
2597 | simple_oauth = { | ||
2598 | platforms = []; | ||
2599 | source = { | ||
2600 | remotes = ["https://rubygems.org"]; | ||
2601 | sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; | ||
2602 | type = "gem"; | ||
2603 | }; | ||
2604 | version = "0.3.1"; | ||
2605 | }; | ||
2606 | simplecov = { | ||
2607 | dependencies = ["docile" "json" "simplecov-html"]; | ||
2608 | platforms = []; | ||
2609 | source = { | ||
2610 | remotes = ["https://rubygems.org"]; | ||
2611 | sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; | ||
2612 | type = "gem"; | ||
2613 | }; | ||
2614 | version = "0.16.1"; | ||
2615 | }; | ||
2616 | simplecov-html = { | ||
2617 | platforms = []; | ||
2618 | source = { | ||
2619 | remotes = ["https://rubygems.org"]; | ||
2620 | sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; | ||
2621 | type = "gem"; | ||
2622 | }; | ||
2623 | version = "0.10.2"; | ||
2624 | }; | ||
2625 | sinon-rails = { | ||
2626 | dependencies = ["railties"]; | ||
2627 | platforms = []; | ||
2628 | source = { | ||
2629 | remotes = ["https://rubygems.org"]; | ||
2630 | sha256 = "1b7996hb8vfky29b0zcql90x8i6vhdg2zy9nfzmhh820gjv3kggb"; | ||
2631 | type = "gem"; | ||
2632 | }; | ||
2633 | version = "1.15.0"; | ||
2634 | }; | ||
2635 | spring = { | ||
2636 | dependencies = ["activesupport"]; | ||
2637 | platforms = []; | ||
2638 | source = { | ||
2639 | remotes = ["https://rubygems.org"]; | ||
2640 | sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75"; | ||
2641 | type = "gem"; | ||
2642 | }; | ||
2643 | version = "2.0.2"; | ||
2644 | }; | ||
2645 | spring-commands-cucumber = { | ||
2646 | dependencies = ["spring"]; | ||
2647 | platforms = []; | ||
2648 | source = { | ||
2649 | remotes = ["https://rubygems.org"]; | ||
2650 | sha256 = "0mw81gvms2svn4k4pc6ly7smkmf0j9r2xbf0d38vygbyhiwd1c9a"; | ||
2651 | type = "gem"; | ||
2652 | }; | ||
2653 | version = "1.0.1"; | ||
2654 | }; | ||
2655 | spring-commands-rspec = { | ||
2656 | dependencies = ["spring"]; | ||
2657 | platforms = []; | ||
2658 | source = { | ||
2659 | remotes = ["https://rubygems.org"]; | ||
2660 | sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; | ||
2661 | type = "gem"; | ||
2662 | }; | ||
2663 | version = "1.0.4"; | ||
2664 | }; | ||
2665 | sprockets = { | ||
2666 | dependencies = ["concurrent-ruby" "rack"]; | ||
2667 | platforms = []; | ||
2668 | source = { | ||
2669 | remotes = ["https://rubygems.org"]; | ||
2670 | sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; | ||
2671 | type = "gem"; | ||
2672 | }; | ||
2673 | version = "3.7.2"; | ||
2674 | }; | ||
2675 | sprockets-rails = { | ||
2676 | dependencies = ["actionpack" "activesupport" "sprockets"]; | ||
2677 | platforms = []; | ||
2678 | source = { | ||
2679 | remotes = ["https://rubygems.org"]; | ||
2680 | sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; | ||
2681 | type = "gem"; | ||
2682 | }; | ||
2683 | version = "3.2.1"; | ||
2684 | }; | ||
2685 | state_machines = { | ||
2686 | platforms = []; | ||
2687 | source = { | ||
2688 | remotes = ["https://rubygems.org"]; | ||
2689 | sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3"; | ||
2690 | type = "gem"; | ||
2691 | }; | ||
2692 | version = "0.5.0"; | ||
2693 | }; | ||
2694 | string-direction = { | ||
2695 | platforms = []; | ||
2696 | source = { | ||
2697 | remotes = ["https://rubygems.org"]; | ||
2698 | sha256 = "0iyddwmkj425c6xbn5pmlr2yzwcq4snzlan7rky5b1yp2pvf70jj"; | ||
2699 | type = "gem"; | ||
2700 | }; | ||
2701 | version = "1.2.1"; | ||
2702 | }; | ||
2703 | swd = { | ||
2704 | dependencies = ["activesupport" "attr_required" "httpclient"]; | ||
2705 | platforms = []; | ||
2706 | source = { | ||
2707 | remotes = ["https://rubygems.org"]; | ||
2708 | sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; | ||
2709 | type = "gem"; | ||
2710 | }; | ||
2711 | version = "1.1.2"; | ||
2712 | }; | ||
2713 | sysexits = { | ||
2714 | platforms = []; | ||
2715 | source = { | ||
2716 | remotes = ["https://rubygems.org"]; | ||
2717 | sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; | ||
2718 | type = "gem"; | ||
2719 | }; | ||
2720 | version = "1.2.0"; | ||
2721 | }; | ||
2722 | systemu = { | ||
2723 | platforms = []; | ||
2724 | source = { | ||
2725 | remotes = ["https://rubygems.org"]; | ||
2726 | sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"; | ||
2727 | type = "gem"; | ||
2728 | }; | ||
2729 | version = "2.6.5"; | ||
2730 | }; | ||
2731 | temple = { | ||
2732 | platforms = []; | ||
2733 | source = { | ||
2734 | remotes = ["https://rubygems.org"]; | ||
2735 | sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; | ||
2736 | type = "gem"; | ||
2737 | }; | ||
2738 | version = "0.8.0"; | ||
2739 | }; | ||
2740 | term-ansicolor = { | ||
2741 | dependencies = ["tins"]; | ||
2742 | platforms = []; | ||
2743 | source = { | ||
2744 | remotes = ["https://rubygems.org"]; | ||
2745 | sha256 = "079hbagd9mk0839rkajsdrbzkn992gj8ah2n45qd64v25ml27i6d"; | ||
2746 | type = "gem"; | ||
2747 | }; | ||
2748 | version = "1.7.0"; | ||
2749 | }; | ||
2750 | terminal-table = { | ||
2751 | dependencies = ["unicode-display_width"]; | ||
2752 | platforms = []; | ||
2753 | source = { | ||
2754 | remotes = ["https://rubygems.org"]; | ||
2755 | sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; | ||
2756 | type = "gem"; | ||
2757 | }; | ||
2758 | version = "1.8.0"; | ||
2759 | }; | ||
2760 | thor = { | ||
2761 | platforms = []; | ||
2762 | source = { | ||
2763 | remotes = ["https://rubygems.org"]; | ||
2764 | sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"; | ||
2765 | type = "gem"; | ||
2766 | }; | ||
2767 | version = "0.19.4"; | ||
2768 | }; | ||
2769 | thread_safe = { | ||
2770 | platforms = []; | ||
2771 | source = { | ||
2772 | remotes = ["https://rubygems.org"]; | ||
2773 | sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; | ||
2774 | type = "gem"; | ||
2775 | }; | ||
2776 | version = "0.3.6"; | ||
2777 | }; | ||
2778 | tilt = { | ||
2779 | platforms = []; | ||
2780 | source = { | ||
2781 | remotes = ["https://rubygems.org"]; | ||
2782 | sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; | ||
2783 | type = "gem"; | ||
2784 | }; | ||
2785 | version = "2.0.8"; | ||
2786 | }; | ||
2787 | timecop = { | ||
2788 | platforms = []; | ||
2789 | source = { | ||
2790 | remotes = ["https://rubygems.org"]; | ||
2791 | sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"; | ||
2792 | type = "gem"; | ||
2793 | }; | ||
2794 | version = "0.9.1"; | ||
2795 | }; | ||
2796 | timers = { | ||
2797 | platforms = []; | ||
2798 | source = { | ||
2799 | remotes = ["https://rubygems.org"]; | ||
2800 | sha256 = "04zbs9wyzajn7g9xfgg2zqz5kzf0qa7jgh4hgry4pfcxfmlnwdwx"; | ||
2801 | type = "gem"; | ||
2802 | }; | ||
2803 | version = "4.2.0"; | ||
2804 | }; | ||
2805 | tins = { | ||
2806 | platforms = []; | ||
2807 | source = { | ||
2808 | remotes = ["https://rubygems.org"]; | ||
2809 | sha256 = "1pqj45n216zrz7yckdbdknlmhh187iqzx8fp76y2h0jrgqjfkxmj"; | ||
2810 | type = "gem"; | ||
2811 | }; | ||
2812 | version = "1.20.2"; | ||
2813 | }; | ||
2814 | to_regexp = { | ||
2815 | platforms = []; | ||
2816 | source = { | ||
2817 | remotes = ["https://rubygems.org"]; | ||
2818 | sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v"; | ||
2819 | type = "gem"; | ||
2820 | }; | ||
2821 | version = "0.2.1"; | ||
2822 | }; | ||
2823 | turbo_dev_assets = { | ||
2824 | platforms = []; | ||
2825 | source = { | ||
2826 | remotes = ["https://rubygems.org"]; | ||
2827 | sha256 = "08yp7gpishjfj8b7d61hxs677288ycv6yg78a7hfzn631gxczipx"; | ||
2828 | type = "gem"; | ||
2829 | }; | ||
2830 | version = "0.0.2"; | ||
2831 | }; | ||
2832 | twitter = { | ||
2833 | dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; | ||
2834 | platforms = []; | ||
2835 | source = { | ||
2836 | remotes = ["https://rubygems.org"]; | ||
2837 | sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5"; | ||
2838 | type = "gem"; | ||
2839 | }; | ||
2840 | version = "6.2.0"; | ||
2841 | }; | ||
2842 | twitter-text = { | ||
2843 | dependencies = ["unf"]; | ||
2844 | platforms = []; | ||
2845 | source = { | ||
2846 | remotes = ["https://rubygems.org"]; | ||
2847 | sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; | ||
2848 | type = "gem"; | ||
2849 | }; | ||
2850 | version = "1.14.7"; | ||
2851 | }; | ||
2852 | typhoeus = { | ||
2853 | dependencies = ["ethon"]; | ||
2854 | platforms = []; | ||
2855 | source = { | ||
2856 | remotes = ["https://rubygems.org"]; | ||
2857 | sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; | ||
2858 | type = "gem"; | ||
2859 | }; | ||
2860 | version = "1.3.1"; | ||
2861 | }; | ||
2862 | tzinfo = { | ||
2863 | dependencies = ["thread_safe"]; | ||
2864 | platforms = []; | ||
2865 | source = { | ||
2866 | remotes = ["https://rubygems.org"]; | ||
2867 | sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; | ||
2868 | type = "gem"; | ||
2869 | }; | ||
2870 | version = "1.2.5"; | ||
2871 | }; | ||
2872 | uglifier = { | ||
2873 | dependencies = ["execjs"]; | ||
2874 | platforms = []; | ||
2875 | source = { | ||
2876 | remotes = ["https://rubygems.org"]; | ||
2877 | sha256 = "1g203kly5wp4qlkc7371skyvyin6iinc8i0p5wrpiqgblqxxgcf1"; | ||
2878 | type = "gem"; | ||
2879 | }; | ||
2880 | version = "4.1.19"; | ||
2881 | }; | ||
2882 | unf = { | ||
2883 | dependencies = ["unf_ext"]; | ||
2884 | platforms = []; | ||
2885 | source = { | ||
2886 | remotes = ["https://rubygems.org"]; | ||
2887 | sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; | ||
2888 | type = "gem"; | ||
2889 | }; | ||
2890 | version = "0.1.4"; | ||
2891 | }; | ||
2892 | unf_ext = { | ||
2893 | platforms = []; | ||
2894 | source = { | ||
2895 | remotes = ["https://rubygems.org"]; | ||
2896 | sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; | ||
2897 | type = "gem"; | ||
2898 | }; | ||
2899 | version = "0.0.7.5"; | ||
2900 | }; | ||
2901 | unicode-display_width = { | ||
2902 | platforms = []; | ||
2903 | source = { | ||
2904 | remotes = ["https://rubygems.org"]; | ||
2905 | sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; | ||
2906 | type = "gem"; | ||
2907 | }; | ||
2908 | version = "1.4.0"; | ||
2909 | }; | ||
2910 | unicorn = { | ||
2911 | dependencies = ["kgio" "raindrops"]; | ||
2912 | platforms = []; | ||
2913 | source = { | ||
2914 | remotes = ["https://rubygems.org"]; | ||
2915 | sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; | ||
2916 | type = "gem"; | ||
2917 | }; | ||
2918 | version = "5.4.1"; | ||
2919 | }; | ||
2920 | unicorn-worker-killer = { | ||
2921 | dependencies = ["get_process_mem" "unicorn"]; | ||
2922 | platforms = []; | ||
2923 | source = { | ||
2924 | remotes = ["https://rubygems.org"]; | ||
2925 | sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva"; | ||
2926 | type = "gem"; | ||
2927 | }; | ||
2928 | version = "0.4.4"; | ||
2929 | }; | ||
2930 | uuid = { | ||
2931 | dependencies = ["macaddr"]; | ||
2932 | platforms = []; | ||
2933 | source = { | ||
2934 | remotes = ["https://rubygems.org"]; | ||
2935 | sha256 = "1mr405vg4ccnndkyf7pb49gp1fha8i6gj7iwq43nxkak41cwzh5f"; | ||
2936 | type = "gem"; | ||
2937 | }; | ||
2938 | version = "2.3.9"; | ||
2939 | }; | ||
2940 | valid = { | ||
2941 | platforms = []; | ||
2942 | source = { | ||
2943 | remotes = ["https://rubygems.org"]; | ||
2944 | sha256 = "0vxrgik9gxyh5j2w16nz5azjk0cbzmvv883hq9pvxm9anfbbj8d3"; | ||
2945 | type = "gem"; | ||
2946 | }; | ||
2947 | version = "1.2.0"; | ||
2948 | }; | ||
2949 | validate_email = { | ||
2950 | dependencies = ["activemodel" "mail"]; | ||
2951 | platforms = []; | ||
2952 | source = { | ||
2953 | remotes = ["https://rubygems.org"]; | ||
2954 | sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; | ||
2955 | type = "gem"; | ||
2956 | }; | ||
2957 | version = "0.1.6"; | ||
2958 | }; | ||
2959 | validate_url = { | ||
2960 | dependencies = ["activemodel" "addressable"]; | ||
2961 | platforms = []; | ||
2962 | source = { | ||
2963 | remotes = ["https://rubygems.org"]; | ||
2964 | sha256 = "1df4gch8dizimpbl185vfgw95yb8ffr6zwj6whzbxfil95c3f2qh"; | ||
2965 | type = "gem"; | ||
2966 | }; | ||
2967 | version = "1.0.2"; | ||
2968 | }; | ||
2969 | versionist = { | ||
2970 | dependencies = ["activesupport" "railties" "yard"]; | ||
2971 | platforms = []; | ||
2972 | source = { | ||
2973 | remotes = ["https://rubygems.org"]; | ||
2974 | sha256 = "1p8wizg6jml7gz1qiqk7d77hy0w5650g812jhgd0zzkwwdmzm38m"; | ||
2975 | type = "gem"; | ||
2976 | }; | ||
2977 | version = "1.7.0"; | ||
2978 | }; | ||
2979 | warden = { | ||
2980 | dependencies = ["rack"]; | ||
2981 | platforms = []; | ||
2982 | source = { | ||
2983 | remotes = ["https://rubygems.org"]; | ||
2984 | sha256 = "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"; | ||
2985 | type = "gem"; | ||
2986 | }; | ||
2987 | version = "1.2.8"; | ||
2988 | }; | ||
2989 | webfinger = { | ||
2990 | dependencies = ["activesupport" "httpclient"]; | ||
2991 | platforms = []; | ||
2992 | source = { | ||
2993 | remotes = ["https://rubygems.org"]; | ||
2994 | sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; | ||
2995 | type = "gem"; | ||
2996 | }; | ||
2997 | version = "1.1.0"; | ||
2998 | }; | ||
2999 | webmock = { | ||
3000 | dependencies = ["addressable" "crack" "hashdiff"]; | ||
3001 | platforms = []; | ||
3002 | source = { | ||
3003 | remotes = ["https://rubygems.org"]; | ||
3004 | sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; | ||
3005 | type = "gem"; | ||
3006 | }; | ||
3007 | version = "3.4.2"; | ||
3008 | }; | ||
3009 | websocket-driver = { | ||
3010 | dependencies = ["websocket-extensions"]; | ||
3011 | platforms = []; | ||
3012 | source = { | ||
3013 | remotes = ["https://rubygems.org"]; | ||
3014 | sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; | ||
3015 | type = "gem"; | ||
3016 | }; | ||
3017 | version = "0.6.5"; | ||
3018 | }; | ||
3019 | websocket-extensions = { | ||
3020 | platforms = []; | ||
3021 | source = { | ||
3022 | remotes = ["https://rubygems.org"]; | ||
3023 | sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; | ||
3024 | type = "gem"; | ||
3025 | }; | ||
3026 | version = "0.1.3"; | ||
3027 | }; | ||
3028 | will_paginate = { | ||
3029 | platforms = []; | ||
3030 | source = { | ||
3031 | remotes = ["https://rubygems.org"]; | ||
3032 | sha256 = "0ihf15yaj8883ddhkxq7q60zrg3zfsvqaf5853gybhcg18zq8bn9"; | ||
3033 | type = "gem"; | ||
3034 | }; | ||
3035 | version = "3.1.6"; | ||
3036 | }; | ||
3037 | xpath = { | ||
3038 | dependencies = ["nokogiri"]; | ||
3039 | platforms = []; | ||
3040 | source = { | ||
3041 | remotes = ["https://rubygems.org"]; | ||
3042 | sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; | ||
3043 | type = "gem"; | ||
3044 | }; | ||
3045 | version = "3.2.0"; | ||
3046 | }; | ||
3047 | yard = { | ||
3048 | platforms = []; | ||
3049 | source = { | ||
3050 | remotes = ["https://rubygems.org"]; | ||
3051 | sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"; | ||
3052 | type = "gem"; | ||
3053 | }; | ||
3054 | version = "0.9.16"; | ||
3055 | }; | ||
3056 | } \ No newline at end of file | ||
diff --git a/nixops/modules/websites/tools/diaspora/ldap.patch b/nixops/modules/websites/tools/diaspora/ldap.patch deleted file mode 100644 index 3d4f785..0000000 --- a/nixops/modules/websites/tools/diaspora/ldap.patch +++ /dev/null | |||
@@ -1,256 +0,0 @@ | |||
1 | commit 936a14e225037aca4cdeac11c843c7985e636c88 | ||
2 | Author: Ismaël Bouya <ismael.bouya@normalesup.org> | ||
3 | Date: Mon Jul 24 19:58:24 2017 +0200 | ||
4 | |||
5 | Add LDAP to diaspora | ||
6 | |||
7 | diff --git a/Gemfile b/Gemfile | ||
8 | index 414b0138d..2a934e9c9 100644 | ||
9 | --- a/Gemfile | ||
10 | +++ b/Gemfile | ||
11 | @@ -217,6 +217,9 @@ gem "thor", "0.19.1" | ||
12 | |||
13 | # gem "therubyracer", :platform => :ruby | ||
14 | |||
15 | +# LDAP | ||
16 | +gem 'net-ldap', '~> 0.16' | ||
17 | + | ||
18 | group :production do # we don"t install these on travis to speed up test runs | ||
19 | # Analytics | ||
20 | |||
21 | diff --git a/Gemfile.lock b/Gemfile.lock | ||
22 | index 84f8172e4..cdbf19fcd 100644 | ||
23 | --- a/Gemfile.lock 2019-01-13 19:55:52.538561762 +0100 | ||
24 | +++ b/Gemfile.lock 2019-01-13 19:58:11.087099067 +0100 | ||
25 | @@ -398,6 +398,7 @@ | ||
26 | mysql2 (0.5.2) | ||
27 | naught (1.1.0) | ||
28 | nenv (0.3.0) | ||
29 | + net-ldap (0.16.1) | ||
30 | nio4r (2.3.1) | ||
31 | nokogiri (1.8.5) | ||
32 | mini_portile2 (~> 2.3.0) | ||
33 | @@ -820,6 +821,7 @@ | ||
34 | minitest | ||
35 | mobile-fu (= 1.4.0) | ||
36 | mysql2 (= 0.5.2) | ||
37 | + net-ldap (~> 0.16) | ||
38 | nokogiri (= 1.8.5) | ||
39 | omniauth (= 1.8.1) | ||
40 | omniauth-tumblr (= 1.2) | ||
41 | diff --git a/app/models/user.rb b/app/models/user.rb | ||
42 | index 940a48f25..d1e2beeee 100644 | ||
43 | --- a/app/models/user.rb | ||
44 | +++ b/app/models/user.rb | ||
45 | @@ -337,6 +337,12 @@ class User < ActiveRecord::Base | ||
46 | end | ||
47 | |||
48 | def send_confirm_email | ||
49 | + if skip_email_confirmation? | ||
50 | + self.email = unconfirmed_email | ||
51 | + self.unconfirmed_email = nil | ||
52 | + save | ||
53 | + end | ||
54 | + | ||
55 | return if unconfirmed_email.blank? | ||
56 | Workers::Mail::ConfirmEmail.perform_async(id) | ||
57 | end | ||
58 | @@ -554,6 +560,14 @@ class User < ActiveRecord::Base | ||
59 | end | ||
60 | end | ||
61 | |||
62 | + def ldap_user? | ||
63 | + AppConfig.ldap.enable? && ldap_dn.present? | ||
64 | + end | ||
65 | + | ||
66 | + def skip_email_confirmation? | ||
67 | + ldap_user? && AppConfig.ldap.skip_email_confirmation? | ||
68 | + end | ||
69 | + | ||
70 | private | ||
71 | |||
72 | def clearable_fields | ||
73 | diff --git a/config/defaults.yml b/config/defaults.yml | ||
74 | index c046aff07..66e9afa13 100644 | ||
75 | --- a/config/defaults.yml | ||
76 | +++ b/config/defaults.yml | ||
77 | @@ -202,6 +202,20 @@ defaults: | ||
78 | scope: tags | ||
79 | include_user_tags: false | ||
80 | pod_tags: | ||
81 | + ldap: | ||
82 | + enable: false | ||
83 | + host: localhost | ||
84 | + port: 389 | ||
85 | + only_ldap: true | ||
86 | + mail_attribute: mail | ||
87 | + skip_email_confirmation: true | ||
88 | + use_bind_dn: true | ||
89 | + bind_dn: "cn=diaspora,dc=example,dc=com" | ||
90 | + bind_pw: "password" | ||
91 | + search_base: "dc=example,dc=com" | ||
92 | + search_filter: "uid=%{username}" | ||
93 | + bind_template: "uid=%{username},dc=example,dc=com" | ||
94 | + | ||
95 | |||
96 | development: | ||
97 | environment: | ||
98 | diff --git a/config/diaspora.yml.example b/config/diaspora.yml.example | ||
99 | index b2573625d..c357c8651 100644 | ||
100 | --- a/config/diaspora.yml.example | ||
101 | +++ b/config/diaspora.yml.example | ||
102 | @@ -710,6 +710,36 @@ configuration: ## Section | ||
103 | ## If scope is 'tags', a comma separated list of tags here can be set. | ||
104 | ## For example "linux,diaspora", to receive posts related to these tags | ||
105 | #pod_tags: | ||
106 | + ldap: | ||
107 | + # Uncomment next line if you want to use LDAP on your instance | ||
108 | + enable: true | ||
109 | + host: localhost | ||
110 | + port: 389 | ||
111 | + # Use only LDAP authentication (don't try other means) | ||
112 | + only_ldap: true | ||
113 | + # LDAP attribute to find the user's e-mail. Necessary to create accounts | ||
114 | + # for not existing users | ||
115 | + mail_attribute: mail | ||
116 | + # Skip e-mail confirmation when creating an account via LDAP. | ||
117 | + skip_email_confirmation: true | ||
118 | + # ----- Using bind_dn and bind_pw | ||
119 | + # bind_dn and bind_pw may be used if the diaspora instance | ||
120 | + # should be able to connect to LDAP to find and search for users. | ||
121 | + | ||
122 | + use_bind_dn: true | ||
123 | + bind_dn: "cn=diaspora,dc=example,dc=com" | ||
124 | + bind_pw: "password" | ||
125 | + search_base: "dc=example,dc=com" | ||
126 | + # This is the filter with which to search for the user. %{username} will | ||
127 | + # be replaced by the given login. | ||
128 | + search_filter: "uid=%{username}" | ||
129 | + # | ||
130 | + # ----- Using template | ||
131 | + # This setting doesn't require a diaspora LDAP user. Use a template, and | ||
132 | + # diaspora will try to login with the templated dn and password | ||
133 | + # | ||
134 | + # bind_template: "uid=%{username},dc=example,dc=com" | ||
135 | + | ||
136 | |||
137 | ## Here you can override settings defined above if you need | ||
138 | ## to have them different in different environments. | ||
139 | diff --git a/config/initializers/0_ldap_authenticatable.rb b/config/initializers/0_ldap_authenticatable.rb | ||
140 | new file mode 100644 | ||
141 | index 000000000..49846502f | ||
142 | --- /dev/null | ||
143 | +++ b/config/initializers/0_ldap_authenticatable.rb | ||
144 | @@ -0,0 +1,82 @@ | ||
145 | +require 'net/ldap' | ||
146 | +require 'devise/strategies/authenticatable' | ||
147 | + | ||
148 | +module Devise | ||
149 | + module Strategies | ||
150 | + class LdapAuthenticatable < Authenticatable | ||
151 | + def valid? | ||
152 | + AppConfig.ldap.enable? && params[:user].present? | ||
153 | + end | ||
154 | + | ||
155 | + def authenticate! | ||
156 | + ldap = Net::LDAP.new( | ||
157 | + host: AppConfig.ldap.host, | ||
158 | + port: AppConfig.ldap.port, | ||
159 | + encryption: :simple_tls, | ||
160 | + ) | ||
161 | + | ||
162 | + if AppConfig.ldap.use_bind_dn? | ||
163 | + ldap.auth AppConfig.ldap.bind_dn, AppConfig.ldap.bind_pw | ||
164 | + | ||
165 | + if !ldap.bind | ||
166 | + return fail(:ldap_configuration_error) | ||
167 | + end | ||
168 | + | ||
169 | + search_filter = AppConfig.ldap.search_filter % { username: params[:user][:username] } | ||
170 | + | ||
171 | + result = ldap.search(base: AppConfig.ldap.search_base, filter: search_filter, result_set: true) | ||
172 | + | ||
173 | + if result.count != 1 | ||
174 | + return login_fail | ||
175 | + end | ||
176 | + | ||
177 | + user_dn = result.first.dn | ||
178 | + user_email = result.first[AppConfig.ldap.mail_attribute].first | ||
179 | + else | ||
180 | + user_dn = AppConfig.ldap.bind_template % { username: params[:user][:username] } | ||
181 | + end | ||
182 | + | ||
183 | + ldap.auth user_dn, params[:user][:password] | ||
184 | + | ||
185 | + if ldap.bind | ||
186 | + user = User.find_by(ldap_dn: user_dn) | ||
187 | + | ||
188 | + # We don't want to trust too much the email attribute from | ||
189 | + # LDAP: if the user can edit it himself, he may login as | ||
190 | + # anyone | ||
191 | + if user.nil? | ||
192 | + if !AppConfig.ldap.use_bind_dn? | ||
193 | + result = ldap.search(base: user_dn, scope: Net::LDAP::SearchScope_BaseObject, filter: "(objectClass=*)", result_set: true) | ||
194 | + user_email = result.first[AppConfig.ldap.mail_attribute].first | ||
195 | + end | ||
196 | + | ||
197 | + if user_email.present? && User.find_by(email: user_email).nil? | ||
198 | + # Password is used for remember_me token | ||
199 | + user = User.build(email: user_email, ldap_dn: user_dn, password: SecureRandom.hex, username: params[:user][:username]) | ||
200 | + user.save | ||
201 | + user.seed_aspects | ||
202 | + elsif User.find_by(email: user_email).present? | ||
203 | + return fail(:ldap_existing_email) | ||
204 | + else | ||
205 | + return fail(:ldap_cannot_create_account_without_email) | ||
206 | + end | ||
207 | + end | ||
208 | + | ||
209 | + success!(user) | ||
210 | + else | ||
211 | + return login_fail | ||
212 | + end | ||
213 | + end | ||
214 | + | ||
215 | + def login_fail | ||
216 | + if AppConfig.ldap.only_ldap? | ||
217 | + return fail(:ldap_invalid_login) | ||
218 | + else | ||
219 | + return pass | ||
220 | + end | ||
221 | + end | ||
222 | + end | ||
223 | + end | ||
224 | +end | ||
225 | + | ||
226 | +Warden::Strategies.add(:ldap_authenticatable, Devise::Strategies::LdapAuthenticatable) | ||
227 | diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb | ||
228 | index 3698e2373..14e88063e 100644 | ||
229 | --- a/config/initializers/devise.rb | ||
230 | +++ b/config/initializers/devise.rb | ||
231 | @@ -250,10 +250,9 @@ Devise.setup do |config| | ||
232 | # If you want to use other strategies, that are not supported by Devise, or | ||
233 | # change the failure app, you can configure them inside the config.warden block. | ||
234 | # | ||
235 | - # config.warden do |manager| | ||
236 | - # manager.intercept_401 = false | ||
237 | - # manager.default_strategies(:scope => :user).unshift :some_external_strategy | ||
238 | - # end | ||
239 | + config.warden do |manager| | ||
240 | + manager.default_strategies(scope: :user).unshift :ldap_authenticatable | ||
241 | + end | ||
242 | |||
243 | # ==> Mountable engine configurations | ||
244 | # When using Devise inside an engine, let's call it `MyEngine`, and this engine | ||
245 | diff --git a/db/migrate/20170724182100_add_ldap_dn_to_users.rb b/db/migrate/20170724182100_add_ldap_dn_to_users.rb | ||
246 | new file mode 100644 | ||
247 | index 000000000..f5cc84d11 | ||
248 | --- /dev/null | ||
249 | +++ b/db/migrate/20170724182100_add_ldap_dn_to_users.rb | ||
250 | @@ -0,0 +1,6 @@ | ||
251 | +class AddLdapDnToUsers < ActiveRecord::Migration | ||
252 | + def change | ||
253 | + add_column :users, :ldap_dn, :text, null: true, default: nil | ||
254 | + add_index :users, ['ldap_dn'], :length => { "ldap_dn" => 191 } | ||
255 | + end | ||
256 | +end | ||