Commit 711c382baea06415a9bb5bb490d3ece4622a996c

Authored by Karpikau Andrei
1 parent 5562b757

check kanjai futures

Showing 28 changed files with 1228 additions and 190 deletions
1 1 PATH
2 2 remote: .
3 3 specs:
4   - kanjai (0.0.121)
  4 + kanjai (0.0.129)
5 5 acts_as_list
6 6 acts_as_tree
7   - aws-sdk-s3
  7 + aws-sdk
  8 + deep_cloneable
8 9 devise
9 10 pg (= 1.0.0)
10 11 rails (~> 5.2)
... ... @@ -13,85 +14,966 @@ PATH
13 14 GEM
14 15 remote: https://rubygems.org/
15 16 specs:
16   - actioncable (5.2.2)
17   - actionpack (= 5.2.2)
  17 + actioncable (5.2.4.1)
  18 + actionpack (= 5.2.4.1)
18 19 nio4r (~> 2.0)
19 20 websocket-driver (>= 0.6.1)
20   - actionmailer (5.2.2)
21   - actionpack (= 5.2.2)
22   - actionview (= 5.2.2)
23   - activejob (= 5.2.2)
  21 + actionmailer (5.2.4.1)
  22 + actionpack (= 5.2.4.1)
  23 + actionview (= 5.2.4.1)
  24 + activejob (= 5.2.4.1)
24 25 mail (~> 2.5, >= 2.5.4)
25 26 rails-dom-testing (~> 2.0)
26   - actionpack (5.2.2)
27   - actionview (= 5.2.2)
28   - activesupport (= 5.2.2)
29   - rack (~> 2.0)
  27 + actionpack (5.2.4.1)
  28 + actionview (= 5.2.4.1)
  29 + activesupport (= 5.2.4.1)
  30 + rack (~> 2.0, >= 2.0.8)
30 31 rack-test (>= 0.6.3)
31 32 rails-dom-testing (~> 2.0)
32 33 rails-html-sanitizer (~> 1.0, >= 1.0.2)
33   - actionview (5.2.2)
34   - activesupport (= 5.2.2)
  34 + actionview (5.2.4.1)
  35 + activesupport (= 5.2.4.1)
35 36 builder (~> 3.1)
36 37 erubi (~> 1.4)
37 38 rails-dom-testing (~> 2.0)
38 39 rails-html-sanitizer (~> 1.0, >= 1.0.3)
39   - activejob (5.2.2)
40   - activesupport (= 5.2.2)
  40 + activejob (5.2.4.1)
  41 + activesupport (= 5.2.4.1)
41 42 globalid (>= 0.3.6)
42   - activemodel (5.2.2)
43   - activesupport (= 5.2.2)
44   - activerecord (5.2.2)
45   - activemodel (= 5.2.2)
46   - activesupport (= 5.2.2)
  43 + activemodel (5.2.4.1)
  44 + activesupport (= 5.2.4.1)
  45 + activerecord (5.2.4.1)
  46 + activemodel (= 5.2.4.1)
  47 + activesupport (= 5.2.4.1)
47 48 arel (>= 9.0)
48   - activestorage (5.2.2)
49   - actionpack (= 5.2.2)
50   - activerecord (= 5.2.2)
  49 + activestorage (5.2.4.1)
  50 + actionpack (= 5.2.4.1)
  51 + activerecord (= 5.2.4.1)
51 52 marcel (~> 0.3.1)
52   - activesupport (5.2.2)
  53 + activesupport (5.2.4.1)
53 54 concurrent-ruby (~> 1.0, >= 1.0.2)
54 55 i18n (>= 0.7, < 2)
55 56 minitest (~> 5.1)
56 57 tzinfo (~> 1.1)
57   - acts_as_list (0.9.18)
  58 + acts_as_list (0.9.19)
58 59 activerecord (>= 3.0)
59   - acts_as_tree (2.9.0)
  60 + acts_as_tree (2.9.1)
60 61 activerecord (>= 3.0.0)
61 62 arel (9.0.0)
62   - aws-eventstream (1.0.1)
63   - aws-partitions (1.143.0)
64   - aws-sdk-core (3.46.2)
65   - aws-eventstream (~> 1.0)
66   - aws-partitions (~> 1.0)
67   - aws-sigv4 (~> 1.0)
  63 + aws-eventstream (1.0.3)
  64 + aws-partitions (1.275.0)
  65 + aws-sdk (3.0.1)
  66 + aws-sdk-resources (~> 3)
  67 + aws-sdk-accessanalyzer (1.1.0)
  68 + aws-sdk-core (~> 3, >= 3.71.0)
  69 + aws-sigv4 (~> 1.1)
  70 + aws-sdk-acm (1.27.0)
  71 + aws-sdk-core (~> 3, >= 3.71.0)
  72 + aws-sigv4 (~> 1.1)
  73 + aws-sdk-acmpca (1.21.0)
  74 + aws-sdk-core (~> 3, >= 3.71.0)
  75 + aws-sigv4 (~> 1.1)
  76 + aws-sdk-alexaforbusiness (1.33.0)
  77 + aws-sdk-core (~> 3, >= 3.71.0)
  78 + aws-sigv4 (~> 1.1)
  79 + aws-sdk-amplify (1.14.0)
  80 + aws-sdk-core (~> 3, >= 3.71.0)
  81 + aws-sigv4 (~> 1.1)
  82 + aws-sdk-apigateway (1.36.0)
  83 + aws-sdk-core (~> 3, >= 3.71.0)
  84 + aws-sigv4 (~> 1.1)
  85 + aws-sdk-apigatewaymanagementapi (1.11.0)
  86 + aws-sdk-core (~> 3, >= 3.71.0)
  87 + aws-sigv4 (~> 1.1)
  88 + aws-sdk-apigatewayv2 (1.15.0)
  89 + aws-sdk-core (~> 3, >= 3.71.0)
  90 + aws-sigv4 (~> 1.1)
  91 + aws-sdk-appconfig (1.0.0)
  92 + aws-sdk-core (~> 3, >= 3.71.0)
  93 + aws-sigv4 (~> 1.1)
  94 + aws-sdk-applicationautoscaling (1.35.0)
  95 + aws-sdk-core (~> 3, >= 3.71.0)
  96 + aws-sigv4 (~> 1.1)
  97 + aws-sdk-applicationdiscoveryservice (1.24.0)
  98 + aws-sdk-core (~> 3, >= 3.71.0)
  99 + aws-sigv4 (~> 1.1)
  100 + aws-sdk-applicationinsights (1.6.0)
  101 + aws-sdk-core (~> 3, >= 3.71.0)
  102 + aws-sigv4 (~> 1.1)
  103 + aws-sdk-appmesh (1.18.0)
  104 + aws-sdk-core (~> 3, >= 3.71.0)
  105 + aws-sigv4 (~> 1.1)
  106 + aws-sdk-appstream (1.38.0)
  107 + aws-sdk-core (~> 3, >= 3.71.0)
  108 + aws-sigv4 (~> 1.1)
  109 + aws-sdk-appsync (1.23.0)
  110 + aws-sdk-core (~> 3, >= 3.71.0)
  111 + aws-sigv4 (~> 1.1)
  112 + aws-sdk-athena (1.22.0)
  113 + aws-sdk-core (~> 3, >= 3.71.0)
  114 + aws-sigv4 (~> 1.1)
  115 + aws-sdk-augmentedairuntime (1.0.0)
  116 + aws-sdk-core (~> 3, >= 3.71.0)
  117 + aws-sigv4 (~> 1.1)
  118 + aws-sdk-autoscaling (1.32.0)
  119 + aws-sdk-core (~> 3, >= 3.71.0)
  120 + aws-sigv4 (~> 1.1)
  121 + aws-sdk-autoscalingplans (1.20.0)
  122 + aws-sdk-core (~> 3, >= 3.71.0)
  123 + aws-sigv4 (~> 1.1)
  124 + aws-sdk-backup (1.11.0)
  125 + aws-sdk-core (~> 3, >= 3.71.0)
  126 + aws-sigv4 (~> 1.1)
  127 + aws-sdk-batch (1.28.0)
  128 + aws-sdk-core (~> 3, >= 3.71.0)
  129 + aws-sigv4 (~> 1.1)
  130 + aws-sdk-budgets (1.27.0)
  131 + aws-sdk-core (~> 3, >= 3.71.0)
  132 + aws-sigv4 (~> 1.1)
  133 + aws-sdk-chime (1.20.0)
  134 + aws-sdk-core (~> 3, >= 3.71.0)
  135 + aws-sigv4 (~> 1.1)
  136 + aws-sdk-cloud9 (1.20.0)
  137 + aws-sdk-core (~> 3, >= 3.71.0)
  138 + aws-sigv4 (~> 1.1)
  139 + aws-sdk-clouddirectory (1.21.0)
  140 + aws-sdk-core (~> 3, >= 3.71.0)
  141 + aws-sigv4 (~> 1.1)
  142 + aws-sdk-cloudformation (1.30.0)
  143 + aws-sdk-core (~> 3, >= 3.71.0)
  144 + aws-sigv4 (~> 1.1)
  145 + aws-sdk-cloudfront (1.25.0)
  146 + aws-sdk-core (~> 3, >= 3.71.0)
  147 + aws-sigv4 (~> 1.1)
  148 + aws-sdk-cloudhsm (1.19.0)
  149 + aws-sdk-core (~> 3, >= 3.71.0)
  150 + aws-sigv4 (~> 1.1)
  151 + aws-sdk-cloudhsmv2 (1.20.0)
  152 + aws-sdk-core (~> 3, >= 3.71.0)
  153 + aws-sigv4 (~> 1.1)
  154 + aws-sdk-cloudsearch (1.17.0)
  155 + aws-sdk-core (~> 3, >= 3.71.0)
  156 + aws-sigv4 (~> 1.1)
  157 + aws-sdk-cloudsearchdomain (1.16.0)
  158 + aws-sdk-core (~> 3, >= 3.71.0)
  159 + aws-sigv4 (~> 1.1)
  160 + aws-sdk-cloudtrail (1.20.0)
  161 + aws-sdk-core (~> 3, >= 3.71.0)
  162 + aws-sigv4 (~> 1.1)
  163 + aws-sdk-cloudwatch (1.32.0)
  164 + aws-sdk-core (~> 3, >= 3.71.0)
  165 + aws-sigv4 (~> 1.1)
  166 + aws-sdk-cloudwatchevents (1.25.0)
  167 + aws-sdk-core (~> 3, >= 3.71.0)
  168 + aws-sigv4 (~> 1.1)
  169 + aws-sdk-cloudwatchlogs (1.28.0)
  170 + aws-sdk-core (~> 3, >= 3.71.0)
  171 + aws-sigv4 (~> 1.1)
  172 + aws-sdk-codebuild (1.48.0)
  173 + aws-sdk-core (~> 3, >= 3.71.0)
  174 + aws-sigv4 (~> 1.1)
  175 + aws-sdk-codecommit (1.30.0)
  176 + aws-sdk-core (~> 3, >= 3.71.0)
  177 + aws-sigv4 (~> 1.1)
  178 + aws-sdk-codedeploy (1.27.0)
  179 + aws-sdk-core (~> 3, >= 3.71.0)
  180 + aws-sigv4 (~> 1.1)
  181 + aws-sdk-codeguruprofiler (1.0.0)
  182 + aws-sdk-core (~> 3, >= 3.71.0)
  183 + aws-sigv4 (~> 1.1)
  184 + aws-sdk-codegurureviewer (1.0.0)
  185 + aws-sdk-core (~> 3, >= 3.71.0)
  186 + aws-sigv4 (~> 1.1)
  187 + aws-sdk-codepipeline (1.28.0)
  188 + aws-sdk-core (~> 3, >= 3.71.0)
  189 + aws-sigv4 (~> 1.1)
  190 + aws-sdk-codestar (1.18.0)
  191 + aws-sdk-core (~> 3, >= 3.71.0)
  192 + aws-sigv4 (~> 1.1)
  193 + aws-sdk-codestarconnections (1.0.0)
  194 + aws-sdk-core (~> 3, >= 3.71.0)
  195 + aws-sigv4 (~> 1.1)
  196 + aws-sdk-codestarnotifications (1.0.0)
  197 + aws-sdk-core (~> 3, >= 3.71.0)
  198 + aws-sigv4 (~> 1.1)
  199 + aws-sdk-cognitoidentity (1.18.0)
  200 + aws-sdk-core (~> 3, >= 3.71.0)
  201 + aws-sigv4 (~> 1.1)
  202 + aws-sdk-cognitoidentityprovider (1.32.0)
  203 + aws-sdk-core (~> 3, >= 3.71.0)
  204 + aws-sigv4 (~> 1.1)
  205 + aws-sdk-cognitosync (1.16.0)
  206 + aws-sdk-core (~> 3, >= 3.71.0)
  207 + aws-sigv4 (~> 1.1)
  208 + aws-sdk-comprehend (1.29.0)
  209 + aws-sdk-core (~> 3, >= 3.71.0)
  210 + aws-sigv4 (~> 1.1)
  211 + aws-sdk-comprehendmedical (1.12.0)
  212 + aws-sdk-core (~> 3, >= 3.71.0)
  213 + aws-sigv4 (~> 1.1)
  214 + aws-sdk-computeoptimizer (1.0.0)
  215 + aws-sdk-core (~> 3, >= 3.71.0)
  216 + aws-sigv4 (~> 1.1)
  217 + aws-sdk-configservice (1.40.0)
  218 + aws-sdk-core (~> 3, >= 3.71.0)
  219 + aws-sigv4 (~> 1.1)
  220 + aws-sdk-connect (1.22.0)
  221 + aws-sdk-core (~> 3, >= 3.71.0)
  222 + aws-sigv4 (~> 1.1)
  223 + aws-sdk-connectparticipant (1.0.0)
  224 + aws-sdk-core (~> 3, >= 3.71.0)
  225 + aws-sigv4 (~> 1.1)
  226 + aws-sdk-core (3.90.1)
  227 + aws-eventstream (~> 1.0, >= 1.0.2)
  228 + aws-partitions (~> 1, >= 1.239.0)
  229 + aws-sigv4 (~> 1.1)
68 230 jmespath (~> 1.0)
69   - aws-sdk-kms (1.13.0)
70   - aws-sdk-core (~> 3, >= 3.39.0)
71   - aws-sigv4 (~> 1.0)
72   - aws-sdk-s3 (1.31.0)
73   - aws-sdk-core (~> 3, >= 3.39.0)
  231 + aws-sdk-costandusagereportservice (1.18.0)
  232 + aws-sdk-core (~> 3, >= 3.71.0)
  233 + aws-sigv4 (~> 1.1)
  234 + aws-sdk-costexplorer (1.36.0)
  235 + aws-sdk-core (~> 3, >= 3.71.0)
  236 + aws-sigv4 (~> 1.1)
  237 + aws-sdk-databasemigrationservice (1.30.0)
  238 + aws-sdk-core (~> 3, >= 3.71.0)
  239 + aws-sigv4 (~> 1.1)
  240 + aws-sdk-dataexchange (1.0.0)
  241 + aws-sdk-core (~> 3, >= 3.71.0)
  242 + aws-sigv4 (~> 1.1)
  243 + aws-sdk-datapipeline (1.16.0)
  244 + aws-sdk-core (~> 3, >= 3.71.0)
  245 + aws-sigv4 (~> 1.1)
  246 + aws-sdk-datasync (1.17.0)
  247 + aws-sdk-core (~> 3, >= 3.71.0)
  248 + aws-sigv4 (~> 1.1)
  249 + aws-sdk-dax (1.19.0)
  250 + aws-sdk-core (~> 3, >= 3.71.0)
  251 + aws-sigv4 (~> 1.1)
  252 + aws-sdk-detective (1.1.0)
  253 + aws-sdk-core (~> 3, >= 3.71.0)
  254 + aws-sigv4 (~> 1.1)
  255 + aws-sdk-devicefarm (1.30.0)
  256 + aws-sdk-core (~> 3, >= 3.71.0)
  257 + aws-sigv4 (~> 1.1)
  258 + aws-sdk-directconnect (1.26.0)
  259 + aws-sdk-core (~> 3, >= 3.71.0)
  260 + aws-sigv4 (~> 1.1)
  261 + aws-sdk-directoryservice (1.25.0)
  262 + aws-sdk-core (~> 3, >= 3.71.0)
  263 + aws-sigv4 (~> 1.1)
  264 + aws-sdk-dlm (1.24.0)
  265 + aws-sdk-core (~> 3, >= 3.71.0)
  266 + aws-sigv4 (~> 1.1)
  267 + aws-sdk-docdb (1.13.0)
  268 + aws-sdk-core (~> 3, >= 3.71.0)
  269 + aws-sigv4 (~> 1.1)
  270 + aws-sdk-dynamodb (1.43.0)
  271 + aws-sdk-core (~> 3, >= 3.71.0)
  272 + aws-sigv4 (~> 1.1)
  273 + aws-sdk-dynamodbstreams (1.16.0)
  274 + aws-sdk-core (~> 3, >= 3.71.0)
  275 + aws-sigv4 (~> 1.1)
  276 + aws-sdk-ebs (1.1.0)
  277 + aws-sdk-core (~> 3, >= 3.71.0)
  278 + aws-sigv4 (~> 1.1)
  279 + aws-sdk-ec2 (1.144.0)
  280 + aws-sdk-core (~> 3, >= 3.71.0)
  281 + aws-sigv4 (~> 1.1)
  282 + aws-sdk-ec2instanceconnect (1.3.0)
  283 + aws-sdk-core (~> 3, >= 3.71.0)
  284 + aws-sigv4 (~> 1.1)
  285 + aws-sdk-ecr (1.25.0)
  286 + aws-sdk-core (~> 3, >= 3.71.0)
  287 + aws-sigv4 (~> 1.1)
  288 + aws-sdk-ecs (1.57.0)
  289 + aws-sdk-core (~> 3, >= 3.71.0)
  290 + aws-sigv4 (~> 1.1)
  291 + aws-sdk-efs (1.24.0)
  292 + aws-sdk-core (~> 3, >= 3.71.0)
  293 + aws-sigv4 (~> 1.1)
  294 + aws-sdk-eks (1.31.0)
  295 + aws-sdk-core (~> 3, >= 3.71.0)
  296 + aws-sigv4 (~> 1.1)
  297 + aws-sdk-elasticache (1.29.0)
  298 + aws-sdk-core (~> 3, >= 3.71.0)
  299 + aws-sigv4 (~> 1.1)
  300 + aws-sdk-elasticbeanstalk (1.26.0)
  301 + aws-sdk-core (~> 3, >= 3.71.0)
  302 + aws-sigv4 (~> 1.1)
  303 + aws-sdk-elasticinference (1.0.0)
  304 + aws-sdk-core (~> 3, >= 3.71.0)
  305 + aws-sigv4 (~> 1.1)
  306 + aws-sdk-elasticloadbalancing (1.19.0)
  307 + aws-sdk-core (~> 3, >= 3.71.0)
  308 + aws-sigv4 (~> 1.1)
  309 + aws-sdk-elasticloadbalancingv2 (1.39.0)
  310 + aws-sdk-core (~> 3, >= 3.71.0)
  311 + aws-sigv4 (~> 1.1)
  312 + aws-sdk-elasticsearchservice (1.30.0)
  313 + aws-sdk-core (~> 3, >= 3.71.0)
  314 + aws-sigv4 (~> 1.1)
  315 + aws-sdk-elastictranscoder (1.18.0)
  316 + aws-sdk-core (~> 3, >= 3.71.0)
  317 + aws-sigv4 (~> 1.1)
  318 + aws-sdk-emr (1.24.0)
  319 + aws-sdk-core (~> 3, >= 3.71.0)
  320 + aws-sigv4 (~> 1.1)
  321 + aws-sdk-eventbridge (1.3.0)
  322 + aws-sdk-core (~> 3, >= 3.71.0)
  323 + aws-sigv4 (~> 1.1)
  324 + aws-sdk-firehose (1.24.0)
  325 + aws-sdk-core (~> 3, >= 3.71.0)
  326 + aws-sigv4 (~> 1.1)
  327 + aws-sdk-fms (1.21.0)
  328 + aws-sdk-core (~> 3, >= 3.71.0)
  329 + aws-sigv4 (~> 1.1)
  330 + aws-sdk-forecastqueryservice (1.2.0)
  331 + aws-sdk-core (~> 3, >= 3.71.0)
  332 + aws-sigv4 (~> 1.1)
  333 + aws-sdk-forecastservice (1.2.0)
  334 + aws-sdk-core (~> 3, >= 3.71.0)
  335 + aws-sigv4 (~> 1.1)
  336 + aws-sdk-frauddetector (1.0.0)
  337 + aws-sdk-core (~> 3, >= 3.71.0)
  338 + aws-sigv4 (~> 1.1)
  339 + aws-sdk-fsx (1.14.0)
  340 + aws-sdk-core (~> 3, >= 3.71.0)
  341 + aws-sigv4 (~> 1.1)
  342 + aws-sdk-gamelift (1.27.0)
  343 + aws-sdk-core (~> 3, >= 3.71.0)
  344 + aws-sigv4 (~> 1.1)
  345 + aws-sdk-glacier (1.26.0)
  346 + aws-sdk-core (~> 3, >= 3.71.0)
  347 + aws-sigv4 (~> 1.1)
  348 + aws-sdk-globalaccelerator (1.13.0)
  349 + aws-sdk-core (~> 3, >= 3.71.0)
  350 + aws-sigv4 (~> 1.1)
  351 + aws-sdk-glue (1.48.0)
  352 + aws-sdk-core (~> 3, >= 3.71.0)
  353 + aws-sigv4 (~> 1.1)
  354 + aws-sdk-greengrass (1.28.0)
  355 + aws-sdk-core (~> 3, >= 3.71.0)
  356 + aws-sigv4 (~> 1.1)
  357 + aws-sdk-groundstation (1.5.0)
  358 + aws-sdk-core (~> 3, >= 3.71.0)
  359 + aws-sigv4 (~> 1.1)
  360 + aws-sdk-guardduty (1.25.0)
  361 + aws-sdk-core (~> 3, >= 3.71.0)
  362 + aws-sigv4 (~> 1.1)
  363 + aws-sdk-health (1.21.0)
  364 + aws-sdk-core (~> 3, >= 3.71.0)
  365 + aws-sigv4 (~> 1.1)
  366 + aws-sdk-iam (1.33.0)
  367 + aws-sdk-core (~> 3, >= 3.71.0)
  368 + aws-sigv4 (~> 1.1)
  369 + aws-sdk-imagebuilder (1.1.0)
  370 + aws-sdk-core (~> 3, >= 3.71.0)
  371 + aws-sigv4 (~> 1.1)
  372 + aws-sdk-importexport (1.16.0)
  373 + aws-sdk-core (~> 3, >= 3.71.0)
  374 + aws-sigv2 (~> 1.0)
  375 + aws-sdk-inspector (1.23.0)
  376 + aws-sdk-core (~> 3, >= 3.71.0)
  377 + aws-sigv4 (~> 1.1)
  378 + aws-sdk-iot (1.43.0)
  379 + aws-sdk-core (~> 3, >= 3.71.0)
  380 + aws-sigv4 (~> 1.1)
  381 + aws-sdk-iot1clickdevicesservice (1.18.0)
  382 + aws-sdk-core (~> 3, >= 3.71.0)
  383 + aws-sigv4 (~> 1.1)
  384 + aws-sdk-iot1clickprojects (1.18.0)
  385 + aws-sdk-core (~> 3, >= 3.71.0)
  386 + aws-sigv4 (~> 1.1)
  387 + aws-sdk-iotanalytics (1.26.0)
  388 + aws-sdk-core (~> 3, >= 3.71.0)
  389 + aws-sigv4 (~> 1.1)
  390 + aws-sdk-iotdataplane (1.16.0)
  391 + aws-sdk-core (~> 3, >= 3.71.0)
  392 + aws-sigv4 (~> 1.1)
  393 + aws-sdk-iotevents (1.7.0)
  394 + aws-sdk-core (~> 3, >= 3.71.0)
  395 + aws-sigv4 (~> 1.1)
  396 + aws-sdk-ioteventsdata (1.5.0)
  397 + aws-sdk-core (~> 3, >= 3.71.0)
  398 + aws-sigv4 (~> 1.1)
  399 + aws-sdk-iotjobsdataplane (1.17.0)
  400 + aws-sdk-core (~> 3, >= 3.71.0)
  401 + aws-sigv4 (~> 1.1)
  402 + aws-sdk-iotsecuretunneling (1.0.0)
  403 + aws-sdk-core (~> 3, >= 3.71.0)
  404 + aws-sigv4 (~> 1.1)
  405 + aws-sdk-iotthingsgraph (1.4.0)
  406 + aws-sdk-core (~> 3, >= 3.71.0)
  407 + aws-sigv4 (~> 1.1)
  408 + aws-sdk-kafka (1.17.0)
  409 + aws-sdk-core (~> 3, >= 3.71.0)
  410 + aws-sigv4 (~> 1.1)
  411 + aws-sdk-kendra (1.1.0)
  412 + aws-sdk-core (~> 3, >= 3.71.0)
  413 + aws-sigv4 (~> 1.1)
  414 + aws-sdk-kinesis (1.20.0)
  415 + aws-sdk-core (~> 3, >= 3.71.0)
  416 + aws-sigv4 (~> 1.1)
  417 + aws-sdk-kinesisanalytics (1.21.0)
  418 + aws-sdk-core (~> 3, >= 3.71.0)
  419 + aws-sigv4 (~> 1.1)
  420 + aws-sdk-kinesisanalyticsv2 (1.13.0)
  421 + aws-sdk-core (~> 3, >= 3.71.0)
  422 + aws-sigv4 (~> 1.1)
  423 + aws-sdk-kinesisvideo (1.21.0)
  424 + aws-sdk-core (~> 3, >= 3.71.0)
  425 + aws-sigv4 (~> 1.1)
  426 + aws-sdk-kinesisvideoarchivedmedia (1.20.0)
  427 + aws-sdk-core (~> 3, >= 3.71.0)
  428 + aws-sigv4 (~> 1.1)
  429 + aws-sdk-kinesisvideomedia (1.18.0)
  430 + aws-sdk-core (~> 3, >= 3.71.0)
  431 + aws-sigv4 (~> 1.1)
  432 + aws-sdk-kinesisvideosignalingchannels (1.0.0)
  433 + aws-sdk-core (~> 3, >= 3.71.0)
  434 + aws-sigv4 (~> 1.1)
  435 + aws-sdk-kms (1.29.0)
  436 + aws-sdk-core (~> 3, >= 3.71.0)
  437 + aws-sigv4 (~> 1.1)
  438 + aws-sdk-lakeformation (1.1.0)
  439 + aws-sdk-core (~> 3, >= 3.71.0)
  440 + aws-sigv4 (~> 1.1)
  441 + aws-sdk-lambda (1.36.0)
  442 + aws-sdk-core (~> 3, >= 3.71.0)
  443 + aws-sigv4 (~> 1.1)
  444 + aws-sdk-lambdapreview (1.16.0)
  445 + aws-sdk-core (~> 3, >= 3.71.0)
  446 + aws-sigv4 (~> 1.1)
  447 + aws-sdk-lex (1.23.0)
  448 + aws-sdk-core (~> 3, >= 3.71.0)
  449 + aws-sigv4 (~> 1.1)
  450 + aws-sdk-lexmodelbuildingservice (1.26.0)
  451 + aws-sdk-core (~> 3, >= 3.71.0)
  452 + aws-sigv4 (~> 1.1)
  453 + aws-sdk-licensemanager (1.11.0)
  454 + aws-sdk-core (~> 3, >= 3.71.0)
  455 + aws-sigv4 (~> 1.1)
  456 + aws-sdk-lightsail (1.27.0)
  457 + aws-sdk-core (~> 3, >= 3.71.0)
  458 + aws-sigv4 (~> 1.1)
  459 + aws-sdk-machinelearning (1.17.0)
  460 + aws-sdk-core (~> 3, >= 3.71.0)
  461 + aws-sigv4 (~> 1.1)
  462 + aws-sdk-macie (1.16.0)
  463 + aws-sdk-core (~> 3, >= 3.71.0)
  464 + aws-sigv4 (~> 1.1)
  465 + aws-sdk-managedblockchain (1.7.0)
  466 + aws-sdk-core (~> 3, >= 3.71.0)
  467 + aws-sigv4 (~> 1.1)
  468 + aws-sdk-marketplacecatalog (1.0.0)
  469 + aws-sdk-core (~> 3, >= 3.71.0)
  470 + aws-sigv4 (~> 1.1)
  471 + aws-sdk-marketplacecommerceanalytics (1.19.0)
  472 + aws-sdk-core (~> 3, >= 3.71.0)
  473 + aws-sigv4 (~> 1.1)
  474 + aws-sdk-marketplaceentitlementservice (1.16.0)
  475 + aws-sdk-core (~> 3, >= 3.71.0)
  476 + aws-sigv4 (~> 1.1)
  477 + aws-sdk-marketplacemetering (1.21.0)
  478 + aws-sdk-core (~> 3, >= 3.71.0)
  479 + aws-sigv4 (~> 1.1)
  480 + aws-sdk-mediaconnect (1.16.0)
  481 + aws-sdk-core (~> 3, >= 3.71.0)
  482 + aws-sigv4 (~> 1.1)
  483 + aws-sdk-mediaconvert (1.42.0)
  484 + aws-sdk-core (~> 3, >= 3.71.0)
  485 + aws-sigv4 (~> 1.1)
  486 + aws-sdk-medialive (1.40.0)
  487 + aws-sdk-core (~> 3, >= 3.71.0)
  488 + aws-sigv4 (~> 1.1)
  489 + aws-sdk-mediapackage (1.25.0)
  490 + aws-sdk-core (~> 3, >= 3.71.0)
  491 + aws-sigv4 (~> 1.1)
  492 + aws-sdk-mediapackagevod (1.9.0)
  493 + aws-sdk-core (~> 3, >= 3.71.0)
  494 + aws-sigv4 (~> 1.1)
  495 + aws-sdk-mediastore (1.21.0)
  496 + aws-sdk-core (~> 3, >= 3.71.0)
  497 + aws-sigv4 (~> 1.1)
  498 + aws-sdk-mediastoredata (1.19.0)
  499 + aws-sdk-core (~> 3, >= 3.71.0)
  500 + aws-sigv4 (~> 1.1)
  501 + aws-sdk-mediatailor (1.23.0)
  502 + aws-sdk-core (~> 3, >= 3.71.0)
  503 + aws-sigv4 (~> 1.1)
  504 + aws-sdk-migrationhub (1.20.0)
  505 + aws-sdk-core (~> 3, >= 3.71.0)
  506 + aws-sigv4 (~> 1.1)
  507 + aws-sdk-migrationhubconfig (1.0.0)
  508 + aws-sdk-core (~> 3, >= 3.71.0)
  509 + aws-sigv4 (~> 1.1)
  510 + aws-sdk-mobile (1.16.0)
  511 + aws-sdk-core (~> 3, >= 3.71.0)
  512 + aws-sigv4 (~> 1.1)
  513 + aws-sdk-mq (1.24.0)
  514 + aws-sdk-core (~> 3, >= 3.71.0)
  515 + aws-sigv4 (~> 1.1)
  516 + aws-sdk-mturk (1.19.0)
  517 + aws-sdk-core (~> 3, >= 3.71.0)
  518 + aws-sigv4 (~> 1.1)
  519 + aws-sdk-neptune (1.21.0)
  520 + aws-sdk-core (~> 3, >= 3.71.0)
  521 + aws-sigv4 (~> 1.1)
  522 + aws-sdk-networkmanager (1.0.0)
  523 + aws-sdk-core (~> 3, >= 3.71.0)
  524 + aws-sigv4 (~> 1.1)
  525 + aws-sdk-opsworks (1.21.0)
  526 + aws-sdk-core (~> 3, >= 3.71.0)
  527 + aws-sigv4 (~> 1.1)
  528 + aws-sdk-opsworkscm (1.28.0)
  529 + aws-sdk-core (~> 3, >= 3.71.0)
  530 + aws-sigv4 (~> 1.1)
  531 + aws-sdk-organizations (1.36.0)
  532 + aws-sdk-core (~> 3, >= 3.71.0)
  533 + aws-sigv4 (~> 1.1)
  534 + aws-sdk-outposts (1.0.0)
  535 + aws-sdk-core (~> 3, >= 3.71.0)
  536 + aws-sigv4 (~> 1.1)
  537 + aws-sdk-personalize (1.8.0)
  538 + aws-sdk-core (~> 3, >= 3.71.0)
  539 + aws-sigv4 (~> 1.1)
  540 + aws-sdk-personalizeevents (1.4.0)
  541 + aws-sdk-core (~> 3, >= 3.71.0)
  542 + aws-sigv4 (~> 1.1)
  543 + aws-sdk-personalizeruntime (1.6.0)
  544 + aws-sdk-core (~> 3, >= 3.71.0)
  545 + aws-sigv4 (~> 1.1)
  546 + aws-sdk-pi (1.16.0)
  547 + aws-sdk-core (~> 3, >= 3.71.0)
  548 + aws-sigv4 (~> 1.1)
  549 + aws-sdk-pinpoint (1.32.0)
  550 + aws-sdk-core (~> 3, >= 3.71.0)
  551 + aws-sigv4 (~> 1.1)
  552 + aws-sdk-pinpointemail (1.16.0)
  553 + aws-sdk-core (~> 3, >= 3.71.0)
  554 + aws-sigv4 (~> 1.1)
  555 + aws-sdk-pinpointsmsvoice (1.13.0)
  556 + aws-sdk-core (~> 3, >= 3.71.0)
  557 + aws-sigv4 (~> 1.1)
  558 + aws-sdk-polly (1.27.0)
  559 + aws-sdk-core (~> 3, >= 3.71.0)
  560 + aws-sigv4 (~> 1.1)
  561 + aws-sdk-pricing (1.16.0)
  562 + aws-sdk-core (~> 3, >= 3.71.0)
  563 + aws-sigv4 (~> 1.1)
  564 + aws-sdk-qldb (1.1.0)
  565 + aws-sdk-core (~> 3, >= 3.71.0)
  566 + aws-sigv4 (~> 1.1)
  567 + aws-sdk-qldbsession (1.1.0)
  568 + aws-sdk-core (~> 3, >= 3.71.0)
  569 + aws-sigv4 (~> 1.1)
  570 + aws-sdk-quicksight (1.16.0)
  571 + aws-sdk-core (~> 3, >= 3.71.0)
  572 + aws-sigv4 (~> 1.1)
  573 + aws-sdk-ram (1.13.0)
  574 + aws-sdk-core (~> 3, >= 3.71.0)
  575 + aws-sigv4 (~> 1.1)
  576 + aws-sdk-rds (1.78.0)
  577 + aws-sdk-core (~> 3, >= 3.71.0)
  578 + aws-sigv4 (~> 1.1)
  579 + aws-sdk-rdsdataservice (1.14.0)
  580 + aws-sdk-core (~> 3, >= 3.71.0)
  581 + aws-sigv4 (~> 1.1)
  582 + aws-sdk-redshift (1.36.0)
  583 + aws-sdk-core (~> 3, >= 3.71.0)
  584 + aws-sigv4 (~> 1.1)
  585 + aws-sdk-rekognition (1.34.0)
  586 + aws-sdk-core (~> 3, >= 3.71.0)
  587 + aws-sigv4 (~> 1.1)
  588 + aws-sdk-resourcegroups (1.21.0)
  589 + aws-sdk-core (~> 3, >= 3.71.0)
  590 + aws-sigv4 (~> 1.1)
  591 + aws-sdk-resourcegroupstaggingapi (1.22.0)
  592 + aws-sdk-core (~> 3, >= 3.71.0)
  593 + aws-sigv4 (~> 1.1)
  594 + aws-sdk-resources (3.70.0)
  595 + aws-sdk-accessanalyzer (~> 1)
  596 + aws-sdk-acm (~> 1)
  597 + aws-sdk-acmpca (~> 1)
  598 + aws-sdk-alexaforbusiness (~> 1)
  599 + aws-sdk-amplify (~> 1)
  600 + aws-sdk-apigateway (~> 1)
  601 + aws-sdk-apigatewaymanagementapi (~> 1)
  602 + aws-sdk-apigatewayv2 (~> 1)
  603 + aws-sdk-appconfig (~> 1)
  604 + aws-sdk-applicationautoscaling (~> 1)
  605 + aws-sdk-applicationdiscoveryservice (~> 1)
  606 + aws-sdk-applicationinsights (~> 1)
  607 + aws-sdk-appmesh (~> 1)
  608 + aws-sdk-appstream (~> 1)
  609 + aws-sdk-appsync (~> 1)
  610 + aws-sdk-athena (~> 1)
  611 + aws-sdk-augmentedairuntime (~> 1)
  612 + aws-sdk-autoscaling (~> 1)
  613 + aws-sdk-autoscalingplans (~> 1)
  614 + aws-sdk-backup (~> 1)
  615 + aws-sdk-batch (~> 1)
  616 + aws-sdk-budgets (~> 1)
  617 + aws-sdk-chime (~> 1)
  618 + aws-sdk-cloud9 (~> 1)
  619 + aws-sdk-clouddirectory (~> 1)
  620 + aws-sdk-cloudformation (~> 1)
  621 + aws-sdk-cloudfront (~> 1)
  622 + aws-sdk-cloudhsm (~> 1)
  623 + aws-sdk-cloudhsmv2 (~> 1)
  624 + aws-sdk-cloudsearch (~> 1)
  625 + aws-sdk-cloudsearchdomain (~> 1)
  626 + aws-sdk-cloudtrail (~> 1)
  627 + aws-sdk-cloudwatch (~> 1)
  628 + aws-sdk-cloudwatchevents (~> 1)
  629 + aws-sdk-cloudwatchlogs (~> 1)
  630 + aws-sdk-codebuild (~> 1)
  631 + aws-sdk-codecommit (~> 1)
  632 + aws-sdk-codedeploy (~> 1)
  633 + aws-sdk-codeguruprofiler (~> 1)
  634 + aws-sdk-codegurureviewer (~> 1)
  635 + aws-sdk-codepipeline (~> 1)
  636 + aws-sdk-codestar (~> 1)
  637 + aws-sdk-codestarconnections (~> 1)
  638 + aws-sdk-codestarnotifications (~> 1)
  639 + aws-sdk-cognitoidentity (~> 1)
  640 + aws-sdk-cognitoidentityprovider (~> 1)
  641 + aws-sdk-cognitosync (~> 1)
  642 + aws-sdk-comprehend (~> 1)
  643 + aws-sdk-comprehendmedical (~> 1)
  644 + aws-sdk-computeoptimizer (~> 1)
  645 + aws-sdk-configservice (~> 1)
  646 + aws-sdk-connect (~> 1)
  647 + aws-sdk-connectparticipant (~> 1)
  648 + aws-sdk-costandusagereportservice (~> 1)
  649 + aws-sdk-costexplorer (~> 1)
  650 + aws-sdk-databasemigrationservice (~> 1)
  651 + aws-sdk-dataexchange (~> 1)
  652 + aws-sdk-datapipeline (~> 1)
  653 + aws-sdk-datasync (~> 1)
  654 + aws-sdk-dax (~> 1)
  655 + aws-sdk-detective (~> 1)
  656 + aws-sdk-devicefarm (~> 1)
  657 + aws-sdk-directconnect (~> 1)
  658 + aws-sdk-directoryservice (~> 1)
  659 + aws-sdk-dlm (~> 1)
  660 + aws-sdk-docdb (~> 1)
  661 + aws-sdk-dynamodb (~> 1)
  662 + aws-sdk-dynamodbstreams (~> 1)
  663 + aws-sdk-ebs (~> 1)
  664 + aws-sdk-ec2 (~> 1)
  665 + aws-sdk-ec2instanceconnect (~> 1)
  666 + aws-sdk-ecr (~> 1)
  667 + aws-sdk-ecs (~> 1)
  668 + aws-sdk-efs (~> 1)
  669 + aws-sdk-eks (~> 1)
  670 + aws-sdk-elasticache (~> 1)
  671 + aws-sdk-elasticbeanstalk (~> 1)
  672 + aws-sdk-elasticinference (~> 1)
  673 + aws-sdk-elasticloadbalancing (~> 1)
  674 + aws-sdk-elasticloadbalancingv2 (~> 1)
  675 + aws-sdk-elasticsearchservice (~> 1)
  676 + aws-sdk-elastictranscoder (~> 1)
  677 + aws-sdk-emr (~> 1)
  678 + aws-sdk-eventbridge (~> 1)
  679 + aws-sdk-firehose (~> 1)
  680 + aws-sdk-fms (~> 1)
  681 + aws-sdk-forecastqueryservice (~> 1)
  682 + aws-sdk-forecastservice (~> 1)
  683 + aws-sdk-frauddetector (~> 1)
  684 + aws-sdk-fsx (~> 1)
  685 + aws-sdk-gamelift (~> 1)
  686 + aws-sdk-glacier (~> 1)
  687 + aws-sdk-globalaccelerator (~> 1)
  688 + aws-sdk-glue (~> 1)
  689 + aws-sdk-greengrass (~> 1)
  690 + aws-sdk-groundstation (~> 1)
  691 + aws-sdk-guardduty (~> 1)
  692 + aws-sdk-health (~> 1)
  693 + aws-sdk-iam (~> 1)
  694 + aws-sdk-imagebuilder (~> 1)
  695 + aws-sdk-importexport (~> 1)
  696 + aws-sdk-inspector (~> 1)
  697 + aws-sdk-iot (~> 1)
  698 + aws-sdk-iot1clickdevicesservice (~> 1)
  699 + aws-sdk-iot1clickprojects (~> 1)
  700 + aws-sdk-iotanalytics (~> 1)
  701 + aws-sdk-iotdataplane (~> 1)
  702 + aws-sdk-iotevents (~> 1)
  703 + aws-sdk-ioteventsdata (~> 1)
  704 + aws-sdk-iotjobsdataplane (~> 1)
  705 + aws-sdk-iotsecuretunneling (~> 1)
  706 + aws-sdk-iotthingsgraph (~> 1)
  707 + aws-sdk-kafka (~> 1)
  708 + aws-sdk-kendra (~> 1)
  709 + aws-sdk-kinesis (~> 1)
  710 + aws-sdk-kinesisanalytics (~> 1)
  711 + aws-sdk-kinesisanalyticsv2 (~> 1)
  712 + aws-sdk-kinesisvideo (~> 1)
  713 + aws-sdk-kinesisvideoarchivedmedia (~> 1)
  714 + aws-sdk-kinesisvideomedia (~> 1)
  715 + aws-sdk-kinesisvideosignalingchannels (~> 1)
74 716 aws-sdk-kms (~> 1)
75   - aws-sigv4 (~> 1.0)
76   - aws-sigv4 (1.0.3)
77   - bcrypt (3.1.12)
78   - builder (3.2.3)
79   - concurrent-ruby (1.1.4)
80   - crass (1.0.4)
81   - devise (4.5.0)
  717 + aws-sdk-lakeformation (~> 1)
  718 + aws-sdk-lambda (~> 1)
  719 + aws-sdk-lambdapreview (~> 1)
  720 + aws-sdk-lex (~> 1)
  721 + aws-sdk-lexmodelbuildingservice (~> 1)
  722 + aws-sdk-licensemanager (~> 1)
  723 + aws-sdk-lightsail (~> 1)
  724 + aws-sdk-machinelearning (~> 1)
  725 + aws-sdk-macie (~> 1)
  726 + aws-sdk-managedblockchain (~> 1)
  727 + aws-sdk-marketplacecatalog (~> 1)
  728 + aws-sdk-marketplacecommerceanalytics (~> 1)
  729 + aws-sdk-marketplaceentitlementservice (~> 1)
  730 + aws-sdk-marketplacemetering (~> 1)
  731 + aws-sdk-mediaconnect (~> 1)
  732 + aws-sdk-mediaconvert (~> 1)
  733 + aws-sdk-medialive (~> 1)
  734 + aws-sdk-mediapackage (~> 1)
  735 + aws-sdk-mediapackagevod (~> 1)
  736 + aws-sdk-mediastore (~> 1)
  737 + aws-sdk-mediastoredata (~> 1)
  738 + aws-sdk-mediatailor (~> 1)
  739 + aws-sdk-migrationhub (~> 1)
  740 + aws-sdk-migrationhubconfig (~> 1)
  741 + aws-sdk-mobile (~> 1)
  742 + aws-sdk-mq (~> 1)
  743 + aws-sdk-mturk (~> 1)
  744 + aws-sdk-neptune (~> 1)
  745 + aws-sdk-networkmanager (~> 1)
  746 + aws-sdk-opsworks (~> 1)
  747 + aws-sdk-opsworkscm (~> 1)
  748 + aws-sdk-organizations (~> 1)
  749 + aws-sdk-outposts (~> 1)
  750 + aws-sdk-personalize (~> 1)
  751 + aws-sdk-personalizeevents (~> 1)
  752 + aws-sdk-personalizeruntime (~> 1)
  753 + aws-sdk-pi (~> 1)
  754 + aws-sdk-pinpoint (~> 1)
  755 + aws-sdk-pinpointemail (~> 1)
  756 + aws-sdk-pinpointsmsvoice (~> 1)
  757 + aws-sdk-polly (~> 1)
  758 + aws-sdk-pricing (~> 1)
  759 + aws-sdk-qldb (~> 1)
  760 + aws-sdk-qldbsession (~> 1)
  761 + aws-sdk-quicksight (~> 1)
  762 + aws-sdk-ram (~> 1)
  763 + aws-sdk-rds (~> 1)
  764 + aws-sdk-rdsdataservice (~> 1)
  765 + aws-sdk-redshift (~> 1)
  766 + aws-sdk-rekognition (~> 1)
  767 + aws-sdk-resourcegroups (~> 1)
  768 + aws-sdk-resourcegroupstaggingapi (~> 1)
  769 + aws-sdk-robomaker (~> 1)
  770 + aws-sdk-route53 (~> 1)
  771 + aws-sdk-route53domains (~> 1)
  772 + aws-sdk-route53resolver (~> 1)
  773 + aws-sdk-s3 (~> 1)
  774 + aws-sdk-s3control (~> 1)
  775 + aws-sdk-sagemaker (~> 1)
  776 + aws-sdk-sagemakerruntime (~> 1)
  777 + aws-sdk-savingsplans (~> 1)
  778 + aws-sdk-schemas (~> 1)
  779 + aws-sdk-secretsmanager (~> 1)
  780 + aws-sdk-securityhub (~> 1)
  781 + aws-sdk-serverlessapplicationrepository (~> 1)
  782 + aws-sdk-servicecatalog (~> 1)
  783 + aws-sdk-servicediscovery (~> 1)
  784 + aws-sdk-servicequotas (~> 1)
  785 + aws-sdk-ses (~> 1)
  786 + aws-sdk-sesv2 (~> 1)
  787 + aws-sdk-shield (~> 1)
  788 + aws-sdk-signer (~> 1)
  789 + aws-sdk-simpledb (~> 1)
  790 + aws-sdk-sms (~> 1)
  791 + aws-sdk-snowball (~> 1)
  792 + aws-sdk-sns (~> 1)
  793 + aws-sdk-sqs (~> 1)
  794 + aws-sdk-ssm (~> 1)
  795 + aws-sdk-sso (~> 1)
  796 + aws-sdk-ssooidc (~> 1)
  797 + aws-sdk-states (~> 1)
  798 + aws-sdk-storagegateway (~> 1)
  799 + aws-sdk-support (~> 1)
  800 + aws-sdk-swf (~> 1)
  801 + aws-sdk-textract (~> 1)
  802 + aws-sdk-transcribeservice (~> 1)
  803 + aws-sdk-transcribestreamingservice (~> 1)
  804 + aws-sdk-transfer (~> 1)
  805 + aws-sdk-translate (~> 1)
  806 + aws-sdk-waf (~> 1)
  807 + aws-sdk-wafregional (~> 1)
  808 + aws-sdk-wafv2 (~> 1)
  809 + aws-sdk-workdocs (~> 1)
  810 + aws-sdk-worklink (~> 1)
  811 + aws-sdk-workmail (~> 1)
  812 + aws-sdk-workmailmessageflow (~> 1)
  813 + aws-sdk-workspaces (~> 1)
  814 + aws-sdk-xray (~> 1)
  815 + aws-sdk-robomaker (1.19.0)
  816 + aws-sdk-core (~> 3, >= 3.71.0)
  817 + aws-sigv4 (~> 1.1)
  818 + aws-sdk-route53 (1.30.0)
  819 + aws-sdk-core (~> 3, >= 3.71.0)
  820 + aws-sigv4 (~> 1.1)
  821 + aws-sdk-route53domains (1.18.0)
  822 + aws-sdk-core (~> 3, >= 3.71.0)
  823 + aws-sigv4 (~> 1.1)
  824 + aws-sdk-route53resolver (1.11.0)
  825 + aws-sdk-core (~> 3, >= 3.71.0)
  826 + aws-sigv4 (~> 1.1)
  827 + aws-sdk-s3 (1.60.2)
  828 + aws-sdk-core (~> 3, >= 3.83.0)
  829 + aws-sdk-kms (~> 1)
  830 + aws-sigv4 (~> 1.1)
  831 + aws-sdk-s3control (1.14.0)
  832 + aws-sdk-core (~> 3, >= 3.71.0)
  833 + aws-sigv4 (~> 1.1)
  834 + aws-sdk-sagemaker (1.50.0)
  835 + aws-sdk-core (~> 3, >= 3.71.0)
  836 + aws-sigv4 (~> 1.1)
  837 + aws-sdk-sagemakerruntime (1.18.0)
  838 + aws-sdk-core (~> 3, >= 3.71.0)
  839 + aws-sigv4 (~> 1.1)
  840 + aws-sdk-savingsplans (1.1.0)
  841 + aws-sdk-core (~> 3, >= 3.71.0)
  842 + aws-sigv4 (~> 1.1)
  843 + aws-sdk-schemas (1.0.0)
  844 + aws-sdk-core (~> 3, >= 3.71.0)
  845 + aws-sigv4 (~> 1.1)
  846 + aws-sdk-secretsmanager (1.32.0)
  847 + aws-sdk-core (~> 3, >= 3.71.0)
  848 + aws-sigv4 (~> 1.1)
  849 + aws-sdk-securityhub (1.18.0)
  850 + aws-sdk-core (~> 3, >= 3.71.0)
  851 + aws-sigv4 (~> 1.1)
  852 + aws-sdk-serverlessapplicationrepository (1.23.0)
  853 + aws-sdk-core (~> 3, >= 3.71.0)
  854 + aws-sigv4 (~> 1.1)
  855 + aws-sdk-servicecatalog (1.34.0)
  856 + aws-sdk-core (~> 3, >= 3.71.0)
  857 + aws-sigv4 (~> 1.1)
  858 + aws-sdk-servicediscovery (1.19.0)
  859 + aws-sdk-core (~> 3, >= 3.71.0)
  860 + aws-sigv4 (~> 1.1)
  861 + aws-sdk-servicequotas (1.3.0)
  862 + aws-sdk-core (~> 3, >= 3.71.0)
  863 + aws-sigv4 (~> 1.1)
  864 + aws-sdk-ses (1.27.0)
  865 + aws-sdk-core (~> 3, >= 3.71.0)
  866 + aws-sigv4 (~> 1.1)
  867 + aws-sdk-sesv2 (1.2.0)
  868 + aws-sdk-core (~> 3, >= 3.71.0)
  869 + aws-sigv4 (~> 1.1)
  870 + aws-sdk-shield (1.22.0)
  871 + aws-sdk-core (~> 3, >= 3.71.0)
  872 + aws-sigv4 (~> 1.1)
  873 + aws-sdk-signer (1.17.0)
  874 + aws-sdk-core (~> 3, >= 3.71.0)
  875 + aws-sigv4 (~> 1.1)
  876 + aws-sdk-simpledb (1.16.0)
  877 + aws-sdk-core (~> 3, >= 3.71.0)
  878 + aws-sigv2 (~> 1.0)
  879 + aws-sdk-sms (1.17.0)
  880 + aws-sdk-core (~> 3, >= 3.71.0)
  881 + aws-sigv4 (~> 1.1)
  882 + aws-sdk-snowball (1.22.0)
  883 + aws-sdk-core (~> 3, >= 3.71.0)
  884 + aws-sigv4 (~> 1.1)
  885 + aws-sdk-sns (1.21.0)
  886 + aws-sdk-core (~> 3, >= 3.71.0)
  887 + aws-sigv4 (~> 1.1)
  888 + aws-sdk-sqs (1.23.1)
  889 + aws-sdk-core (~> 3, >= 3.71.0)
  890 + aws-sigv4 (~> 1.1)
  891 + aws-sdk-ssm (1.71.0)
  892 + aws-sdk-core (~> 3, >= 3.71.0)
  893 + aws-sigv4 (~> 1.1)
  894 + aws-sdk-sso (1.1.1)
  895 + aws-sdk-core (~> 3, >= 3.71.0)
  896 + aws-sigv4 (~> 1.1)
  897 + aws-sdk-ssooidc (1.0.0)
  898 + aws-sdk-core (~> 3, >= 3.71.0)
  899 + aws-sigv4 (~> 1.1)
  900 + aws-sdk-states (1.24.0)
  901 + aws-sdk-core (~> 3, >= 3.71.0)
  902 + aws-sigv4 (~> 1.1)
  903 + aws-sdk-storagegateway (1.35.0)
  904 + aws-sdk-core (~> 3, >= 3.71.0)
  905 + aws-sigv4 (~> 1.1)
  906 + aws-sdk-support (1.17.0)
  907 + aws-sdk-core (~> 3, >= 3.71.0)
  908 + aws-sigv4 (~> 1.1)
  909 + aws-sdk-swf (1.17.0)
  910 + aws-sdk-core (~> 3, >= 3.71.0)
  911 + aws-sigv4 (~> 1.1)
  912 + aws-sdk-textract (1.12.0)
  913 + aws-sdk-core (~> 3, >= 3.71.0)
  914 + aws-sigv4 (~> 1.1)
  915 + aws-sdk-transcribeservice (1.35.0)
  916 + aws-sdk-core (~> 3, >= 3.71.0)
  917 + aws-sigv4 (~> 1.1)
  918 + aws-sdk-transcribestreamingservice (1.10.0)
  919 + aws-sdk-core (~> 3, >= 3.71.0)
  920 + aws-sigv4 (~> 1.1)
  921 + aws-sdk-transfer (1.16.0)
  922 + aws-sdk-core (~> 3, >= 3.71.0)
  923 + aws-sigv4 (~> 1.1)
  924 + aws-sdk-translate (1.19.0)
  925 + aws-sdk-core (~> 3, >= 3.71.0)
  926 + aws-sigv4 (~> 1.1)
  927 + aws-sdk-waf (1.26.0)
  928 + aws-sdk-core (~> 3, >= 3.71.0)
  929 + aws-sigv4 (~> 1.1)
  930 + aws-sdk-wafregional (1.27.0)
  931 + aws-sdk-core (~> 3, >= 3.71.0)
  932 + aws-sigv4 (~> 1.1)
  933 + aws-sdk-wafv2 (1.0.0)
  934 + aws-sdk-core (~> 3, >= 3.71.0)
  935 + aws-sigv4 (~> 1.1)
  936 + aws-sdk-workdocs (1.19.0)
  937 + aws-sdk-core (~> 3, >= 3.71.0)
  938 + aws-sigv4 (~> 1.1)
  939 + aws-sdk-worklink (1.12.0)
  940 + aws-sdk-core (~> 3, >= 3.71.0)
  941 + aws-sigv4 (~> 1.1)
  942 + aws-sdk-workmail (1.21.0)
  943 + aws-sdk-core (~> 3, >= 3.71.0)
  944 + aws-sigv4 (~> 1.1)
  945 + aws-sdk-workmailmessageflow (1.1.0)
  946 + aws-sdk-core (~> 3, >= 3.71.0)
  947 + aws-sigv4 (~> 1.1)
  948 + aws-sdk-workspaces (1.34.0)
  949 + aws-sdk-core (~> 3, >= 3.71.0)
  950 + aws-sigv4 (~> 1.1)
  951 + aws-sdk-xray (1.22.0)
  952 + aws-sdk-core (~> 3, >= 3.71.0)
  953 + aws-sigv4 (~> 1.1)
  954 + aws-sigv2 (1.0.1)
  955 + aws-sigv4 (1.1.0)
  956 + aws-eventstream (~> 1.0, >= 1.0.2)
  957 + bcrypt (3.1.13)
  958 + builder (3.2.4)
  959 + concurrent-ruby (1.1.6)
  960 + crass (1.0.6)
  961 + deep_cloneable (3.0.0)
  962 + activerecord (>= 3.1.0, < 7)
  963 + devise (4.7.1)
82 964 bcrypt (~> 3.0)
83 965 orm_adapter (~> 0.1)
84   - railties (>= 4.1.0, < 6.0)
  966 + railties (>= 4.1.0)
85 967 responders
86 968 warden (~> 1.2.3)
87   - erubi (1.8.0)
88   - ffi (1.10.0)
  969 + erubi (1.9.0)
  970 + ffi (1.12.2)
89 971 globalid (0.4.2)
90 972 activesupport (>= 4.2.0)
91   - i18n (1.6.0)
  973 + i18n (1.8.2)
92 974 concurrent-ruby (~> 1.0)
93 975 jmespath (1.4.0)
94   - loofah (2.2.3)
  976 + loofah (2.4.0)
95 977 crass (~> 1.0.2)
96 978 nokogiri (>= 1.5.9)
97 979 mail (2.7.1)
... ... @@ -99,50 +981,50 @@ GEM
99 981 marcel (0.3.3)
100 982 mimemagic (~> 0.3.2)
101 983 method_source (0.9.2)
102   - mimemagic (0.3.3)
103   - mini_mime (1.0.1)
  984 + mimemagic (0.3.4)
  985 + mini_mime (1.0.2)
104 986 mini_portile2 (2.4.0)
105   - minitest (5.11.3)
106   - nio4r (2.3.1)
107   - nokogiri (1.10.1)
  987 + minitest (5.14.0)
  988 + nio4r (2.5.2)
  989 + nokogiri (1.10.8)
108 990 mini_portile2 (~> 2.4.0)
109 991 orm_adapter (0.5.0)
110 992 pg (1.0.0)
111   - rack (2.0.6)
  993 + rack (2.2.2)
112 994 rack-test (1.1.0)
113 995 rack (>= 1.0, < 3)
114   - rails (5.2.2)
115   - actioncable (= 5.2.2)
116   - actionmailer (= 5.2.2)
117   - actionpack (= 5.2.2)
118   - actionview (= 5.2.2)
119   - activejob (= 5.2.2)
120   - activemodel (= 5.2.2)
121   - activerecord (= 5.2.2)
122   - activestorage (= 5.2.2)
123   - activesupport (= 5.2.2)
  996 + rails (5.2.4.1)
  997 + actioncable (= 5.2.4.1)
  998 + actionmailer (= 5.2.4.1)
  999 + actionpack (= 5.2.4.1)
  1000 + actionview (= 5.2.4.1)
  1001 + activejob (= 5.2.4.1)
  1002 + activemodel (= 5.2.4.1)
  1003 + activerecord (= 5.2.4.1)
  1004 + activestorage (= 5.2.4.1)
  1005 + activesupport (= 5.2.4.1)
124 1006 bundler (>= 1.3.0)
125   - railties (= 5.2.2)
  1007 + railties (= 5.2.4.1)
126 1008 sprockets-rails (>= 2.0.0)
127 1009 rails-dom-testing (2.0.3)
128 1010 activesupport (>= 4.2.0)
129 1011 nokogiri (>= 1.6)
130   - rails-html-sanitizer (1.0.4)
131   - loofah (~> 2.2, >= 2.2.2)
132   - railties (5.2.2)
133   - actionpack (= 5.2.2)
134   - activesupport (= 5.2.2)
  1012 + rails-html-sanitizer (1.3.0)
  1013 + loofah (~> 2.3)
  1014 + railties (5.2.4.1)
  1015 + actionpack (= 5.2.4.1)
  1016 + activesupport (= 5.2.4.1)
135 1017 method_source
136 1018 rake (>= 0.8.7)
137 1019 thor (>= 0.19.0, < 2.0)
138   - rake (12.3.2)
  1020 + rake (13.0.1)
139 1021 rb-fsevent (0.10.3)
140   - rb-inotify (0.10.0)
  1022 + rb-inotify (0.10.1)
141 1023 ffi (~> 1.0)
142   - responders (2.4.0)
143   - actionpack (>= 4.2.0, < 5.3)
144   - railties (>= 4.2.0, < 5.3)
145   - sass (3.7.3)
  1024 + responders (2.4.1)
  1025 + actionpack (>= 4.2.0, < 6.0)
  1026 + railties (>= 4.2.0, < 6.0)
  1027 + sass (3.7.4)
146 1028 sass-listen (~> 4.0.0)
147 1029 sass-listen (4.0.0)
148 1030 rb-fsevent (~> 0.9, >= 0.9.4)
... ... @@ -160,16 +1042,16 @@ GEM
160 1042 actionpack (>= 4.0)
161 1043 activesupport (>= 4.0)
162 1044 sprockets (>= 3.0.0)
163   - thor (0.20.3)
  1045 + thor (1.0.1)
164 1046 thread_safe (0.3.6)
165   - tilt (2.0.9)
166   - tzinfo (1.2.5)
  1047 + tilt (2.0.10)
  1048 + tzinfo (1.2.6)
167 1049 thread_safe (~> 0.1)
168   - warden (1.2.7)
169   - rack (>= 1.0)
170   - websocket-driver (0.7.0)
  1050 + warden (1.2.8)
  1051 + rack (>= 2.0.6)
  1052 + websocket-driver (0.7.1)
171 1053 websocket-extensions (>= 0.1.0)
172   - websocket-extensions (0.1.3)
  1054 + websocket-extensions (0.1.4)
173 1055
174 1056 PLATFORMS
175 1057 ruby
... ...
... ... @@ -6,9 +6,14 @@ $('.delete-row-item').click(function(){
6 6 var $this = $(this),
7 7 $tr = $this.closest('tr'),
8 8 url = $this.attr('href'),
9   - level = $tr.data('level');
  9 + level = $tr.data('level'),
  10 + title = "Are you sure?";
10 11
11   - bootbox.confirm("Are you sure?", function(result) {
  12 + if($this.data('placeholder') != undefined){
  13 + title = $this.data('placeholder');
  14 + }
  15 +
  16 + bootbox.confirm(title, function(result) {
12 17 if(result){
13 18 jQuery.ajax({
14 19 type: 'POST',
... ...
... ... @@ -154,34 +154,65 @@ jQuery(document).ready(function(){
154 154 clearAjaxFileUpload($('#work_area .editor-content'));
155 155 ajaxFileUpload = initAjaxFileUpload($('#work_area .editor-content'));
156 156
157   -/*
158   - if($('.sortable-list').length > 0){
159   - $('.sortable-list').each(function(){
160   - var $wrapper = $(this);
161   - $wrapper.sortable({
162   - stop: function( event, ui ) {
163   - var data = [],
164   - position = 1;
165   -
166   - $wrapper.find( " > .panel" ).each(function(){
167   - data.push({position: position, index: $(this).data('id')});
168   - position += 1;
169   - });
170   - jQuery.ajax({
171   - type: 'POST',
172   - url: $wrapper.data('update-url'),
173   - data: {data: data},
174   - success: function (data) {
  157 + };
175 158
176   - }
177   - });
  159 + $('.html-generator').on('click', '.col-operation .col-duplicate, .row-operation .col-duplicate', function(){
  160 + var $this = $(this);
  161 +
  162 + if($this.closest('.row-element-block').length > 0){
  163 + var $cell = $this.closest('.row-element-block');
  164 + }else{
  165 + var $cell = $this.closest('.col')
  166 + }
  167 + var id = $cell.data('id');
  168 + var $block = $cell.closest('.html-generator');
  169 + var duplicate_url = $block.data('duplicate-url');
  170 +
  171 +
  172 + jQuery.ajax({
  173 + type: 'POST',
  174 + url: duplicate_url,
  175 + data: {structure_id: id},
  176 + success: function (data) {
  177 + if(data.status == 'ok'){
  178 + var $newCell = $cell.clone();
  179 + $newCell.data('id', data.id);
  180 + $cell.after($newCell);
  181 + $block.find('.save').trigger('click');
178 182 }
179   - });
180   - //$wrapper.disableSelection();
  183 + }
181 184 });
182   - }*/
183 185
184   - };
  186 + return false;
  187 + });
  188 +
  189 + $('.html-generator').on('click', '.col-operation .col-disable, .row-operation .col-disable', function(){
  190 + var $this = $(this);
  191 +
  192 + if($this.closest('.row-element-block').length > 0){
  193 + var $cell = $this.closest('.row-element-block');
  194 + }else{
  195 + var $cell = $this.closest('.col')
  196 + }
  197 + var id = $cell.data('id');
  198 + var $block = $cell.closest('.html-generator');
  199 + var disable_url = $block.data('disable-url');
  200 +
  201 +
  202 + jQuery.ajax({
  203 + type: 'POST',
  204 + url: disable_url,
  205 + data: {structure_id: id},
  206 + success: function (data) {
  207 + if(data.status == 'ok'){
  208 + alert('1');
  209 + }
  210 + }
  211 + });
  212 +
  213 + return false;
  214 + });
  215 +
185 216
186 217 $('.html-generator').on('click', '.col-operation .col-content, .row-operation .col-content', function(){
187 218 var $this = $(this);
... ... @@ -398,6 +429,8 @@ jQuery(document).ready(function(){
398 429 innerContent = '<div class="col-inner">' +
399 430 '<div class="col-html">'+ html +'</div>' +
400 431 '<div class="col-operation">' +
  432 + '<a class="col-disable" href="javascript;void(0);"><i class="glyphicon glyphicon-eye-open"></i></a>' +
  433 + '<a class="col-duplicate" href="javascript;void(0);"><i class="glyphicon glyphicon-file"></i></a>' +
401 434 '<a class="col-content" href="javascript;void(0);"><i class="glyphicon glyphicon-pencil"></i></a>' +
402 435 '<a class="col-edit" href="javascript;void(0);"><i class="glyphicon glyphicon-cog"></i></a>' +
403 436 '<a class="col-remove" href="javascript;void(0);"><i class="glyphicon glyphicon-trash"></i></a>' +
... ... @@ -415,7 +448,9 @@ jQuery(document).ready(function(){
415 448 '<a class="row-remove" href="javascript;void(0);"><i class="glyphicon glyphicon-trash"></i></a>';
416 449
417 450 if($(this).hasClass('row-element-block')) {
418   - innerContent += '<a class="col-content" href="javascript;void(0);"><i class="glyphicon glyphicon-pencil"></i></a>';
  451 + innerContent += '<a class="col-disable" href="javascript;void(0);"><i class="glyphicon glyphicon-eye-open"></i></a>';
  452 + innerContent += '<a class="col-duplicate" href="javascript;void(0);"><i class="glyphicon glyphicon-file"></i></a>';
  453 + innerContent += '<a class="col-content" href="javascript;void(0);"><i class="glyphicon glyphicon-pencil"></i></a>';
419 454 }
420 455 innerContent += '</div>' +
421 456 '</div>';
... ... @@ -482,6 +517,8 @@ jQuery(document).ready(function(){
482 517 '<div class="col-inner">' +
483 518 '<div class="col-html"></div>' +
484 519 '<div class="col-operation">' +
  520 + '<a class="col-disable" href="javascript;void(0);"><i class="glyphicon glyphicon-eye-open"></i></a>' +
  521 + '<a class="col-duplicate" href="javascript;void(0);"><i class="glyphicon glyphicon-file"></i></a>' +
485 522 '<a class="col-content" href="javascript;void(0);"><i class="glyphicon glyphicon-pencil"></i></a>' +
486 523 '<a class="col-edit" href="javascript;void(0);"><i class="glyphicon glyphicon-cog"></i></a>' +
487 524 '<a class="col-remove" href="javascript;void(0);"><i class="glyphicon glyphicon-trash"></i></a>' +
... ... @@ -541,8 +578,10 @@ jQuery(document).ready(function(){
541 578 var $newContent = $('<div class="row-fluid row-element-block">' +
542 579 '<div class="row-inner">' +
543 580 '<div class="row-operation">' +
544   - '<a class="row-remove" href="javascript;void(0);"><i class="glyphicon glyphicon-trash"></i></a>' +
  581 + '<a class="col-disable" href="javascript;void(0);"><i class="glyphicon glyphicon-eye-open"></i></a>' +
  582 + '<a class="col-duplicate" href="javascript;void(0);"><i class="glyphicon glyphicon-file"></i></a>' +
545 583 '<a class="col-content" href="javascript;void(0);"><i class="glyphicon glyphicon-pencil"></i></a>' +
  584 + '<a class="row-remove" href="javascript;void(0);"><i class="glyphicon glyphicon-trash"></i></a>' +
546 585 '</div>' +
547 586 '</div>' +
548 587 '</div>');
... ...
... ... @@ -215,4 +215,8 @@
215 215 .empty-block{
216 216 text-align: center;
217 217 font-size: 18px;
  218 +}
  219 +
  220 +.active-menu-action{
  221 + font-weight:bold;
218 222 }
\ No newline at end of file
... ...
... ... @@ -282,6 +282,9 @@ th {
282 282 -webkit-font-smoothing: antialiased;
283 283 -moz-osx-font-smoothing: grayscale;
284 284 }
  285 +.glyphicon-duplicate:before {
  286 + content: "\e224";
  287 +}
285 288 .glyphicon-asterisk:before {
286 289 content: "\2a";
287 290 }
... ...
  1 +module Kanjai
  2 + class Admin::ImagesController < AdminController
  3 +
  4 + def index
  5 + @s3_direct_post = S3_BUCKET.presigned_post(key: "#{Image.get_image_file_path}${filename}", success_action_status: '201', acl: 'public-read')
  6 + end
  7 +
  8 +
  9 + def update_gallery
  10 + params[:gallery_image] ||= {}
  11 + params[:gallery_image].each do |key, url|
  12 + Image.create({
  13 + image_link: url
  14 + })
  15 +
  16 + end
  17 + end
  18 +
  19 + def delete_gallery_image
  20 + @image = Image.find(params[:id])
  21 +
  22 + @image.destroy
  23 + end
  24 +
  25 + def get_gallery
  26 + @collection = Image.all
  27 +
  28 + render :layout => false
  29 + end
  30 +
  31 +
  32 +
  33 + end
  34 +end
\ No newline at end of file
... ...
... ... @@ -81,6 +81,11 @@ module Kanjai
81 81 render :json => {:status => 'ok'}
82 82 end
83 83
  84 + def clone
  85 + @page = Page.find(params[:id])
  86 + @page.clone
  87 + redirect_to action: :index
  88 + end
84 89
85 90 def show_editor
86 91 @page = Page.find(params[:id])
... ... @@ -116,6 +121,31 @@ module Kanjai
116 121 render :layout => false
117 122 end
118 123
  124 + def duplicate_block
  125 + @page = Page.find(params[:id])
  126 + @page_data = @page.page_data.find_by_lang(params[:lang])
  127 + @structure_id = params[:structure_id]
  128 + @obj = @page_data.page_contents.find_by_structure_id(@structure_id)
  129 + Page.transaction do
  130 + next_structure_id = @page_data.page_contents.pluck(:structure_id).max.to_i + 1
  131 + @new_obj = @obj.dup
  132 + @new_obj.structure_id = next_structure_id
  133 + @new_obj.save(validate: false)
  134 +
  135 + render json: {status: 'ok', id: next_structure_id}
  136 + end
  137 + end
  138 +
  139 + def disable_block
  140 + @page = Page.find(params[:id])
  141 + @page_data = @page.page_data.find_by_lang(params[:lang])
  142 + @structure_id = params[:structure_id]
  143 + @obj = @page_data.page_contents.find_by_structure_id(@structure_id)
  144 + Page.transaction do
  145 + render json: {status: 'ok'}
  146 + end
  147 + end
  148 +
119 149 def update_editor
120 150 @page = Page.find(params[:id])
121 151 @page_data = @page.page_data.find_by_lang(params[:lang])
... ... @@ -137,28 +167,6 @@ module Kanjai
137 167 end
138 168
139 169
140   - def update_gallery
141   - @page = Page.find(params[:id])
142   -
143   - params[:gallery_image] ||= {}
144   - params[:gallery_image].each do |key, url|
145   - @page.images.create({
146   - image_link: url
147   - })
148   -
149   - end
150   -
151   - end
152   -
153   - def delete_gallery_image
154   - @page = Page.find(params[:id])
155   - @image = @page.images.find(params[:image_id])
156   -
157   - @image.destroy
158   -
159   - end
160   -
161   -
162 170 def meta
163 171 @page = Page.find(params[:id])
164 172 @page_data = @page.page_data.find_by_lang(params[:lang])
... ... @@ -177,14 +185,6 @@ module Kanjai
177 185 end
178 186
179 187
180   - def get_gallery
181   - @page = Page.find(params[:id])
182   -
183   - @collection = @page.images
184   -
185   - render :layout => false
186   - end
187   -
188 188 def sort
189 189 @page = Page.find(params[:id])
190 190
... ... @@ -199,6 +199,24 @@ module Kanjai
199 199
200 200 end
201 201
  202 + def activate
  203 + @page = Page.find(params[:id])
  204 +
  205 + @page.status = 'active'
  206 + @page.save(validate: false)
  207 +
  208 + redirect_to :action => :index
  209 + end
  210 +
  211 + def deactivate
  212 + @page = Page.find(params[:id])
  213 +
  214 + @page.status = 'block'
  215 + @page.save(validate: false)
  216 +
  217 + redirect_to :action => :index
  218 + end
  219 +
202 220 def structure
203 221 @page = Page.find(params[:id])
204 222 @page_data = @page.page_data.find_by_lang(params[:lang])
... ...
1 1 module Kanjai
2 2 class Image < ActiveRecord::Base
3   - belongs_to :object, polymorphic: true
  3 + belongs_to :object, polymorphic: true, optional: true
4 4
5 5 # has_attached_file :image,
6 6 # :styles => {:mini => '200x200>'},
... ... @@ -11,5 +11,9 @@ module Kanjai
11 11
12 12 default_scope { order('created_at') }
13 13
  14 + def self.get_image_file_path
  15 + "images/"
  16 + end
  17 +
14 18 end
15 19 end
... ...
... ... @@ -2,7 +2,8 @@ require 'acts_as_list'
2 2 require 'acts_as_tree'
3 3
4 4 module Kanjai
5   - class Page < ActiveRecord::Base
  5 + class Page < ActiveRecord::Base
  6 +
6 7 extend ActsAsTree::TreeWalker
7 8
8 9 include ActiveRecord::Acts::Tree
... ... @@ -23,9 +24,10 @@ module Kanjai
23 24
24 25 attr_accessor :title
25 26
26   - def get_image_file_path
27   - "images/pages/#{id}/"
28   - end
  27 + enum status: {
  28 + active: 0,
  29 + block: 1
  30 + }
29 31
30 32
31 33 def menu_url(scheme, lang = nil)
... ... @@ -62,7 +64,6 @@ module Kanjai
62 64 scheme + ADMIN_CONFIG['domain_name'] + '/' + lang + '/' + url
63 65 end
64 66 end
65   -
66 67 end
67 68
68 69 def lang_attributes(lang_code, attributes)
... ... @@ -74,6 +75,16 @@ module Kanjai
74 75 end
75 76 end
76 77
  78 + def clone
  79 + new_page = self.deep_clone include: [:page_data]
  80 + new_page.save(validate: false)
  81 + new_page.page_data.each do |item|
  82 + item.title = "Copy #{item.title}"
  83 + item.save(validate: false)
  84 + end
  85 + new_page.insert_at(self.position + 1)
  86 + end
  87 +
77 88 def self.default_public_page_url(scheme)
78 89 page = Page.where(private_flag: false, root_page: true).first
79 90 if page
... ...
app/views/kanjai/admin/images/_gallery_exist_images.html.erb renamed from app/views/kanjai/admin/pages/_gallery_exist_images.html.erb
1   -<% if @page.images.count == 0 %>
  1 +<% if Kanjai::Image.all.count == 0 %>
2 2 <p class="empty-block">Image not exist</p>
3 3 <% else %>
4 4 <div class="gallery-list">
5   - <% @page.images.each do |item| %>
  5 + <% Kanjai::Image.all.each do |item| %>
6 6 <%= render :partial => 'preview', :locals => {item: item} %>
7 7 <% end %>
8 8 </div>
... ...
app/views/kanjai/admin/images/_preview.html.erb renamed from app/views/kanjai/admin/pages/_preview.html.erb
1 1 <div class="file-input" id="gallery_image_<%= item.id %>">
2 2 <div class="file-preview ">
3   - <div class="close fileinput-remove"><%= link_to '×', delete_gallery_image_admin_page_path(@page, image_id: item.id), remote: true %></div>
  3 + <div class="close fileinput-remove"><%= link_to '×', delete_gallery_image_admin_image_path(item.id), remote: true %></div>
4 4 <div class="file-drop-disabled">
5 5 <div class="file-preview-thumbnails">
6 6 <div class="file-initial-thumbs">
... ...
app/views/kanjai/admin/images/delete_gallery_image.js.erb renamed from app/views/kanjai/admin/pages/delete_gallery_image.js.erb
app/views/kanjai/admin/images/get_gallery.html.erb renamed from app/views/kanjai/admin/pages/get_gallery.html.erb
app/views/kanjai/admin/images/index.html.erb renamed from app/views/kanjai/admin/pages/gallery.html.erb
1 1 <div class="container">
2 2
3   - <h3><%= t('admin.pages.edit_page') %></h3>
  3 + <h3><%= t('admin.gallery.title') %></h3>
4 4
5 5 <div class="row">
6   - <div class="col-md-10 gallery-block">
  6 + <div class="col-md-12 gallery-block">
7 7
8 8 <div class="drop-down-upload">
9 9 <div style="padding:10px;">
... ... @@ -15,7 +15,7 @@
15 15 </div>
16 16
17 17 <div id="gallery_form">
18   - <form action="<%= update_gallery_admin_page_url(@page) %>" class="ajax-file-upload-form">
  18 + <form action="<%= update_gallery_admin_images_url %>" class="ajax-file-upload-form">
19 19 <input type="submit" value="Save" class="btn btn-default not-visible" />
20 20 <div id="new_images">
21 21
... ... @@ -27,16 +27,12 @@
27 27 <h2>Exist Image</h2>
28 28
29 29 <div id="exist_images">
30   - <%= render partial: 'kanjai/admin/pages/gallery_exist_images' %>
  30 + <%= render partial: 'kanjai/admin/images/gallery_exist_images' %>
31 31 </div>
32 32 </div>
33 33
34 34 </div>
35 35
36   - <div class="col-md-2">
37   - <%= render :partial => 'operation' %>
38   - </div>
39   -
40 36
41 37 </div>
42 38
... ...
  1 +$('#gallery_form form #new_images').html('');
  2 +$('#gallery_form form input:submit').addClass('not-visible');
  3 +
  4 +$('#exist_images').html('<%=j render partial: 'kanjai/admin/images/gallery_exist_images' %>');
\ No newline at end of file
... ...
... ... @@ -2,7 +2,7 @@
2 2 <h1><%= t('admin.templates.page_title') %></h1>
3 3
4 4 <div class="pull-right">
5   - <%= link_to t('admin.templates.add_new'), new_admin_page_template_url, remote: true, class: 'link-add-new-template' %>
  5 + <%= link_to t('admin.templates.add_new'), new_admin_page_template_url, remote: true, class: 'btn btn-success link-add-new-template' %>
6 6 </div>
7 7
8 8 <% if @collection.count == 0 %>
... ...
1 1
2 2 <div>
3   - <%= link_to t('admin.pages.operation.edit_general'), edit_admin_page_url(@page, lang: params[:lang]) %>
  3 + <%= link_to t('admin.pages.operation.edit_general'), edit_admin_page_url(@page, lang: params[:lang]), class: (['edit', 'update'].include?(action_name) ? 'active-menu-action' : '') %>
4 4 </div>
5 5
6 6 <div>
7   - <%= link_to t('admin.pages.operation.edit_meta'), meta_admin_page_url(@page, lang: params[:lang]) %>
  7 + <%= link_to t('admin.pages.operation.edit_meta'), meta_admin_page_url(@page, lang: params[:lang]), class: (['meta', 'meta_update'].include?(action_name) ? 'active-menu-action' : '') %>
8 8 </div>
9 9
10 10 <div>
11   - <%= link_to t('admin.pages.operation.gallery'), gallery_admin_page_url(@page, lang: params[:lang]) %>
12   -</div>
13   -
14   -<div>
15   - <%= link_to t('admin.pages.operation.structure'), structure_admin_page_url(@page, lang: params[:lang]) %>
  11 + <%= link_to t('admin.pages.operation.structure'), structure_admin_page_url(@page, lang: params[:lang]), class: (['structure'].include?(action_name) ? 'active-menu-action' : '') %>
16 12 </div>
\ No newline at end of file
... ...
1 1 <%= fields_for @obj do |form| %>
2 2
3   - <%= form.text_area :text_html, :class => 'page_html_content', 'data-gallery-url' => get_gallery_admin_page_url(@page) %>
  3 + <%= form.text_area :text_html, :class => 'page_html_content', 'data-gallery-url' => get_gallery_admin_images_url %>
4 4
5 5
6 6 <% end %>
\ No newline at end of file
... ...
1 1 <div class="container">
2 2
3   - <h3><%= t('admin.pages.edit_page') %></h3>
  3 + <h3><%= t('admin.pages.edit_page', title: @page.lang_attributes(Kanjai::PageLang.default, :title)) %></h3>
4 4
5 5
6 6 <div class="row">
... ...
1 1 <div class="container">
2   - <h1><%= t('admin.pages.page_title') %></h1>
  2 + <div class="row">
  3 + <div class="col-md-8">
  4 + <h1><%= t('admin.pages.page_title') %></h1>
  5 + </div>
3 6
4   - <div class="pull-right">
5   - <%= link_to t('admin.pages.add_new'), new_admin_page_url %>
  7 + <div class="col-md-4 text-right">
  8 + <%= link_to t('admin.pages.add_new'), new_admin_page_url, class: 'btn btn-success' %>
  9 + </div>
6 10 </div>
7 11 <table class="table">
8 12 <% Kanjai::Page.walk_tree do |page, level| %>
... ... @@ -11,12 +15,31 @@
11 15 <td><%= page.page_template.title if page.page_template %></td>
12 16
13 17 <td width="200px;">
14   - <%= link_to 'Up', sort_admin_page_url(page, :direction => 'up') %>
15   - <%= link_to 'Down', sort_admin_page_url(page, :direction => 'down') %>
  18 + <% if page.active? %>
  19 + <%= link_to deactivate_admin_page_url(page), class: 'btn btn-warning' do %>
  20 + <i class="fa fa-eye"></i>
  21 + <% end %>
  22 + <% else %>
  23 + <%= link_to activate_admin_page_url(page), class: 'btn btn-info' do %>
  24 + <i class="fa fa-eye"></i>
  25 + <% end %>
  26 + <% end %>
  27 +
  28 + <%= link_to sort_admin_page_url(page, :direction => 'up'), class: 'btn btn-info' do %>
  29 + <i class="fa fa-arrow-up"></i>
  30 + <% end %>
  31 + <%= link_to sort_admin_page_url(page, :direction => 'down'), class: 'btn btn-info' do %>
  32 + <i class="fa fa-arrow-down"></i>
  33 + <% end %>
  34 + <%= link_to clone_admin_page_url(page), class: 'btn btn-warning' do %>
  35 + <i class="fa fa-clone"></i>
  36 + <% end %>
16 37 <% Kanjai::PageLang.all.each do |lang| %>
17   - <%= link_to "Edit #{lang.code}", edit_admin_page_url(page, :lang => lang.code) %>
  38 + <%= link_to "Edit #{lang.code}", edit_admin_page_url(page, :lang => lang.code), class: 'btn btn-success' %>
  39 + <% end %>
  40 + <%= link_to admin_page_url(page), class: 'delete-row-item btn btn-danger', data: {placeholder: t('admin.pages.delete')} do %>
  41 + <i class="fa fa-trash"></i>
18 42 <% end %>
19   - <%= link_to 'Delete', admin_page_url(page), :class => 'delete-row-item' %>
20 43 </td>
21 44 </tr>
22 45 <% end %>
... ...
1 1 <div class="container">
2 2
3   - <h3><%= t('admin.pages.edit_page') %></h3>
  3 + <h3><%= t('admin.pages.edit_page', title: @page.lang_attributes(Kanjai::PageLang.default, :title)) %></h3>
4 4
5 5
6 6 <div class="row">
... ...
1 1 <div class="container">
2 2
3   - <h3><%= t('admin.pages.edit_page') %></h3>
  3 + <h3><%= t('admin.pages.edit_page', title: @page.lang_attributes(Kanjai::PageLang.default, :title)) %></h3>
4 4
5 5 <div class="row">
6   - <div class="col-md-10 html-generator" data-editor-url="<%= show_editor_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-save_url="<%= save_structure_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-delete_cell_url="<%= delete_content_admin_page_url(@page_data.page, lang: params[:lang]) %>" >
  6 + <div class="col-md-10 html-generator" data-editor-url="<%= show_editor_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-save_url="<%= save_structure_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-delete_cell_url="<%= delete_content_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-duplicate-url="<%= duplicate_block_admin_page_url(@page_data.page, lang: params[:lang]) %>" data-disable-url="<%= disable_block_admin_page_url(@page_data.page, lang: params[:lang]) %>" >
7 7
8 8 <div id="structure_area" >
9 9 <div class="html-elements">
... ...
... ... @@ -14,10 +14,10 @@
14 14
15 15 <div class="container">
16 16 <div class="row">
17   - <div class="col-md-5">
  17 + <div class="col-md-4">
18 18 Hello, <%= current_admin_user.email %>
19 19 </div>
20   - <div class="col-md-7">
  20 + <div class="col-md-8">
21 21 <nav class="navbar navbar-default">
22 22 <div class="container-fluid">
23 23 <div class="navbar-header">
... ... @@ -25,6 +25,7 @@
25 25 <%= link_to t('configuration_menu_title'), kanjai.admin_configuration_url, :class => 'navbar-brand' %>
26 26 <%= link_to t('user_menu_title'), kanjai.admin_admin_users_url, :class => 'navbar-brand' %>
27 27 <%= link_to t('pages_menu_title'), kanjai.admin_pages_url, :class => 'navbar-brand' %>
  28 + <%= link_to t('images_menu_title'), kanjai.admin_images_url, :class => 'navbar-brand' %>
28 29 <%= link_to t('page_langs_menu_title'), kanjai.admin_page_langs_url, :class => 'navbar-brand' %>
29 30 <%= link_to t('templates_menu_title'), kanjai.admin_page_templates_url, :class => 'navbar-brand' %>
30 31 <%= link_to 'Exit', kanjai.destroy_admin_user_session_path, :method => :delete, :class => 'navbar-brand' %>
... ...
... ... @@ -25,6 +25,7 @@ en:
25 25 templates_menu_title: "Templates"
26 26 page_langs_menu_title: "Page Languages"
27 27 user_menu_title: "Admin Users"
  28 + images_menu_title: "Images"
28 29 drop_your_file: "Drop your file ..."
29 30 are_you_sure: "Are you sure?"
30 31 page_not_found_html: "Sorry, page not found"
... ... @@ -94,9 +95,10 @@ en:
94 95 page_title: "Pages"
95 96 add_new: "Add new"
96 97 create_new_page: "Create new page"
97   - edit_page: "Edit page"
  98 + edit_page: "Edit page - %{title}"
98 99 edit_general_content: "General page information"
99 100 edit_lang_content: "Edit %{lang} information"
  101 + delete: "Are you sure you want to delete this page?"
100 102 operation:
101 103 edit_general: "Edit General"
102 104 edit_markdown: "Edit Markdown"
... ... @@ -121,4 +123,6 @@ en:
121 123 add_new: "Add Template"
122 124 empty_text: "You don't have template"
123 125 edit_template: "Edit Template"
  126 + gallery:
  127 + title: "Gallery"
124 128
... ...
... ... @@ -27,23 +27,23 @@ Kanjai::Engine.routes.draw do
27 27 get :markdown, on: :member
28 28 get :html, on: :member
29 29 get :meta, on: :member
  30 + get :clone, on: :member
30 31 post :meta_update, on: :member
31 32
32   - get :gallery, on: :member
33   - post :update_gallery, on: :member
34   - get :delete_gallery_image, on: :member
35   -
36   - post :get_gallery, on: :member
37 33 get :sort, on: :member
38 34 get :structure, on: :member
39 35 get :save_structure, on: :member
40 36 post :delete_content, on: :member
41 37 post :show_editor, on: :member
42 38 post :update_editor, on: :member
  39 + post :duplicate_block, on: :member
  40 + post :disable_block, on: :member
43 41
44 42 post :show_frontend_editor, on: :member
45 43 post :update_frontend_editor, on: :member
46 44
  45 + get :activate, on: :member
  46 + get :deactivate, on: :member
47 47 end
48 48
49 49 resources :page_langs
... ... @@ -53,6 +53,13 @@ Kanjai::Engine.routes.draw do
53 53 post :update_marker, on: :member
54 54 end
55 55
  56 + resources :images, only: [:index] do
  57 + post :update_gallery, on: :collection
  58 + get :delete_gallery_image, on: :member
  59 +
  60 + post :get_gallery, on: :collection
  61 + end
  62 +
56 63 end
57 64
58 65 scope "(:locale)", :locale => /#{I18n.available_locales.join("|")}/ do
... ...
  1 +class AddStatusToPage < ActiveRecord::Migration[5.2]
  2 + def change
  3 + add_column :kanjai_pages, :status, :integer, default: 0
  4 + end
  5 +end
... ...
... ... @@ -36,13 +36,15 @@ Gem::Specification.new do |s|
36 36
37 37 s.add_dependency "pg", '1.0.0'
38 38
39   - s.add_dependency 'aws-sdk-s3'
  39 + s.add_dependency 'aws-sdk'
40 40
41 41 #s.add_dependency 'delayed_job_active_record'
42 42
43 43 s.add_dependency 'acts_as_list'
44 44 s.add_dependency 'acts_as_tree'
45 45
  46 + s.add_dependency 'deep_cloneable'
  47 +
46 48 #s.add_dependency 'json'
47 49
48 50 #s.add_dependency "daemons"
... ...
1 1 module Kanjai
2   - VERSION = "0.0.129"
  2 + VERSION = "0.0.130"
3 3 end
... ...