iatelier 0.3.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/iatelier/assets/stylesheets/iatelier.css +510 -0
 - data/lib/iatelier/controllers/books/edit.rb +1 -0
 - data/lib/iatelier/controllers/books/new.rb +1 -0
 - data/lib/iatelier/controllers/books/update.rb +3 -1
 - data/lib/iatelier/models/book.rb +32 -57
 - data/lib/iatelier/templates/books/_engine.html.haml +2 -2
 - data/lib/iatelier/templates/books/grouping/_keywords.html.haml +1 -1
 - data/lib/iatelier/templates/books/new.html.haml +1 -2
 - data/lib/iatelier/version.rb +1 -1
 - data/package.json +1 -1
 - data/src/sass/iatelier.scss +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 0d0ea435d398836e042fdc16823794f774ead547af140dab422a08c6890142aa
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 746fb34460ec905ac5e505f770595124df7bc40b93f416658d43e47613e7dc9b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 82c1cefe9a016441ec0c243d62f5103a29cd65ae709ef822df9417c4b781f4e6cfed60cc19b97998889b9880a03944427c8a58f27039fe3af1fb480993c05b75
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: fda655c5b7feb305f307d62335fb5c518de82ce57a8412d9bfe5c0faf833255a497eb4f3271436cd4c4c0a3209db45e9fc10c30eec57ff423dc6ddc3369061f6
         
     | 
| 
         @@ -521,6 +521,516 @@ a:hover { 
     | 
|
| 
       521 
521 
     | 
    
         
             
              background-color: rgba(255, 255, 255, 0.2);
         
     | 
| 
       522 
522 
     | 
    
         
             
            }
         
     | 
| 
       523 
523 
     | 
    
         | 
| 
      
 524 
     | 
    
         
            +
            .selectable-text {
         
     | 
| 
      
 525 
     | 
    
         
            +
              cursor: text;
         
     | 
| 
      
 526 
     | 
    
         
            +
              -webkit-user-select: text;
         
     | 
| 
      
 527 
     | 
    
         
            +
            }
         
     | 
| 
      
 528 
     | 
    
         
            +
             
     | 
| 
      
 529 
     | 
    
         
            +
            .text-center {
         
     | 
| 
      
 530 
     | 
    
         
            +
              text-align: center;
         
     | 
| 
      
 531 
     | 
    
         
            +
            }
         
     | 
| 
      
 532 
     | 
    
         
            +
             
     | 
| 
      
 533 
     | 
    
         
            +
            .text-right {
         
     | 
| 
      
 534 
     | 
    
         
            +
              text-align: right;
         
     | 
| 
      
 535 
     | 
    
         
            +
            }
         
     | 
| 
      
 536 
     | 
    
         
            +
             
     | 
| 
      
 537 
     | 
    
         
            +
            .text-left {
         
     | 
| 
      
 538 
     | 
    
         
            +
              text-align: left;
         
     | 
| 
      
 539 
     | 
    
         
            +
            }
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
            .pull-left {
         
     | 
| 
      
 542 
     | 
    
         
            +
              float: left;
         
     | 
| 
      
 543 
     | 
    
         
            +
            }
         
     | 
| 
      
 544 
     | 
    
         
            +
             
     | 
| 
      
 545 
     | 
    
         
            +
            .pull-right {
         
     | 
| 
      
 546 
     | 
    
         
            +
              float: right;
         
     | 
| 
      
 547 
     | 
    
         
            +
            }
         
     | 
| 
      
 548 
     | 
    
         
            +
             
     | 
| 
      
 549 
     | 
    
         
            +
            .padded {
         
     | 
| 
      
 550 
     | 
    
         
            +
              padding: 10px;
         
     | 
| 
      
 551 
     | 
    
         
            +
            }
         
     | 
| 
      
 552 
     | 
    
         
            +
             
     | 
| 
      
 553 
     | 
    
         
            +
            .padded-less {
         
     | 
| 
      
 554 
     | 
    
         
            +
              padding: 5px;
         
     | 
| 
      
 555 
     | 
    
         
            +
            }
         
     | 
| 
      
 556 
     | 
    
         
            +
             
     | 
| 
      
 557 
     | 
    
         
            +
            .padded-more {
         
     | 
| 
      
 558 
     | 
    
         
            +
              padding: 20px;
         
     | 
| 
      
 559 
     | 
    
         
            +
            }
         
     | 
| 
      
 560 
     | 
    
         
            +
             
     | 
| 
      
 561 
     | 
    
         
            +
            .padded-vertically {
         
     | 
| 
      
 562 
     | 
    
         
            +
              padding-top: 10px;
         
     | 
| 
      
 563 
     | 
    
         
            +
              padding-bottom: 10px;
         
     | 
| 
      
 564 
     | 
    
         
            +
            }
         
     | 
| 
      
 565 
     | 
    
         
            +
             
     | 
| 
      
 566 
     | 
    
         
            +
            .padded-vertically-less {
         
     | 
| 
      
 567 
     | 
    
         
            +
              padding-top: 5px;
         
     | 
| 
      
 568 
     | 
    
         
            +
              padding-bottom: 5px;
         
     | 
| 
      
 569 
     | 
    
         
            +
            }
         
     | 
| 
      
 570 
     | 
    
         
            +
             
     | 
| 
      
 571 
     | 
    
         
            +
            .padded-vertically-more {
         
     | 
| 
      
 572 
     | 
    
         
            +
              padding-top: 20px;
         
     | 
| 
      
 573 
     | 
    
         
            +
              padding-bottom: 20px;
         
     | 
| 
      
 574 
     | 
    
         
            +
            }
         
     | 
| 
      
 575 
     | 
    
         
            +
             
     | 
| 
      
 576 
     | 
    
         
            +
            .padded-horizontally {
         
     | 
| 
      
 577 
     | 
    
         
            +
              padding-right: 10px;
         
     | 
| 
      
 578 
     | 
    
         
            +
              padding-left: 10px;
         
     | 
| 
      
 579 
     | 
    
         
            +
            }
         
     | 
| 
      
 580 
     | 
    
         
            +
             
     | 
| 
      
 581 
     | 
    
         
            +
            .padded-horizontally-less {
         
     | 
| 
      
 582 
     | 
    
         
            +
              padding-right: 5px;
         
     | 
| 
      
 583 
     | 
    
         
            +
              padding-left: 5px;
         
     | 
| 
      
 584 
     | 
    
         
            +
            }
         
     | 
| 
      
 585 
     | 
    
         
            +
             
     | 
| 
      
 586 
     | 
    
         
            +
            .padded-horizontally-more {
         
     | 
| 
      
 587 
     | 
    
         
            +
              padding-right: 20px;
         
     | 
| 
      
 588 
     | 
    
         
            +
              padding-left: 20px;
         
     | 
| 
      
 589 
     | 
    
         
            +
            }
         
     | 
| 
      
 590 
     | 
    
         
            +
             
     | 
| 
      
 591 
     | 
    
         
            +
            .padded-top {
         
     | 
| 
      
 592 
     | 
    
         
            +
              padding-top: 10px;
         
     | 
| 
      
 593 
     | 
    
         
            +
            }
         
     | 
| 
      
 594 
     | 
    
         
            +
             
     | 
| 
      
 595 
     | 
    
         
            +
            .padded-top-less {
         
     | 
| 
      
 596 
     | 
    
         
            +
              padding-top: 5px;
         
     | 
| 
      
 597 
     | 
    
         
            +
            }
         
     | 
| 
      
 598 
     | 
    
         
            +
             
     | 
| 
      
 599 
     | 
    
         
            +
            .padded-top-more {
         
     | 
| 
      
 600 
     | 
    
         
            +
              padding-top: 20px;
         
     | 
| 
      
 601 
     | 
    
         
            +
            }
         
     | 
| 
      
 602 
     | 
    
         
            +
             
     | 
| 
      
 603 
     | 
    
         
            +
            .padded-bottom {
         
     | 
| 
      
 604 
     | 
    
         
            +
              padding-bottom: 10px;
         
     | 
| 
      
 605 
     | 
    
         
            +
            }
         
     | 
| 
      
 606 
     | 
    
         
            +
             
     | 
| 
      
 607 
     | 
    
         
            +
            .padded-bottom-less {
         
     | 
| 
      
 608 
     | 
    
         
            +
              padding-bottom: 5px;
         
     | 
| 
      
 609 
     | 
    
         
            +
            }
         
     | 
| 
      
 610 
     | 
    
         
            +
             
     | 
| 
      
 611 
     | 
    
         
            +
            .padded-bottom-more {
         
     | 
| 
      
 612 
     | 
    
         
            +
              padding-bottom: 20px;
         
     | 
| 
      
 613 
     | 
    
         
            +
            }
         
     | 
| 
      
 614 
     | 
    
         
            +
             
     | 
| 
      
 615 
     | 
    
         
            +
            .sidebar {
         
     | 
| 
      
 616 
     | 
    
         
            +
              background-color: #f5f5f4;
         
     | 
| 
      
 617 
     | 
    
         
            +
            }
         
     | 
| 
      
 618 
     | 
    
         
            +
             
     | 
| 
      
 619 
     | 
    
         
            +
            .draggable {
         
     | 
| 
      
 620 
     | 
    
         
            +
              -webkit-app-region: drag;
         
     | 
| 
      
 621 
     | 
    
         
            +
            }
         
     | 
| 
      
 622 
     | 
    
         
            +
             
     | 
| 
      
 623 
     | 
    
         
            +
            .clearfix:before,
         
     | 
| 
      
 624 
     | 
    
         
            +
            .clearfix:after {
         
     | 
| 
      
 625 
     | 
    
         
            +
              display: table;
         
     | 
| 
      
 626 
     | 
    
         
            +
              content: " ";
         
     | 
| 
      
 627 
     | 
    
         
            +
            }
         
     | 
| 
      
 628 
     | 
    
         
            +
             
     | 
| 
      
 629 
     | 
    
         
            +
            .clearfix:after {
         
     | 
| 
      
 630 
     | 
    
         
            +
              clear: both;
         
     | 
| 
      
 631 
     | 
    
         
            +
            }
         
     | 
| 
      
 632 
     | 
    
         
            +
             
     | 
| 
      
 633 
     | 
    
         
            +
            * {
         
     | 
| 
      
 634 
     | 
    
         
            +
              cursor: default;
         
     | 
| 
      
 635 
     | 
    
         
            +
              box-sizing: border-box;
         
     | 
| 
      
 636 
     | 
    
         
            +
            }
         
     | 
| 
      
 637 
     | 
    
         
            +
             
     | 
| 
      
 638 
     | 
    
         
            +
            html {
         
     | 
| 
      
 639 
     | 
    
         
            +
              height: 100%;
         
     | 
| 
      
 640 
     | 
    
         
            +
              width: 100%;
         
     | 
| 
      
 641 
     | 
    
         
            +
              overflow: hidden;
         
     | 
| 
      
 642 
     | 
    
         
            +
            }
         
     | 
| 
      
 643 
     | 
    
         
            +
             
     | 
| 
      
 644 
     | 
    
         
            +
            body {
         
     | 
| 
      
 645 
     | 
    
         
            +
              height: 100%;
         
     | 
| 
      
 646 
     | 
    
         
            +
              padding: 0;
         
     | 
| 
      
 647 
     | 
    
         
            +
              margin: 0;
         
     | 
| 
      
 648 
     | 
    
         
            +
              font-family: system, -apple-system, ".SFNSDisplay-Regular", "Helvetica Neue", Helvetica, "Segoe UI", sans-serif;
         
     | 
| 
      
 649 
     | 
    
         
            +
              font-size: 13px;
         
     | 
| 
      
 650 
     | 
    
         
            +
              line-height: 1.6;
         
     | 
| 
      
 651 
     | 
    
         
            +
              color: #333;
         
     | 
| 
      
 652 
     | 
    
         
            +
              background-color: transparent;
         
     | 
| 
      
 653 
     | 
    
         
            +
            }
         
     | 
| 
      
 654 
     | 
    
         
            +
             
     | 
| 
      
 655 
     | 
    
         
            +
            hr {
         
     | 
| 
      
 656 
     | 
    
         
            +
              margin: 15px 0;
         
     | 
| 
      
 657 
     | 
    
         
            +
              overflow: hidden;
         
     | 
| 
      
 658 
     | 
    
         
            +
              background: transparent;
         
     | 
| 
      
 659 
     | 
    
         
            +
              border: 0;
         
     | 
| 
      
 660 
     | 
    
         
            +
              border-bottom: 1px solid #ddd;
         
     | 
| 
      
 661 
     | 
    
         
            +
            }
         
     | 
| 
      
 662 
     | 
    
         
            +
             
     | 
| 
      
 663 
     | 
    
         
            +
            h1,
         
     | 
| 
      
 664 
     | 
    
         
            +
            h2,
         
     | 
| 
      
 665 
     | 
    
         
            +
            h3,
         
     | 
| 
      
 666 
     | 
    
         
            +
            h4,
         
     | 
| 
      
 667 
     | 
    
         
            +
            h5,
         
     | 
| 
      
 668 
     | 
    
         
            +
            h6 {
         
     | 
| 
      
 669 
     | 
    
         
            +
              margin-top: 20px;
         
     | 
| 
      
 670 
     | 
    
         
            +
              margin-bottom: 10px;
         
     | 
| 
      
 671 
     | 
    
         
            +
              font-weight: 500;
         
     | 
| 
      
 672 
     | 
    
         
            +
              white-space: nowrap;
         
     | 
| 
      
 673 
     | 
    
         
            +
              overflow: hidden;
         
     | 
| 
      
 674 
     | 
    
         
            +
              text-overflow: ellipsis;
         
     | 
| 
      
 675 
     | 
    
         
            +
            }
         
     | 
| 
      
 676 
     | 
    
         
            +
             
     | 
| 
      
 677 
     | 
    
         
            +
            h1 {
         
     | 
| 
      
 678 
     | 
    
         
            +
              font-size: 36px;
         
     | 
| 
      
 679 
     | 
    
         
            +
            }
         
     | 
| 
      
 680 
     | 
    
         
            +
             
     | 
| 
      
 681 
     | 
    
         
            +
            h2 {
         
     | 
| 
      
 682 
     | 
    
         
            +
              font-size: 30px;
         
     | 
| 
      
 683 
     | 
    
         
            +
            }
         
     | 
| 
      
 684 
     | 
    
         
            +
             
     | 
| 
      
 685 
     | 
    
         
            +
            h3 {
         
     | 
| 
      
 686 
     | 
    
         
            +
              font-size: 24px;
         
     | 
| 
      
 687 
     | 
    
         
            +
            }
         
     | 
| 
      
 688 
     | 
    
         
            +
             
     | 
| 
      
 689 
     | 
    
         
            +
            h4 {
         
     | 
| 
      
 690 
     | 
    
         
            +
              font-size: 18px;
         
     | 
| 
      
 691 
     | 
    
         
            +
            }
         
     | 
| 
      
 692 
     | 
    
         
            +
             
     | 
| 
      
 693 
     | 
    
         
            +
            h5 {
         
     | 
| 
      
 694 
     | 
    
         
            +
              font-size: 14px;
         
     | 
| 
      
 695 
     | 
    
         
            +
            }
         
     | 
| 
      
 696 
     | 
    
         
            +
             
     | 
| 
      
 697 
     | 
    
         
            +
            h6 {
         
     | 
| 
      
 698 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 699 
     | 
    
         
            +
            }
         
     | 
| 
      
 700 
     | 
    
         
            +
             
     | 
| 
      
 701 
     | 
    
         
            +
            /*
         
     | 
| 
      
 702 
     | 
    
         
            +
            .window {
         
     | 
| 
      
 703 
     | 
    
         
            +
              position: absolute;
         
     | 
| 
      
 704 
     | 
    
         
            +
              top: 0;
         
     | 
| 
      
 705 
     | 
    
         
            +
              right: 0;
         
     | 
| 
      
 706 
     | 
    
         
            +
              bottom: 0;
         
     | 
| 
      
 707 
     | 
    
         
            +
              left: 0;
         
     | 
| 
      
 708 
     | 
    
         
            +
            	display: flex;
         
     | 
| 
      
 709 
     | 
    
         
            +
              flex-direction: column;
         
     | 
| 
      
 710 
     | 
    
         
            +
              background-color: $chrome-color;
         
     | 
| 
      
 711 
     | 
    
         
            +
            }
         
     | 
| 
      
 712 
     | 
    
         
            +
            */
         
     | 
| 
      
 713 
     | 
    
         
            +
             
     | 
| 
      
 714 
     | 
    
         
            +
            .window-content {
         
     | 
| 
      
 715 
     | 
    
         
            +
              position: relative;
         
     | 
| 
      
 716 
     | 
    
         
            +
              overflow-y: auto;
         
     | 
| 
      
 717 
     | 
    
         
            +
              display: -webkit-box;
         
     | 
| 
      
 718 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 719 
     | 
    
         
            +
              -webkit-box-flex: 1;
         
     | 
| 
      
 720 
     | 
    
         
            +
                      flex: 1;
         
     | 
| 
      
 721 
     | 
    
         
            +
            }
         
     | 
| 
      
 722 
     | 
    
         
            +
             
     | 
| 
      
 723 
     | 
    
         
            +
            .toolbar {
         
     | 
| 
      
 724 
     | 
    
         
            +
              min-height: 22px;
         
     | 
| 
      
 725 
     | 
    
         
            +
              box-shadow: inset 0 1px 0 #f5f4f5;
         
     | 
| 
      
 726 
     | 
    
         
            +
              background-color: #e8e6e8;
         
     | 
| 
      
 727 
     | 
    
         
            +
              background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e6e8), to(#d1cfd1));
         
     | 
| 
      
 728 
     | 
    
         
            +
              background-image: linear-gradient(to bottom, #e8e6e8 0%, #d1cfd1 100%);
         
     | 
| 
      
 729 
     | 
    
         
            +
            }
         
     | 
| 
      
 730 
     | 
    
         
            +
             
     | 
| 
      
 731 
     | 
    
         
            +
            .toolbar:before,
         
     | 
| 
      
 732 
     | 
    
         
            +
            .toolbar:after {
         
     | 
| 
      
 733 
     | 
    
         
            +
              display: table;
         
     | 
| 
      
 734 
     | 
    
         
            +
              content: " ";
         
     | 
| 
      
 735 
     | 
    
         
            +
            }
         
     | 
| 
      
 736 
     | 
    
         
            +
             
     | 
| 
      
 737 
     | 
    
         
            +
            .toolbar:after {
         
     | 
| 
      
 738 
     | 
    
         
            +
              clear: both;
         
     | 
| 
      
 739 
     | 
    
         
            +
            }
         
     | 
| 
      
 740 
     | 
    
         
            +
             
     | 
| 
      
 741 
     | 
    
         
            +
            .toolbar-header {
         
     | 
| 
      
 742 
     | 
    
         
            +
              border-bottom: 1px solid #b3b2b3;
         
     | 
| 
      
 743 
     | 
    
         
            +
            }
         
     | 
| 
      
 744 
     | 
    
         
            +
             
     | 
| 
      
 745 
     | 
    
         
            +
            .toolbar-header .title {
         
     | 
| 
      
 746 
     | 
    
         
            +
              margin-top: 1px;
         
     | 
| 
      
 747 
     | 
    
         
            +
            }
         
     | 
| 
      
 748 
     | 
    
         
            +
             
     | 
| 
      
 749 
     | 
    
         
            +
            .toolbar-footer {
         
     | 
| 
      
 750 
     | 
    
         
            +
              border-top: 1px solid #b3b2b3;
         
     | 
| 
      
 751 
     | 
    
         
            +
              -webkit-app-region: drag;
         
     | 
| 
      
 752 
     | 
    
         
            +
            }
         
     | 
| 
      
 753 
     | 
    
         
            +
             
     | 
| 
      
 754 
     | 
    
         
            +
            .title {
         
     | 
| 
      
 755 
     | 
    
         
            +
              margin: 0;
         
     | 
| 
      
 756 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 757 
     | 
    
         
            +
              font-weight: 400;
         
     | 
| 
      
 758 
     | 
    
         
            +
              text-align: center;
         
     | 
| 
      
 759 
     | 
    
         
            +
              color: #555;
         
     | 
| 
      
 760 
     | 
    
         
            +
              cursor: default;
         
     | 
| 
      
 761 
     | 
    
         
            +
            }
         
     | 
| 
      
 762 
     | 
    
         
            +
             
     | 
| 
      
 763 
     | 
    
         
            +
            .toolbar-borderless {
         
     | 
| 
      
 764 
     | 
    
         
            +
              border-top: 0;
         
     | 
| 
      
 765 
     | 
    
         
            +
              border-bottom: 0;
         
     | 
| 
      
 766 
     | 
    
         
            +
            }
         
     | 
| 
      
 767 
     | 
    
         
            +
             
     | 
| 
      
 768 
     | 
    
         
            +
            .toolbar-actions {
         
     | 
| 
      
 769 
     | 
    
         
            +
              margin-top: 4px;
         
     | 
| 
      
 770 
     | 
    
         
            +
              margin-bottom: 3px;
         
     | 
| 
      
 771 
     | 
    
         
            +
              padding-right: 3px;
         
     | 
| 
      
 772 
     | 
    
         
            +
              padding-left: 3px;
         
     | 
| 
      
 773 
     | 
    
         
            +
              padding-bottom: 3px;
         
     | 
| 
      
 774 
     | 
    
         
            +
              -webkit-app-region: drag;
         
     | 
| 
      
 775 
     | 
    
         
            +
            }
         
     | 
| 
      
 776 
     | 
    
         
            +
             
     | 
| 
      
 777 
     | 
    
         
            +
            .toolbar-actions:before,
         
     | 
| 
      
 778 
     | 
    
         
            +
            .toolbar-actions:after {
         
     | 
| 
      
 779 
     | 
    
         
            +
              display: table;
         
     | 
| 
      
 780 
     | 
    
         
            +
              content: " ";
         
     | 
| 
      
 781 
     | 
    
         
            +
            }
         
     | 
| 
      
 782 
     | 
    
         
            +
             
     | 
| 
      
 783 
     | 
    
         
            +
            .toolbar-actions:after {
         
     | 
| 
      
 784 
     | 
    
         
            +
              clear: both;
         
     | 
| 
      
 785 
     | 
    
         
            +
            }
         
     | 
| 
      
 786 
     | 
    
         
            +
             
     | 
| 
      
 787 
     | 
    
         
            +
            .toolbar-actions > .btn,
         
     | 
| 
      
 788 
     | 
    
         
            +
            .toolbar-actions > .btn-group {
         
     | 
| 
      
 789 
     | 
    
         
            +
              margin-left: 4px;
         
     | 
| 
      
 790 
     | 
    
         
            +
              margin-right: 4px;
         
     | 
| 
      
 791 
     | 
    
         
            +
            }
         
     | 
| 
      
 792 
     | 
    
         
            +
             
     | 
| 
      
 793 
     | 
    
         
            +
            .menu-bar {
         
     | 
| 
      
 794 
     | 
    
         
            +
              margin: 0px;
         
     | 
| 
      
 795 
     | 
    
         
            +
              padding: 0px;
         
     | 
| 
      
 796 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 797 
     | 
    
         
            +
              background-color: #d3d3d3;
         
     | 
| 
      
 798 
     | 
    
         
            +
              border-bottom: 1px solid black;
         
     | 
| 
      
 799 
     | 
    
         
            +
            }
         
     | 
| 
      
 800 
     | 
    
         
            +
             
     | 
| 
      
 801 
     | 
    
         
            +
            .menu-bar a {
         
     | 
| 
      
 802 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 803 
     | 
    
         
            +
              margin: 0px 0px;
         
     | 
| 
      
 804 
     | 
    
         
            +
              padding: 1px 8px;
         
     | 
| 
      
 805 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 806 
     | 
    
         
            +
              background-color: transparent;
         
     | 
| 
      
 807 
     | 
    
         
            +
            }
         
     | 
| 
      
 808 
     | 
    
         
            +
             
     | 
| 
      
 809 
     | 
    
         
            +
            .menu-bar a:hover {
         
     | 
| 
      
 810 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 811 
     | 
    
         
            +
              background-color: #345EF2;
         
     | 
| 
      
 812 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 813 
     | 
    
         
            +
            }
         
     | 
| 
      
 814 
     | 
    
         
            +
             
     | 
| 
      
 815 
     | 
    
         
            +
            .window .bar {
         
     | 
| 
      
 816 
     | 
    
         
            +
              box-shadow: inset 0 1px 0 #f5f4f5;
         
     | 
| 
      
 817 
     | 
    
         
            +
              background-color: #e8e6e8;
         
     | 
| 
      
 818 
     | 
    
         
            +
              background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e6e8), to(#d1cfd1));
         
     | 
| 
      
 819 
     | 
    
         
            +
              background-image: linear-gradient(to bottom, #e8e6e8 0%, #d1cfd1 100%);
         
     | 
| 
      
 820 
     | 
    
         
            +
            }
         
     | 
| 
      
 821 
     | 
    
         
            +
             
     | 
| 
      
 822 
     | 
    
         
            +
            .window .bar > .menu {
         
     | 
| 
      
 823 
     | 
    
         
            +
              height: 22px;
         
     | 
| 
      
 824 
     | 
    
         
            +
            }
         
     | 
| 
      
 825 
     | 
    
         
            +
             
     | 
| 
      
 826 
     | 
    
         
            +
            .window .bar > .buttons {
         
     | 
| 
      
 827 
     | 
    
         
            +
              height: 44px;
         
     | 
| 
      
 828 
     | 
    
         
            +
            }
         
     | 
| 
      
 829 
     | 
    
         
            +
             
     | 
| 
      
 830 
     | 
    
         
            +
            .window .bar > .tabs {
         
     | 
| 
      
 831 
     | 
    
         
            +
              border-top: 1px solid gray;
         
     | 
| 
      
 832 
     | 
    
         
            +
            }
         
     | 
| 
      
 833 
     | 
    
         
            +
             
     | 
| 
      
 834 
     | 
    
         
            +
            .window .bar > .tabs > a {
         
     | 
| 
      
 835 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 836 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 837 
     | 
    
         
            +
              margin: 4px 1px;
         
     | 
| 
      
 838 
     | 
    
         
            +
              padding: 0px 8px;
         
     | 
| 
      
 839 
     | 
    
         
            +
              border-radius: 4px;
         
     | 
| 
      
 840 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 841 
     | 
    
         
            +
              background-color: transparent;
         
     | 
| 
      
 842 
     | 
    
         
            +
            }
         
     | 
| 
      
 843 
     | 
    
         
            +
             
     | 
| 
      
 844 
     | 
    
         
            +
            .window .bar > .tabs > a:hover {
         
     | 
| 
      
 845 
     | 
    
         
            +
              background-color: rgba(0, 0, 0, 0.2);
         
     | 
| 
      
 846 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 847 
     | 
    
         
            +
            }
         
     | 
| 
      
 848 
     | 
    
         
            +
             
     | 
| 
      
 849 
     | 
    
         
            +
            .window .bar > .tabs > a:active {
         
     | 
| 
      
 850 
     | 
    
         
            +
              background-color: rgba(0, 0, 0, 0.4);
         
     | 
| 
      
 851 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 852 
     | 
    
         
            +
            }
         
     | 
| 
      
 853 
     | 
    
         
            +
             
     | 
| 
      
 854 
     | 
    
         
            +
            #os {
         
     | 
| 
      
 855 
     | 
    
         
            +
              display: -ms-grid;
         
     | 
| 
      
 856 
     | 
    
         
            +
              display: grid;
         
     | 
| 
      
 857 
     | 
    
         
            +
              -ms-grid-rows: 20px auto;
         
     | 
| 
      
 858 
     | 
    
         
            +
              grid-template-rows: 20px auto;
         
     | 
| 
      
 859 
     | 
    
         
            +
              height: 100vh;
         
     | 
| 
      
 860 
     | 
    
         
            +
              width: 100vw;
         
     | 
| 
      
 861 
     | 
    
         
            +
            }
         
     | 
| 
      
 862 
     | 
    
         
            +
             
     | 
| 
      
 863 
     | 
    
         
            +
            #os .menu-bar {
         
     | 
| 
      
 864 
     | 
    
         
            +
              margin: 0px;
         
     | 
| 
      
 865 
     | 
    
         
            +
              padding: 0px;
         
     | 
| 
      
 866 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 867 
     | 
    
         
            +
              background-color: #d3d3d3;
         
     | 
| 
      
 868 
     | 
    
         
            +
              border-bottom: 1px solid black;
         
     | 
| 
      
 869 
     | 
    
         
            +
            }
         
     | 
| 
      
 870 
     | 
    
         
            +
             
     | 
| 
      
 871 
     | 
    
         
            +
            #os .menu-bar a {
         
     | 
| 
      
 872 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 873 
     | 
    
         
            +
              margin: 0px 0px;
         
     | 
| 
      
 874 
     | 
    
         
            +
              padding: 1px 8px;
         
     | 
| 
      
 875 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 876 
     | 
    
         
            +
              background-color: transparent;
         
     | 
| 
      
 877 
     | 
    
         
            +
            }
         
     | 
| 
      
 878 
     | 
    
         
            +
             
     | 
| 
      
 879 
     | 
    
         
            +
            #os .menu-bar a:hover {
         
     | 
| 
      
 880 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 881 
     | 
    
         
            +
              background-color: #345EF2;
         
     | 
| 
      
 882 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 883 
     | 
    
         
            +
            }
         
     | 
| 
      
 884 
     | 
    
         
            +
             
     | 
| 
      
 885 
     | 
    
         
            +
            #os .desk {
         
     | 
| 
      
 886 
     | 
    
         
            +
              min-height: 0;
         
     | 
| 
      
 887 
     | 
    
         
            +
            }
         
     | 
| 
      
 888 
     | 
    
         
            +
             
     | 
| 
      
 889 
     | 
    
         
            +
            .window {
         
     | 
| 
      
 890 
     | 
    
         
            +
              height: 100%;
         
     | 
| 
      
 891 
     | 
    
         
            +
              max-height: 100%;
         
     | 
| 
      
 892 
     | 
    
         
            +
              max-width: 100%;
         
     | 
| 
      
 893 
     | 
    
         
            +
              display: -ms-grid;
         
     | 
| 
      
 894 
     | 
    
         
            +
              display: grid;
         
     | 
| 
      
 895 
     | 
    
         
            +
              -ms-grid-rows: min-content 1fr min-content;
         
     | 
| 
      
 896 
     | 
    
         
            +
              grid-template-rows: -webkit-min-content 1fr -webkit-min-content;
         
     | 
| 
      
 897 
     | 
    
         
            +
              grid-template-rows: min-content 1fr min-content;
         
     | 
| 
      
 898 
     | 
    
         
            +
            }
         
     | 
| 
      
 899 
     | 
    
         
            +
             
     | 
| 
      
 900 
     | 
    
         
            +
            .window .bar {
         
     | 
| 
      
 901 
     | 
    
         
            +
              box-shadow: inset 0 1px 0 #f5f4f5;
         
     | 
| 
      
 902 
     | 
    
         
            +
              background-color: #e8e6e8;
         
     | 
| 
      
 903 
     | 
    
         
            +
              background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e6e8), to(#d1cfd1));
         
     | 
| 
      
 904 
     | 
    
         
            +
              background-image: linear-gradient(to bottom, #e8e6e8 0%, #d1cfd1 100%);
         
     | 
| 
      
 905 
     | 
    
         
            +
            }
         
     | 
| 
      
 906 
     | 
    
         
            +
             
     | 
| 
      
 907 
     | 
    
         
            +
            .window .bar > .menu {
         
     | 
| 
      
 908 
     | 
    
         
            +
              height: 22px;
         
     | 
| 
      
 909 
     | 
    
         
            +
              text-align: center;
         
     | 
| 
      
 910 
     | 
    
         
            +
            }
         
     | 
| 
      
 911 
     | 
    
         
            +
             
     | 
| 
      
 912 
     | 
    
         
            +
            .window .bar > .buttons {
         
     | 
| 
      
 913 
     | 
    
         
            +
              height: 44px;
         
     | 
| 
      
 914 
     | 
    
         
            +
            }
         
     | 
| 
      
 915 
     | 
    
         
            +
             
     | 
| 
      
 916 
     | 
    
         
            +
            .window .bar > .tabs {
         
     | 
| 
      
 917 
     | 
    
         
            +
              border-top: 1px solid gray;
         
     | 
| 
      
 918 
     | 
    
         
            +
            }
         
     | 
| 
      
 919 
     | 
    
         
            +
             
     | 
| 
      
 920 
     | 
    
         
            +
            .window .bar > .tabs > a {
         
     | 
| 
      
 921 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 922 
     | 
    
         
            +
              font-size: 12px;
         
     | 
| 
      
 923 
     | 
    
         
            +
              margin: 4px 1px;
         
     | 
| 
      
 924 
     | 
    
         
            +
              padding: 0px 8px;
         
     | 
| 
      
 925 
     | 
    
         
            +
              border-radius: 4px;
         
     | 
| 
      
 926 
     | 
    
         
            +
              border: none;
         
     | 
| 
      
 927 
     | 
    
         
            +
              background-color: transparent;
         
     | 
| 
      
 928 
     | 
    
         
            +
            }
         
     | 
| 
      
 929 
     | 
    
         
            +
             
     | 
| 
      
 930 
     | 
    
         
            +
            .window .bar > .tabs > a:hover {
         
     | 
| 
      
 931 
     | 
    
         
            +
              background-color: rgba(0, 0, 0, 0.2);
         
     | 
| 
      
 932 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 933 
     | 
    
         
            +
            }
         
     | 
| 
      
 934 
     | 
    
         
            +
             
     | 
| 
      
 935 
     | 
    
         
            +
            .window .bar > .tabs > a:active {
         
     | 
| 
      
 936 
     | 
    
         
            +
              background-color: rgba(0, 0, 0, 0.4);
         
     | 
| 
      
 937 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 938 
     | 
    
         
            +
            }
         
     | 
| 
      
 939 
     | 
    
         
            +
             
     | 
| 
      
 940 
     | 
    
         
            +
            .window .content {
         
     | 
| 
      
 941 
     | 
    
         
            +
              min-height: 0;
         
     | 
| 
      
 942 
     | 
    
         
            +
            }
         
     | 
| 
      
 943 
     | 
    
         
            +
             
     | 
| 
      
 944 
     | 
    
         
            +
            .window-drawer-top {
         
     | 
| 
      
 945 
     | 
    
         
            +
              margin: 0.5rem auto;
         
     | 
| 
      
 946 
     | 
    
         
            +
              padding: 0.4rem;
         
     | 
| 
      
 947 
     | 
    
         
            +
              max-width: 40rem;
         
     | 
| 
      
 948 
     | 
    
         
            +
              text-align: left;
         
     | 
| 
      
 949 
     | 
    
         
            +
              background-color: #e8e6e8;
         
     | 
| 
      
 950 
     | 
    
         
            +
            }
         
     | 
| 
      
 951 
     | 
    
         
            +
             
     | 
| 
      
 952 
     | 
    
         
            +
            .window > .content {
         
     | 
| 
      
 953 
     | 
    
         
            +
              display: -ms-grid;
         
     | 
| 
      
 954 
     | 
    
         
            +
              display: grid;
         
     | 
| 
      
 955 
     | 
    
         
            +
              -ms-grid-columns: 1fr;
         
     | 
| 
      
 956 
     | 
    
         
            +
              grid-template-columns: 1fr;
         
     | 
| 
      
 957 
     | 
    
         
            +
            }
         
     | 
| 
      
 958 
     | 
    
         
            +
             
     | 
| 
      
 959 
     | 
    
         
            +
            @media screen and (min-width: 35.5em) {
         
     | 
| 
      
 960 
     | 
    
         
            +
              .window > .content {
         
     | 
| 
      
 961 
     | 
    
         
            +
                -ms-grid-columns: 14.4rem 1fr;
         
     | 
| 
      
 962 
     | 
    
         
            +
                grid-template-columns: 14.4rem 1fr;
         
     | 
| 
      
 963 
     | 
    
         
            +
              }
         
     | 
| 
      
 964 
     | 
    
         
            +
            }
         
     | 
| 
      
 965 
     | 
    
         
            +
             
     | 
| 
      
 966 
     | 
    
         
            +
            .window > .content > .sidebar {
         
     | 
| 
      
 967 
     | 
    
         
            +
              display: none;
         
     | 
| 
      
 968 
     | 
    
         
            +
              overflow-y: scroll;
         
     | 
| 
      
 969 
     | 
    
         
            +
            }
         
     | 
| 
      
 970 
     | 
    
         
            +
             
     | 
| 
      
 971 
     | 
    
         
            +
            @media screen and (min-width: 35.5em) {
         
     | 
| 
      
 972 
     | 
    
         
            +
              .window > .content > .sidebar {
         
     | 
| 
      
 973 
     | 
    
         
            +
                display: block;
         
     | 
| 
      
 974 
     | 
    
         
            +
              }
         
     | 
| 
      
 975 
     | 
    
         
            +
            }
         
     | 
| 
      
 976 
     | 
    
         
            +
             
     | 
| 
      
 977 
     | 
    
         
            +
            .window > .content > .panel {
         
     | 
| 
      
 978 
     | 
    
         
            +
              overflow: scroll;
         
     | 
| 
      
 979 
     | 
    
         
            +
              min-width: 0px;
         
     | 
| 
      
 980 
     | 
    
         
            +
            }
         
     | 
| 
      
 981 
     | 
    
         
            +
             
     | 
| 
      
 982 
     | 
    
         
            +
            .text-editor {
         
     | 
| 
      
 983 
     | 
    
         
            +
              min-height: 80vh;
         
     | 
| 
      
 984 
     | 
    
         
            +
            }
         
     | 
| 
      
 985 
     | 
    
         
            +
             
     | 
| 
      
 986 
     | 
    
         
            +
            .panel-edit > .form-box {
         
     | 
| 
      
 987 
     | 
    
         
            +
              padding: 0.8rem;
         
     | 
| 
      
 988 
     | 
    
         
            +
              background-color: #cdcdcd;
         
     | 
| 
      
 989 
     | 
    
         
            +
              border-radius: 0.4rem;
         
     | 
| 
      
 990 
     | 
    
         
            +
              box-shadow: inset 0px 0px 1px grey;
         
     | 
| 
      
 991 
     | 
    
         
            +
            }
         
     | 
| 
      
 992 
     | 
    
         
            +
             
     | 
| 
      
 993 
     | 
    
         
            +
            .os-form-group {
         
     | 
| 
      
 994 
     | 
    
         
            +
              margin: 0.4rem 0.4rem;
         
     | 
| 
      
 995 
     | 
    
         
            +
              white-space: nowrap;
         
     | 
| 
      
 996 
     | 
    
         
            +
            }
         
     | 
| 
      
 997 
     | 
    
         
            +
             
     | 
| 
      
 998 
     | 
    
         
            +
            .os-form-group > label {
         
     | 
| 
      
 999 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 1000 
     | 
    
         
            +
              width: 5em;
         
     | 
| 
      
 1001 
     | 
    
         
            +
              vertical-align: middle;
         
     | 
| 
      
 1002 
     | 
    
         
            +
              text-align: end;
         
     | 
| 
      
 1003 
     | 
    
         
            +
              white-space: normal;
         
     | 
| 
      
 1004 
     | 
    
         
            +
              word-wrap: break-word;
         
     | 
| 
      
 1005 
     | 
    
         
            +
            }
         
     | 
| 
      
 1006 
     | 
    
         
            +
             
     | 
| 
      
 1007 
     | 
    
         
            +
            .os-form-group > .form-control {
         
     | 
| 
      
 1008 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 1009 
     | 
    
         
            +
              width: calc(100% - 5em);
         
     | 
| 
      
 1010 
     | 
    
         
            +
              box-sizing: border-box;
         
     | 
| 
      
 1011 
     | 
    
         
            +
              vertical-align: middle;
         
     | 
| 
      
 1012 
     | 
    
         
            +
              white-space: normal;
         
     | 
| 
      
 1013 
     | 
    
         
            +
            }
         
     | 
| 
      
 1014 
     | 
    
         
            +
             
     | 
| 
      
 1015 
     | 
    
         
            +
            /*
         
     | 
| 
      
 1016 
     | 
    
         
            +
            @import '~purecss/build/pure-min.css';
         
     | 
| 
      
 1017 
     | 
    
         
            +
            @import '~purecss/build/grids-responsive-min.css';
         
     | 
| 
      
 1018 
     | 
    
         
            +
            @import '/pure/grids/xx';
         
     | 
| 
      
 1019 
     | 
    
         
            +
             
     | 
| 
      
 1020 
     | 
    
         
            +
            // BlazeCSS
         
     | 
| 
      
 1021 
     | 
    
         
            +
            // @import '~blaze';
         
     | 
| 
      
 1022 
     | 
    
         
            +
             
     | 
| 
      
 1023 
     | 
    
         
            +
            // font
         
     | 
| 
      
 1024 
     | 
    
         
            +
            @import '/fonts';
         
     | 
| 
      
 1025 
     | 
    
         
            +
             
     | 
| 
      
 1026 
     | 
    
         
            +
            // variables & basics
         
     | 
| 
      
 1027 
     | 
    
         
            +
            @import '/shadow';
         
     | 
| 
      
 1028 
     | 
    
         
            +
            @import '/colors/style';
         
     | 
| 
      
 1029 
     | 
    
         
            +
             
     | 
| 
      
 1030 
     | 
    
         
            +
            @import '/components/link-button';
         
     | 
| 
      
 1031 
     | 
    
         
            +
            @import '/components/insection';
         
     | 
| 
      
 1032 
     | 
    
         
            +
            */
         
     | 
| 
      
 1033 
     | 
    
         
            +
             
     | 
| 
       524 
1034 
     | 
    
         
             
            .text-editor {
         
     | 
| 
       525 
1035 
     | 
    
         
             
              min-height: 80vh;
         
     | 
| 
       526 
1036 
     | 
    
         
             
            }
         
     | 
| 
         @@ -5,8 +5,10 @@ module Iatelier 
     | 
|
| 
       5 
5 
     | 
    
         
             
                    include Iatelier::Action
         
     | 
| 
       6 
6 
     | 
    
         
             
            		include Iatelier::Controllers::Books::DbConnector
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def call(params)
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                        @database = params[:database]
         
     | 
| 
      
 9 
     | 
    
         
            +
            	        self.set_database @database
         
     | 
| 
       9 
10 
     | 
    
         
             
            	        @book = Object.const_get(params[:book_type].capitalize).find(params[:id])
         
     | 
| 
      
 11 
     | 
    
         
            +
                        @book.namespace = Ilog.configuration.namespaces.key(@database)
         
     | 
| 
       10 
12 
     | 
    
         
             
            			@book.revise(params)
         
     | 
| 
       11 
13 
     | 
    
         
             
            			@book.save
         
     | 
| 
       12 
14 
     | 
    
         
             
            			self.body = @book.save.to_json
         
     | 
    
        data/lib/iatelier/models/book.rb
    CHANGED
    
    | 
         @@ -2,14 +2,9 @@ require 'redcarpet' 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class Book < ActiveRecord::Base
         
     | 
| 
       4 
4 
     | 
    
         
             
            	self.abstract_class = true
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            	 
     | 
| 
       7 
     | 
    
         
            -
            	 
     | 
| 
       8 
     | 
    
         
            -
            	@@roles = []
         
     | 
| 
       9 
     | 
    
         
            -
            	
         
     | 
| 
       10 
     | 
    
         
            -
            	@content_raw = ''
         
     | 
| 
       11 
     | 
    
         
            -
            	
         
     | 
| 
       12 
     | 
    
         
            -
            	@namespace = nil
         
     | 
| 
      
 5 
     | 
    
         
            +
            	DIMENSIONS = []
         
     | 
| 
      
 6 
     | 
    
         
            +
            	GROUPINGS = []
         
     | 
| 
      
 7 
     | 
    
         
            +
            	ROLES = []
         
     | 
| 
       13 
8 
     | 
    
         | 
| 
       14 
9 
     | 
    
         
             
            	has_one :title, as: :titleable, class_name: 'Dimensions::Title'
         
     | 
| 
       15 
10 
     | 
    
         
             
            	has_one :slug, as: :slugable, class_name: 'Dimensions::Slug'
         
     | 
| 
         @@ -23,88 +18,69 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       23 
18 
     | 
    
         | 
| 
       24 
19 
     | 
    
         
             
            	has_many :peopleables, as: :peopleable, dependent: :destroy
         
     | 
| 
       25 
20 
     | 
    
         
             
            	has_many :peoples, through: :peopleables
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
       27 
22 
     | 
    
         
             
            	has_many :bundleables, as: :bundleable, dependent: :destroy
         
     | 
| 
       28 
23 
     | 
    
         
             
            	has_many :bundles, through: :bundleables
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
       30 
25 
     | 
    
         
             
            	accepts_nested_attributes_for :title, :slug, :subtitle, :description, :thumbnail, :timestamp
         
     | 
| 
       31 
26 
     | 
    
         
             
            	validates_associated :slug
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
       33 
28 
     | 
    
         
             
            	attr_accessor :namespace
         
     | 
| 
       34 
29 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
            	
         
     | 
| 
       36 
30 
     | 
    
         
             
            	def kind
         
     | 
| 
       37 
31 
     | 
    
         
             
            		self.class.to_s
         
     | 
| 
       38 
32 
     | 
    
         
             
            	end
         
     | 
| 
       39 
33 
     | 
    
         
             
            	def uniq
         
     | 
| 
       40 
34 
     | 
    
         
             
            		self.class.to_s + self.id.to_s
         
     | 
| 
       41 
35 
     | 
    
         
             
            	end
         
     | 
| 
       42 
     | 
    
         
            -
            	
         
     | 
| 
       43 
     | 
    
         
            -
            	def dimensions
         
     | 
| 
       44 
     | 
    
         
            -
            		@@dimensions
         
     | 
| 
       45 
     | 
    
         
            -
            	end
         
     | 
| 
       46 
     | 
    
         
            -
            	def self.dimensions
         
     | 
| 
       47 
     | 
    
         
            -
                	@@dimensions
         
     | 
| 
       48 
     | 
    
         
            -
              	end
         
     | 
| 
       49 
36 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
      
 37 
     | 
    
         
            +
            	def dimensions
         
     | 
| 
      
 38 
     | 
    
         
            +
            		self.class::DIMENSIONS
         
     | 
| 
       52 
39 
     | 
    
         
             
            	end
         
     | 
| 
       53 
     | 
    
         
            -
            	def  
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
              	end
         
     | 
| 
       56 
     | 
    
         
            -
              	
         
     | 
| 
       57 
     | 
    
         
            -
              	def groupings
         
     | 
| 
       58 
     | 
    
         
            -
            	  	@@groupings
         
     | 
| 
      
 40 
     | 
    
         
            +
            	def groupings
         
     | 
| 
      
 41 
     | 
    
         
            +
            	  	self.class::GROUPINGS
         
     | 
| 
       59 
42 
     | 
    
         
             
            	end
         
     | 
| 
       60 
     | 
    
         
            -
              	def  
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
              	def roles
         
     | 
| 
      
 44 
     | 
    
         
            +
              		self.class::ROLES
         
     | 
| 
       62 
45 
     | 
    
         
             
            	end
         
     | 
| 
       63 
46 
     | 
    
         | 
| 
       64 
47 
     | 
    
         
             
            	def individuals requested_role
         
     | 
| 
       65 
48 
     | 
    
         
             
            		@query = '`peopleables`.`role` = "' + requested_role.to_s + '"'
         
     | 
| 
       66 
49 
     | 
    
         
             
            		self.peoples.includes(:peopleables).where(@query)
         
     | 
| 
       67 
50 
     | 
    
         
             
            	end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       69 
52 
     | 
    
         
             
            	def content_raw
         
     | 
| 
       70 
     | 
    
         
            -
            		puts 'trying to open content'
         
     | 
| 
       71 
53 
     | 
    
         
             
            		unless self.id.nil?
         
     | 
| 
       72 
     | 
    
         
            -
            			puts 'id passed'
         
     | 
| 
       73 
54 
     | 
    
         
             
            			path = Iatelier.configuration.storage_dir + @namespace.to_s + self.class.name.downcase + '/' + self.id.to_s + '/main.md'
         
     | 
| 
       74 
     | 
    
         
            -
            			puts ' 
     | 
| 
      
 55 
     | 
    
         
            +
            			puts 'triving to retrive the content from the path = ' + path.to_s
         
     | 
| 
       75 
56 
     | 
    
         
             
            			if File.exists? path
         
     | 
| 
       76 
     | 
    
         
            -
            				 
     | 
| 
       77 
     | 
    
         
            -
            				@content = File.open(path).read
         
     | 
| 
      
 57 
     | 
    
         
            +
            				return File.open(path).read
         
     | 
| 
       78 
58 
     | 
    
         
             
            			else
         
     | 
| 
       79 
     | 
    
         
            -
            				 
     | 
| 
      
 59 
     | 
    
         
            +
            				return nil
         
     | 
| 
       80 
60 
     | 
    
         
             
            			end
         
     | 
| 
       81 
61 
     | 
    
         
             
            		else
         
     | 
| 
       82 
     | 
    
         
            -
            			 
     | 
| 
      
 62 
     | 
    
         
            +
            			return nil
         
     | 
| 
       83 
63 
     | 
    
         
             
            		end
         
     | 
| 
       84 
64 
     | 
    
         
             
            	end
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
            	def self.with_all
         
     | 
| 
       87 
     | 
    
         
            -
            		self.includes(self.dimensions + self.groupings)
         
     | 
| 
       88 
     | 
    
         
            -
            	end
         
     | 
| 
       89 
     | 
    
         
            -
            	
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
       90 
66 
     | 
    
         
             
            	def content
         
     | 
| 
       91 
67 
     | 
    
         
             
            		markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true)
         
     | 
| 
       92 
     | 
    
         
            -
            		markdown.render( 
     | 
| 
      
 68 
     | 
    
         
            +
            		return markdown.render(content_raw.to_s)
         
     | 
| 
       93 
69 
     | 
    
         
             
            	end
         
     | 
| 
       94 
70 
     | 
    
         | 
| 
       95 
71 
     | 
    
         
             
            # 	def initialized
         
     | 
| 
       96 
72 
     | 
    
         
             
            # 		super()
         
     | 
| 
       97 
73 
     | 
    
         
             
            # 		puts "content of the dimension: \n"
         
     | 
| 
       98 
     | 
    
         
            -
            # 		puts  
     | 
| 
       99 
     | 
    
         
            -
            # 		 
     | 
| 
      
 74 
     | 
    
         
            +
            # 		puts dimensions.inspect
         
     | 
| 
      
 75 
     | 
    
         
            +
            # 		dimensions.each do |dimension|
         
     | 
| 
       100 
76 
     | 
    
         
             
            # 			reference = dimension + able
         
     | 
| 
       101 
77 
     | 
    
         
             
            # 			hasone dimension.to_sym as: reference.to_sym
         
     | 
| 
       102 
78 
     | 
    
         
             
            # 		end
         
     | 
| 
       103 
79 
     | 
    
         
             
            # 	end
         
     | 
| 
       104 
80 
     | 
    
         | 
| 
       105 
81 
     | 
    
         
             
            	def create params
         
     | 
| 
       106 
     | 
    
         
            -
            		puts 'these are the stuff were going to add:' +  
     | 
| 
       107 
     | 
    
         
            -
            		 
     | 
| 
      
 82 
     | 
    
         
            +
            		puts 'these are the stuff were going to add:' + dimensions.to_s
         
     | 
| 
      
 83 
     | 
    
         
            +
            		dimensions.each do |dimension|
         
     | 
| 
       108 
84 
     | 
    
         
             
            			method_name = 'setup_' + dimension
         
     | 
| 
       109 
85 
     | 
    
         
             
            			self.public_send(method_name.to_sym, params)
         
     | 
| 
       110 
86 
     | 
    
         
             
            		end
         
     | 
| 
         @@ -115,7 +91,7 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       115 
91 
     | 
    
         
             
            	end
         
     | 
| 
       116 
92 
     | 
    
         | 
| 
       117 
93 
     | 
    
         
             
            	def revise params
         
     | 
| 
       118 
     | 
    
         
            -
            		 
     | 
| 
      
 94 
     | 
    
         
            +
            		dimensions.each do |dimension|
         
     | 
| 
       119 
95 
     | 
    
         
             
            			if self.public_send(dimension.to_sym)
         
     | 
| 
       120 
96 
     | 
    
         
             
            				method_name = 'revise_' + dimension
         
     | 
| 
       121 
97 
     | 
    
         
             
            			else
         
     | 
| 
         @@ -123,7 +99,7 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       123 
99 
     | 
    
         
             
            			end
         
     | 
| 
       124 
100 
     | 
    
         
             
            			self.public_send(method_name.to_sym, params)
         
     | 
| 
       125 
101 
     | 
    
         
             
            		end
         
     | 
| 
       126 
     | 
    
         
            -
            		 
     | 
| 
      
 102 
     | 
    
         
            +
            		dimensions.each do |dimension|
         
     | 
| 
       127 
103 
     | 
    
         
             
            			self.public_send(dimension.to_sym).save
         
     | 
| 
       128 
104 
     | 
    
         
             
            		end
         
     | 
| 
       129 
105 
     | 
    
         
             
            		sync_keywords params
         
     | 
| 
         @@ -193,11 +169,11 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       193 
169 
     | 
    
         
             
            	def revise_title params
         
     | 
| 
       194 
170 
     | 
    
         
             
            		self.title.update(value: params[:title])
         
     | 
| 
       195 
171 
     | 
    
         
             
            	end
         
     | 
| 
       196 
     | 
    
         
            -
             
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
       197 
173 
     | 
    
         
             
            	def setup_subtitle params
         
     | 
| 
       198 
174 
     | 
    
         
             
            		self.build_subtitle({value: params[:subtitle]})
         
     | 
| 
       199 
175 
     | 
    
         
             
            	end
         
     | 
| 
       200 
     | 
    
         
            -
            	def  
     | 
| 
      
 176 
     | 
    
         
            +
            	def revise_subtitle params
         
     | 
| 
       201 
177 
     | 
    
         
             
            		self.subtitle.update(value: params[:subtitle])
         
     | 
| 
       202 
178 
     | 
    
         
             
            	end
         
     | 
| 
       203 
179 
     | 
    
         | 
| 
         @@ -207,12 +183,12 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       207 
183 
     | 
    
         
             
            	def revise_slug params
         
     | 
| 
       208 
184 
     | 
    
         
             
            		self.slug.update(value: params[:slug])
         
     | 
| 
       209 
185 
     | 
    
         
             
            	end
         
     | 
| 
       210 
     | 
    
         
            -
             
     | 
| 
      
 186 
     | 
    
         
            +
             
     | 
| 
       211 
187 
     | 
    
         
             
            	def setup_thumbnail params
         
     | 
| 
       212 
188 
     | 
    
         
             
            	end
         
     | 
| 
       213 
189 
     | 
    
         
             
            	def revise_thumbnail params
         
     | 
| 
       214 
190 
     | 
    
         
             
            	end
         
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
       216 
192 
     | 
    
         
             
            	def setup_timestamp params
         
     | 
| 
       217 
193 
     | 
    
         
             
            		puts 'setting up timestamp'
         
     | 
| 
       218 
194 
     | 
    
         
             
            		self.build_timestamp({
         
     | 
| 
         @@ -235,10 +211,9 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       235 
211 
     | 
    
         
             
            			self.setup_timestamp params
         
     | 
| 
       236 
212 
     | 
    
         
             
            		end
         
     | 
| 
       237 
213 
     | 
    
         
             
            	end
         
     | 
| 
       238 
     | 
    
         
            -
             
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
       239 
215 
     | 
    
         
             
            	def sync_content params
         
     | 
| 
       240 
     | 
    
         
            -
            		 
     | 
| 
       241 
     | 
    
         
            -
            		path = Iatelier.configuration.storage_dir + params[:database].to_s + self.class.name.downcase + '/' + self.id.to_s
         
     | 
| 
      
 216 
     | 
    
         
            +
            		path = Iatelier.configuration.storage_dir + @namespace.to_s + self.class.name.downcase + '/' + self.id.to_s
         
     | 
| 
       242 
217 
     | 
    
         
             
            		Dir.mkdir(path) unless File.exists?(path)
         
     | 
| 
       243 
218 
     | 
    
         
             
            		File.open(path + '/main.md', 'w+') do |file|
         
     | 
| 
       244 
219 
     | 
    
         
             
            			file.puts params[:content]
         
     | 
| 
         @@ -248,4 +223,4 @@ class Book < ActiveRecord::Base 
     | 
|
| 
       248 
223 
     | 
    
         
             
            		self.save
         
     | 
| 
       249 
224 
     | 
    
         
             
            		puts self.loc.to_s
         
     | 
| 
       250 
225 
     | 
    
         
             
            	end
         
     | 
| 
       251 
     | 
    
         
            -
            end
         
     | 
| 
      
 226 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -16,10 +16,10 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
            			-if book.dimensions.include? 'description'
         
     | 
| 
       17 
17 
     | 
    
         
             
            				%label.label Description
         
     | 
| 
       18 
18 
     | 
    
         
             
            				%input{:class => "form-control pure-input-1", :name => "description", :type => "text", :placeholder => "Description", :value => book.description.try(:value)}
         
     | 
| 
       19 
     | 
    
         
            -
            				
         
     | 
| 
       20 
19 
     | 
    
         
             
            	.form-box
         
     | 
| 
       21 
20 
     | 
    
         
             
            		%label Text
         
     | 
| 
       22 
     | 
    
         
            -
            		% 
     | 
| 
      
 21 
     | 
    
         
            +
            		%br
         
     | 
| 
      
 22 
     | 
    
         
            +
            		%textarea{:name => "content", :class => "text-editor pure-input-1 form-control", :type => "text", :placeholder => "Content of the book ...", :style => "width: 100%"}
         
     | 
| 
       23 
23 
     | 
    
         
             
            			-unless book.content_raw.nil?
         
     | 
| 
       24 
24 
     | 
    
         
             
            				= book.content_raw
         
     | 
| 
       25 
25 
     | 
    
         
             
            %div{:class => "grid-large panel-edit"}
         
     | 
| 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            %div{:class => "c-card__item c-card__item--divider"}
         
     | 
| 
       2 
     | 
    
         
            -
            	.span Keyword
         
     | 
| 
       3 
2 
     | 
    
         
             
            	%div{:class => "c-card__item"}
         
     | 
| 
      
 3 
     | 
    
         
            +
            		%label Keywords
         
     | 
| 
       4 
4 
     | 
    
         
             
            		%input{:id => "keywords", :name => "keywords", :value => book.keywords.pluck(:word).join(", ")}
         
     | 
| 
       5 
5 
     | 
    
         
             
            		%div{:id => "keywords-field", :name => "keywords", :type => "text", :style => "width: 100%; display: block;"}
         
     | 
| 
         @@ -3,5 +3,4 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            	%form{:class => "atelier-main-form pure-form pure-form-aligned", :action => "/iatelier/#{database}/#{book.class.name.downcase}/#{book.id}", :method => "POST",  :enctype => "multipart/form-data"}
         
     | 
| 
       4 
4 
     | 
    
         
             
            		.form-actions
         
     | 
| 
       5 
5 
     | 
    
         
             
            			<button type="submit" class="btn btn-default">Create</button>
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            				= render :partial => 'engine'
         
     | 
| 
      
 6 
     | 
    
         
            +
            		= render :partial => 'engine'
         
     | 
    
        data/lib/iatelier/version.rb
    CHANGED
    
    
    
        data/package.json
    CHANGED
    
    
    
        data/src/sass/iatelier.scss
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: iatelier
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.4.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Captain Husayn Pinguin
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020-01- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-01-30 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     |