aureus 0.3.6 → 1.0.0
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.
- data/Gemfile +8 -1
- data/Gemfile.lock +93 -2
- data/Rakefile +24 -6
- data/Readme.md +28 -1
- data/TODO.md +7 -0
- data/app/assets/stylesheets/aureus/base.scss +9 -4
- data/app/assets/stylesheets/aureus/content.scss +0 -24
- data/app/assets/stylesheets/aureus/form.scss +1 -16
- data/app/assets/stylesheets/aureus/index.scss +1 -0
- data/app/assets/stylesheets/aureus/navigation.scss +4 -5
- data/app/assets/stylesheets/aureus/table.scss +4 -14
- data/app/assets/stylesheets/aureus/topbar.scss +2 -2
- data/aureus.gemspec +6 -1
- data/config/initializers/formtastic.rb +82 -0
- data/config/locales/en.yml +2 -0
- data/lib/aureus/box.rb +37 -0
- data/lib/aureus/content.rb +15 -0
- data/lib/aureus/data_table.rb +139 -0
- data/lib/aureus/engine.rb +3 -1
- data/lib/aureus/helper.rb +56 -0
- data/lib/aureus/listing.rb +39 -0
- data/lib/aureus/messages.rb +23 -0
- data/lib/aureus/navigation.rb +42 -0
- data/lib/aureus/row.rb +65 -0
- data/lib/aureus/test/resource.rb +3 -0
- data/lib/aureus/test/schema.rb +8 -0
- data/lib/aureus/toolbar.rb +74 -0
- data/lib/aureus/version.rb +1 -1
- data/lib/aureus.rb +50 -1
- data/lib/generators/aureus/.DS_Store +0 -0
- data/lib/generators/aureus/devise_i18n/devise_i18n_generator.rb +20 -0
- data/lib/generators/aureus/devise_i18n/templates/devise_base.en.yml +54 -0
- data/lib/generators/aureus/devise_i18n/templates/devise_mail.en.yml +18 -0
- data/lib/generators/aureus/devise_i18n/templates/devise_ui.en.yml +54 -0
- data/lib/generators/aureus/devise_views/devise_views_generator.rb +23 -0
- data/lib/generators/aureus/devise_views/templates/devise/confirmations/new.html.haml +7 -0
- data/lib/generators/aureus/devise_views/templates/devise/mailer/confirmation_instructions.html.haml +3 -0
- data/lib/generators/aureus/devise_views/templates/devise/mailer/reset_password_instructions.html.haml +5 -0
- data/lib/generators/aureus/devise_views/templates/devise/mailer/unlock_instructions.html.haml +4 -0
- data/lib/generators/aureus/devise_views/templates/devise/passwords/edit.html.haml +9 -0
- data/lib/generators/aureus/devise_views/templates/devise/passwords/new.html.haml +7 -0
- data/lib/generators/aureus/devise_views/templates/devise/registrations/edit.html.haml +11 -0
- data/lib/generators/aureus/devise_views/templates/devise/registrations/new.html.haml +9 -0
- data/lib/generators/aureus/devise_views/templates/devise/sessions/new.html.haml +9 -0
- data/lib/generators/aureus/devise_views/templates/devise/shared/_links.html.haml +19 -0
- data/lib/generators/aureus/devise_views/templates/devise/unlocks/new.html.haml +7 -0
- data/lib/generators/aureus/views/templates/views/_form.html.haml +6 -0
- data/lib/generators/aureus/views/templates/views/_item.html.haml +6 -0
- data/lib/generators/aureus/views/templates/views/_list.html.haml +10 -0
- data/lib/generators/aureus/views/templates/views/edit.html.haml +7 -0
- data/lib/generators/aureus/views/templates/views/index.html.haml +6 -0
- data/lib/generators/aureus/views/templates/views/new.html.haml +7 -0
- data/lib/generators/aureus/views/templates/views/show.html.haml +7 -0
- data/lib/generators/aureus/views/views_generator.rb +78 -0
- data/test/html.haml +64 -0
- data/test/model.rb +3 -0
- metadata +101 -4
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,14 +1,105 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                aureus (1.0.0)
         | 
| 5 | 
            +
                  formtastic
         | 
| 6 | 
            +
                  haml
         | 
| 7 | 
            +
                  jquery-rails
         | 
| 5 8 |  | 
| 6 9 | 
             
            GEM
         | 
| 7 10 | 
             
              remote: http://rubygems.org/
         | 
| 8 11 | 
             
              specs:
         | 
| 12 | 
            +
                actionmailer (3.2.6)
         | 
| 13 | 
            +
                  actionpack (= 3.2.6)
         | 
| 14 | 
            +
                  mail (~> 2.4.4)
         | 
| 15 | 
            +
                actionpack (3.2.6)
         | 
| 16 | 
            +
                  activemodel (= 3.2.6)
         | 
| 17 | 
            +
                  activesupport (= 3.2.6)
         | 
| 18 | 
            +
                  builder (~> 3.0.0)
         | 
| 19 | 
            +
                  erubis (~> 2.7.0)
         | 
| 20 | 
            +
                  journey (~> 1.0.1)
         | 
| 21 | 
            +
                  rack (~> 1.4.0)
         | 
| 22 | 
            +
                  rack-cache (~> 1.2)
         | 
| 23 | 
            +
                  rack-test (~> 0.6.1)
         | 
| 24 | 
            +
                  sprockets (~> 2.1.3)
         | 
| 25 | 
            +
                activemodel (3.2.6)
         | 
| 26 | 
            +
                  activesupport (= 3.2.6)
         | 
| 27 | 
            +
                  builder (~> 3.0.0)
         | 
| 28 | 
            +
                activerecord (3.2.6)
         | 
| 29 | 
            +
                  activemodel (= 3.2.6)
         | 
| 30 | 
            +
                  activesupport (= 3.2.6)
         | 
| 31 | 
            +
                  arel (~> 3.0.2)
         | 
| 32 | 
            +
                  tzinfo (~> 0.3.29)
         | 
| 33 | 
            +
                activeresource (3.2.6)
         | 
| 34 | 
            +
                  activemodel (= 3.2.6)
         | 
| 35 | 
            +
                  activesupport (= 3.2.6)
         | 
| 36 | 
            +
                activesupport (3.2.6)
         | 
| 37 | 
            +
                  i18n (~> 0.6)
         | 
| 38 | 
            +
                  multi_json (~> 1.0)
         | 
| 39 | 
            +
                arel (3.0.2)
         | 
| 40 | 
            +
                builder (3.0.0)
         | 
| 41 | 
            +
                erubis (2.7.0)
         | 
| 42 | 
            +
                formtastic (2.2.0)
         | 
| 43 | 
            +
                  actionpack (>= 3.0)
         | 
| 44 | 
            +
                haml (3.1.6)
         | 
| 45 | 
            +
                highline (1.6.13)
         | 
| 46 | 
            +
                hike (1.2.1)
         | 
| 47 | 
            +
                i18n (0.6.0)
         | 
| 48 | 
            +
                journey (1.0.4)
         | 
| 49 | 
            +
                jquery-rails (2.0.2)
         | 
| 50 | 
            +
                  railties (>= 3.2.0, < 5.0)
         | 
| 51 | 
            +
                  thor (~> 0.14)
         | 
| 52 | 
            +
                json (1.7.3)
         | 
| 53 | 
            +
                mail (2.4.4)
         | 
| 54 | 
            +
                  i18n (>= 0.4.0)
         | 
| 55 | 
            +
                  mime-types (~> 1.16)
         | 
| 56 | 
            +
                  treetop (~> 1.4.8)
         | 
| 57 | 
            +
                mime-types (1.19)
         | 
| 58 | 
            +
                multi_json (1.3.6)
         | 
| 59 | 
            +
                polyglot (0.3.3)
         | 
| 60 | 
            +
                rack (1.4.1)
         | 
| 61 | 
            +
                rack-cache (1.2)
         | 
| 62 | 
            +
                  rack (>= 0.4)
         | 
| 63 | 
            +
                rack-ssl (1.3.2)
         | 
| 64 | 
            +
                  rack
         | 
| 65 | 
            +
                rack-test (0.6.1)
         | 
| 66 | 
            +
                  rack (>= 1.0)
         | 
| 67 | 
            +
                rails (3.2.6)
         | 
| 68 | 
            +
                  actionmailer (= 3.2.6)
         | 
| 69 | 
            +
                  actionpack (= 3.2.6)
         | 
| 70 | 
            +
                  activerecord (= 3.2.6)
         | 
| 71 | 
            +
                  activeresource (= 3.2.6)
         | 
| 72 | 
            +
                  activesupport (= 3.2.6)
         | 
| 73 | 
            +
                  bundler (~> 1.0)
         | 
| 74 | 
            +
                  railties (= 3.2.6)
         | 
| 75 | 
            +
                railties (3.2.6)
         | 
| 76 | 
            +
                  actionpack (= 3.2.6)
         | 
| 77 | 
            +
                  activesupport (= 3.2.6)
         | 
| 78 | 
            +
                  rack-ssl (~> 1.3.2)
         | 
| 79 | 
            +
                  rake (>= 0.8.7)
         | 
| 80 | 
            +
                  rdoc (~> 3.4)
         | 
| 81 | 
            +
                  thor (>= 0.14.6, < 2.0)
         | 
| 82 | 
            +
                rake (0.9.2.2)
         | 
| 83 | 
            +
                rdoc (3.12)
         | 
| 84 | 
            +
                  json (~> 1.4)
         | 
| 85 | 
            +
                sprockets (2.1.3)
         | 
| 86 | 
            +
                  hike (~> 1.2)
         | 
| 87 | 
            +
                  rack (~> 1.0)
         | 
| 88 | 
            +
                  tilt (~> 1.1, != 1.3.0)
         | 
| 89 | 
            +
                sqlite3 (1.3.6)
         | 
| 90 | 
            +
                thor (0.15.4)
         | 
| 91 | 
            +
                tilt (1.3.3)
         | 
| 92 | 
            +
                treetop (1.4.10)
         | 
| 93 | 
            +
                  polyglot
         | 
| 94 | 
            +
                  polyglot (>= 0.3.1)
         | 
| 95 | 
            +
                tzinfo (0.3.33)
         | 
| 9 96 |  | 
| 10 97 | 
             
            PLATFORMS
         | 
| 11 98 | 
             
              ruby
         | 
| 12 99 |  | 
| 13 100 | 
             
            DEPENDENCIES
         | 
| 14 | 
            -
               | 
| 101 | 
            +
              activerecord
         | 
| 102 | 
            +
              aureus!
         | 
| 103 | 
            +
              highline
         | 
| 104 | 
            +
              rails
         | 
| 105 | 
            +
              sqlite3
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,12 +1,12 @@ | |
| 1 | 
            -
            require  | 
| 2 | 
            -
            require 'highline/import'
         | 
| 1 | 
            +
            require "rubygems"
         | 
| 3 2 |  | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 3 | 
            +
            gem "highline"
         | 
| 4 | 
            +
            gem "activerecord"
         | 
| 5 | 
            +
            gem "sqlite3"
         | 
| 7 6 |  | 
| 8 7 | 
             
            desc "build and publish"
         | 
| 9 8 | 
             
            task :build do
         | 
| 9 | 
            +
              require "highline/import"
         | 
| 10 10 | 
             
              puts "build gem..."
         | 
| 11 11 | 
             
              `gem build aureus.gemspec`
         | 
| 12 12 | 
             
              Dir["*.gem"].each do |file|
         | 
| @@ -17,4 +17,22 @@ task :build do | |
| 17 17 | 
             
              end
         | 
| 18 18 | 
             
              puts "remove gem..."
         | 
| 19 19 | 
             
              `rm *.gem`
         | 
| 20 | 
            -
            end
         | 
| 20 | 
            +
            end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            task :check do
         | 
| 23 | 
            +
              require "rails"
         | 
| 24 | 
            +
              require "active_support"
         | 
| 25 | 
            +
              require "action_view"
         | 
| 26 | 
            +
              require "active_record"
         | 
| 27 | 
            +
              require "aureus"
         | 
| 28 | 
            +
              require "haml"
         | 
| 29 | 
            +
              require "aureus/test/resource"
         | 
| 30 | 
            +
              include Aureus::Helper
         | 
| 31 | 
            +
              ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:"
         | 
| 32 | 
            +
              load "lib/aureus/test/schema.rb"
         | 
| 33 | 
            +
              @resource = Resource.new
         | 
| 34 | 
            +
              @resource.title = "the title"
         | 
| 35 | 
            +
              @resource.text = "Some longer text"
         | 
| 36 | 
            +
              @resources = [@resource,@resource]
         | 
| 37 | 
            +
              puts Haml::Engine.new(File.read("test/html.haml")).render(self)
         | 
| 38 | 
            +
            end
         | 
    
        data/Readme.md
    CHANGED
    
    | @@ -1,3 +1,30 @@ | |
| 1 1 | 
             
            # Aureus Admin Template
         | 
| 2 2 |  | 
| 3 | 
            -
            **a nice looking css framework for your rails admin interfaces**
         | 
| 3 | 
            +
            **a nice looking css framework for your rails admin interfaces**
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ## Installation
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            To use **aureus** simply require the gem:
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ````ruby	
         | 
| 10 | 
            +
            gem "aureus"
         | 
| 11 | 
            +
            ````
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            The rails engine will automatically load the following dependencies:
         | 
| 14 | 
            +
            	
         | 
| 15 | 
            +
            * formtastic
         | 
| 16 | 
            +
            * haml
         | 
| 17 | 
            +
            * jquery-rails
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            But you have to ensure that these gems are available:
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            * sass-rails
         | 
| 22 | 
            +
            * coffee-rails
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            ## Helper Methods
         | 
| 25 | 
            +
             | 
| 26 | 
            +
             | 
| 27 | 
            +
             | 
| 28 | 
            +
            ## The Layout
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            Here is a simple layout done with aureus helpers:
         | 
    
        data/TODO.md
    ADDED
    
    
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            $font-family: "Helvetica Neue",  | 
| 1 | 
            +
            $font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
         | 
| 2 2 |  | 
| 3 3 | 
             
            * {
         | 
| 4 4 | 
             
              font-family: $font-family;
         | 
| @@ -19,15 +19,20 @@ strong { | |
| 19 19 | 
             
              font-weight: bold;
         | 
| 20 20 | 
             
            }
         | 
| 21 21 |  | 
| 22 | 
            +
            .translation_missing {
         | 
| 23 | 
            +
              color: red !important;
         | 
| 24 | 
            +
              text-decoration: line-through !important;
         | 
| 25 | 
            +
            }
         | 
| 26 | 
            +
             | 
| 22 27 | 
             
            #messages {
         | 
| 23 | 
            -
              .error, .notice {
         | 
| 28 | 
            +
              .error, .notice, .alert {
         | 
| 24 29 | 
             
                padding: 10px 30px;
         | 
| 25 30 | 
             
                color: white;
         | 
| 26 31 | 
             
                font-size: 14px;
         | 
| 27 32 | 
             
                text-shadow: -1px -1px 0 black;
         | 
| 28 33 | 
             
              }
         | 
| 29 | 
            -
              .error {
         | 
| 30 | 
            -
                @include gradient($ | 
| 34 | 
            +
              .error, .alert {
         | 
| 35 | 
            +
                @include gradient($color_warn,$color_warn_dark);
         | 
| 31 36 | 
             
              }
         | 
| 32 37 | 
             
              .notice {
         | 
| 33 38 | 
             
                @include gradient(#666,#444);
         | 
| @@ -85,30 +85,6 @@ | |
| 85 85 | 
             
                  }
         | 
| 86 86 | 
             
                }
         | 
| 87 87 | 
             
              }
         | 
| 88 | 
            -
              .w1 {
         | 
| 89 | 
            -
                margin-right: 1%;
         | 
| 90 | 
            -
                width: 24%;
         | 
| 91 | 
            -
              }
         | 
| 92 | 
            -
              .w2 {
         | 
| 93 | 
            -
                margin-right: 1%;
         | 
| 94 | 
            -
                width: 49%;
         | 
| 95 | 
            -
              }
         | 
| 96 | 
            -
              .w3 {
         | 
| 97 | 
            -
                margin-right: 1%;
         | 
| 98 | 
            -
                width: 74%;
         | 
| 99 | 
            -
              }
         | 
| 100 | 
            -
              .w4 {
         | 
| 101 | 
            -
                width: 100%;
         | 
| 102 | 
            -
              }
         | 
| 103 | 
            -
              .w1-last {
         | 
| 104 | 
            -
                width: 25%;
         | 
| 105 | 
            -
              }
         | 
| 106 | 
            -
              .w2-last {
         | 
| 107 | 
            -
                width: 50%;
         | 
| 108 | 
            -
              }
         | 
| 109 | 
            -
              .w3-last {
         | 
| 110 | 
            -
                width: 75%;
         | 
| 111 | 
            -
              }
         | 
| 112 88 | 
             
              .centered {
         | 
| 113 89 | 
             
                margin: 0 auto;
         | 
| 114 90 | 
             
                margin-top: 15%;
         | 
| @@ -3,7 +3,7 @@ form { | |
| 3 3 | 
             
                list-style: none;
         | 
| 4 4 | 
             
                margin: 7px 0px;
         | 
| 5 5 | 
             
                .inline-errors {
         | 
| 6 | 
            -
                  color: $ | 
| 6 | 
            +
                  color: $color_warn;
         | 
| 7 7 | 
             
                }
         | 
| 8 8 | 
             
              }
         | 
| 9 9 | 
             
              p {
         | 
| @@ -55,19 +55,4 @@ form { | |
| 55 55 | 
             
              input[type=checkbox], input[type=radio] {
         | 
| 56 56 | 
             
                margin-right: 7px;
         | 
| 57 57 | 
             
              }
         | 
| 58 | 
            -
              /*#error_explanation {
         | 
| 59 | 
            -
                border: 1px solid $color_main;
         | 
| 60 | 
            -
                @include border-radius(3px);
         | 
| 61 | 
            -
                padding: 5px;
         | 
| 62 | 
            -
                margin-bottom: 10px;
         | 
| 63 | 
            -
                h2 {
         | 
| 64 | 
            -
                  display: none;
         | 
| 65 | 
            -
                }
         | 
| 66 | 
            -
                ul {
         | 
| 67 | 
            -
                  li {
         | 
| 68 | 
            -
                    color: $color_main;
         | 
| 69 | 
            -
                    font-size: 14px;
         | 
| 70 | 
            -
                  }
         | 
| 71 | 
            -
                }
         | 
| 72 | 
            -
              }*/
         | 
| 73 58 | 
             
            }
         | 
| @@ -1,21 +1,20 @@ | |
| 1 1 | 
             
            #navigation {
         | 
| 2 2 | 
             
              border-bottom: 1px solid #bbb;
         | 
| 3 | 
            -
              padding:  | 
| 3 | 
            +
              padding: 20px 40px;
         | 
| 4 4 | 
             
              overflow: hidden;
         | 
| 5 5 | 
             
              @include gradient(#eee,#ddd);
         | 
| 6 6 | 
             
              h2 {
         | 
| 7 | 
            +
                float: left;
         | 
| 7 8 | 
             
                span {
         | 
| 8 | 
            -
                  padding: 10px 0;
         | 
| 9 9 | 
             
                  color: #222;
         | 
| 10 10 | 
             
                  font-size: 36px;
         | 
| 11 11 | 
             
                  font-weight: bold;
         | 
| 12 12 | 
             
                  text-shadow: 1px 1px 0 white;
         | 
| 13 | 
            -
                  display: block;
         | 
| 14 13 | 
             
                  overflow: hidden;
         | 
| 15 14 | 
             
                }
         | 
| 16 15 | 
             
              }
         | 
| 17 16 | 
             
              ul {
         | 
| 18 | 
            -
                margin-top:  | 
| 17 | 
            +
                margin-top: 10px;
         | 
| 19 18 | 
             
                float: right;
         | 
| 20 19 | 
             
                li {
         | 
| 21 20 | 
             
                  display: inline;
         | 
| @@ -36,7 +35,7 @@ | |
| 36 35 | 
             
                  }
         | 
| 37 36 | 
             
                }
         | 
| 38 37 | 
             
                li:hover {
         | 
| 39 | 
            -
                  a {
         | 
| 38 | 
            +
                  a, span {
         | 
| 40 39 | 
             
                    color: $color_main;
         | 
| 41 40 | 
             
                  }
         | 
| 42 41 | 
             
                }
         | 
| @@ -31,18 +31,6 @@ | |
| 31 31 | 
             
                  th.center {
         | 
| 32 32 | 
             
                    text-align: center;
         | 
| 33 33 | 
             
                  }
         | 
| 34 | 
            -
                  th.b1 {
         | 
| 35 | 
            -
                    width: 1px;
         | 
| 36 | 
            -
                  }
         | 
| 37 | 
            -
                  th.b2 {
         | 
| 38 | 
            -
                    width: 80px;
         | 
| 39 | 
            -
                  }
         | 
| 40 | 
            -
                  th.b3 {
         | 
| 41 | 
            -
                    width: 120px;
         | 
| 42 | 
            -
                  }
         | 
| 43 | 
            -
                  th.b4 {
         | 
| 44 | 
            -
                    width: 160px;
         | 
| 45 | 
            -
                  }
         | 
| 46 34 | 
             
                }
         | 
| 47 35 | 
             
              }
         | 
| 48 36 | 
             
              tbody {
         | 
| @@ -79,6 +67,8 @@ | |
| 79 67 | 
             
                  color: #444;
         | 
| 80 68 | 
             
                 }
         | 
| 81 69 | 
             
                td.buttons {
         | 
| 70 | 
            +
                  width: 1px;
         | 
| 71 | 
            +
                  white-space: nowrap;
         | 
| 82 72 | 
             
                  text-align: right;
         | 
| 83 73 | 
             
                  padding: 7px !important;
         | 
| 84 74 | 
             
                  vertical-align: middle;
         | 
| @@ -98,7 +88,7 @@ | |
| 98 88 | 
             
                      text-shadow: 1px 1px 0 #eee;
         | 
| 99 89 | 
             
                    }
         | 
| 100 90 | 
             
                  }
         | 
| 101 | 
            -
                  a.edit, a. | 
| 91 | 
            +
                  a.edit, a.destroy, a.show, a.recover, a.print {
         | 
| 102 92 | 
             
                    width: 16px;
         | 
| 103 93 | 
             
                    height: 16px;
         | 
| 104 94 | 
             
                    display: inline-block;
         | 
| @@ -117,7 +107,7 @@ | |
| 117 107 | 
             
                  a.edit span {
         | 
| 118 108 | 
             
                    background: url($asset_icon_pencil);
         | 
| 119 109 | 
             
                  }
         | 
| 120 | 
            -
                  a. | 
| 110 | 
            +
                  a.destroy span {
         | 
| 121 111 | 
             
                    background: url($asset_icon_cross);
         | 
| 122 112 | 
             
                  }
         | 
| 123 113 | 
             
                  a.show span {
         | 
    
        data/aureus.gemspec
    CHANGED
    
    | @@ -19,5 +19,10 @@ Gem::Specification.new do |s| | |
| 19 19 | 
             
              # Files
         | 
| 20 20 | 
             
              s.files         = `git ls-files`.split("\n")
         | 
| 21 21 | 
             
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 22 | 
            -
             | 
| 22 | 
            +
             | 
| 23 | 
            +
              # Dependencies
         | 
| 24 | 
            +
              s.add_dependency "formtastic"
         | 
| 25 | 
            +
              s.add_dependency "jquery-rails"
         | 
| 26 | 
            +
              s.add_dependency "haml"
         | 
| 27 | 
            +
             | 
| 23 28 | 
             
            end
         | 
| @@ -0,0 +1,82 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Set the default text field size when input is a string. Default is nil.
         | 
| 4 | 
            +
            # Formtastic::FormBuilder.default_text_field_size = 50
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            # Set the default text area height when input is a text. Default is 20.
         | 
| 7 | 
            +
            # Formtastic::FormBuilder.default_text_area_height = 5
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            # Set the default text area width when input is a text. Default is nil.
         | 
| 10 | 
            +
            # Formtastic::FormBuilder.default_text_area_width = 50
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            # Should all fields be considered "required" by default?
         | 
| 13 | 
            +
            # Defaults to true.
         | 
| 14 | 
            +
            # Formtastic::FormBuilder.all_fields_required_by_default = true
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            # Should select fields have a blank option/prompt by default?
         | 
| 17 | 
            +
            # Defaults to true.
         | 
| 18 | 
            +
            # Formtastic::FormBuilder.include_blank_for_select_by_default = true
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            # Set the string that will be appended to the labels/fieldsets which are required
         | 
| 21 | 
            +
            # It accepts string or procs and the default is a localized version of
         | 
| 22 | 
            +
            # '<abbr title="required">*</abbr>'. In other words, if you configure formtastic.required
         | 
| 23 | 
            +
            # in your locale, it will replace the abbr title properly. But if you don't want to use
         | 
| 24 | 
            +
            # abbr tag, you can simply give a string as below
         | 
| 25 | 
            +
            # Formtastic::FormBuilder.required_string = "(required)"
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            # Set the string that will be appended to the labels/fieldsets which are optional
         | 
| 28 | 
            +
            # Defaults to an empty string ("") and also accepts procs (see required_string above)
         | 
| 29 | 
            +
            # Formtastic::FormBuilder.optional_string = "(optional)"
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            # Set the way inline errors will be displayed.
         | 
| 32 | 
            +
            # Defaults to :sentence, valid options are :sentence, :list, :first and :none
         | 
| 33 | 
            +
            # Formtastic::FormBuilder.inline_errors = :sentence
         | 
| 34 | 
            +
            # Formtastic uses the following classes as default for hints, inline_errors and error list
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            # If you override the class here, please ensure to override it in your stylesheets as well
         | 
| 37 | 
            +
            # Formtastic::FormBuilder.default_hint_class = "inline-hints"
         | 
| 38 | 
            +
            # Formtastic::FormBuilder.default_inline_error_class = "inline-errors"
         | 
| 39 | 
            +
            # Formtastic::FormBuilder.default_error_list_class = "errors"
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            # Set the method to call on label text to transform or format it for human-friendly
         | 
| 42 | 
            +
            # reading when formtastic is used without object. Defaults to :humanize.
         | 
| 43 | 
            +
            # Formtastic::FormBuilder.label_str_method = :humanize
         | 
| 44 | 
            +
             | 
| 45 | 
            +
            # Set the array of methods to try calling on parent objects in :select and :radio inputs
         | 
| 46 | 
            +
            # for the text inside each @<option>@ tag or alongside each radio @<input>@. The first method
         | 
| 47 | 
            +
            # that is found on the object will be used.
         | 
| 48 | 
            +
            # Defaults to ["to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
         | 
| 49 | 
            +
            # Formtastic::FormBuilder.collection_label_methods = [
         | 
| 50 | 
            +
            #   "to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            # Additionally, you can customize the order for specific types of inputs.
         | 
| 53 | 
            +
            # This is configured on a type basis and if a type is not found it will
         | 
| 54 | 
            +
            # fall back to the default order as defined by #inline_order
         | 
| 55 | 
            +
            # Formtastic::FormBuilder.custom_inline_order[:checkbox] = [:errors, :hints, :input]
         | 
| 56 | 
            +
            # Formtastic::FormBuilder.custom_inline_order[:select] = [:hints, :input, :errors]
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            # Specifies if labels/hints for input fields automatically be looked up using I18n.
         | 
| 59 | 
            +
            # Default value: true. Overridden for specific fields by setting value to true,
         | 
| 60 | 
            +
            # i.e. :label => true, or :hint => true (or opposite depending on initialized value)
         | 
| 61 | 
            +
            # Formtastic::FormBuilder.i18n_lookups_by_default = false
         | 
| 62 | 
            +
             | 
| 63 | 
            +
            # Specifies if I18n lookups of the default I18n Localizer should be cached to improve performance.
         | 
| 64 | 
            +
            # Defaults to false.
         | 
| 65 | 
            +
            # Formtastic::FormBuilder.i18n_cache_lookups = true
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            # Specifies the class to use for localization lookups. You can create your own
         | 
| 68 | 
            +
            # class and use it instead by subclassing Formtastic::Localizer (which is the default).
         | 
| 69 | 
            +
            # Formtastic::FormBuilder.i18n_localizer = MyOwnLocalizer
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            # You can add custom inputs or override parts of Formtastic by subclassing Formtastic::FormBuilder and
         | 
| 72 | 
            +
            # specifying that class here.  Defaults to Formtastic::FormBuilder.
         | 
| 73 | 
            +
            # Formtastic::Helpers::FormHelper.builder = MyCustomBuilder
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            # You can opt-in to Formtastic's use of the HTML5 `required` attribute on `<input>`, `<select>` 
         | 
| 76 | 
            +
            # and `<textarea>` tags by setting this to false (defaults to true).
         | 
| 77 | 
            +
            #Formtastic::FormBuilder.use_required_attribute = true
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            # You can opt-in to new HTML5 browser validations (for things like email and url inputs) by setting
         | 
| 80 | 
            +
            # this to false. Doing so will add a `novalidate` attribute to the `<form>` tag.
         | 
| 81 | 
            +
            # See http://diveintohtml5.org/forms.html#validation for more info.
         | 
| 82 | 
            +
            #Formtastic::FormBuilder.perform_browser_validations = true
         | 
    
        data/lib/aureus/box.rb
    ADDED
    
    | @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            module Aureus
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            	class Box < Renderable
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            		def initialize title, options, &block
         | 
| 6 | 
            +
            			init options, :for => :text, :centered => false
         | 
| 7 | 
            +
            			init_haml_helpers
         | 
| 8 | 
            +
            			@title = title
         | 
| 9 | 
            +
            			@content = capture_haml self, &block
         | 
| 10 | 
            +
            		end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            		def content &block
         | 
| 13 | 
            +
            			@new_content = capture_haml &block
         | 
| 14 | 
            +
            		end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            		def foot &block
         | 
| 17 | 
            +
            			@foot = capture_haml &block
         | 
| 18 | 
            +
            		end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            		def render
         | 
| 21 | 
            +
            			title = content_tag("h3",@title)
         | 
| 22 | 
            +
            			classes = ["box"]
         | 
| 23 | 
            +
            			classes << "centered" if @options[:centered]
         | 
| 24 | 
            +
            			@content = @new_content if not @new_content.nil?
         | 
| 25 | 
            +
            			content_tag "div", :class => classes.join(" ") do
         | 
| 26 | 
            +
            				case @options[:for]
         | 
| 27 | 
            +
            					when :form
         | 
| 28 | 
            +
            						@content = content_tag("ul",@content,:class => "content")
         | 
| 29 | 
            +
            				end
         | 
| 30 | 
            +
            				footer = @foot.nil? ? "" : content_tag("div",@foot,:class => "foot")
         | 
| 31 | 
            +
            				compact title, content_tag("div",@content), footer
         | 
| 32 | 
            +
            			end
         | 
| 33 | 
            +
            		end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            	end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            end
         | 
| @@ -0,0 +1,139 @@ | |
| 1 | 
            +
            module Aureus
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            	class DataTable < Renderable
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            		def initialize resource, toolbar = true
         | 
| 6 | 
            +
            			@resource = resource
         | 
| 7 | 
            +
            			@toolbar = toolbar
         | 
| 8 | 
            +
            			@head = DataTableHead.new
         | 
| 9 | 
            +
            			@rows = Array.new
         | 
| 10 | 
            +
            		end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            		def head
         | 
| 13 | 
            +
            			yield @head
         | 
| 14 | 
            +
            		end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            		def row
         | 
| 17 | 
            +
            			@resource.each do |r|
         | 
| 18 | 
            +
            				row = DataTableRow.new
         | 
| 19 | 
            +
            				yield row, r
         | 
| 20 | 
            +
            				@rows << row
         | 
| 21 | 
            +
            			end
         | 
| 22 | 
            +
            		end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            		def render
         | 
| 25 | 
            +
            			content_tag "table", :id => @resource.class.name.downcase, :class => (@toolbar?"datatable":"datatable-no-toolbar") do
         | 
| 26 | 
            +
            				compact @head.render, content_tag("tbody",compact_render(*@rows))
         | 
| 27 | 
            +
            			end
         | 
| 28 | 
            +
            		end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            	end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            	class DataTableHead < Renderable
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            		def initialize
         | 
| 35 | 
            +
            			@columns = Array.new
         | 
| 36 | 
            +
            		end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            		def text name
         | 
| 39 | 
            +
            			@columns << DataTableHeadColumn.new(name,"text-sorting")
         | 
| 40 | 
            +
            		end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            		def date name
         | 
| 43 | 
            +
            			@columns << DataTableHeadColumn.new(name,"date-sorting")
         | 
| 44 | 
            +
            		end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            		def raw name
         | 
| 47 | 
            +
            			@columns << DataTableHeadColumn.new(name,"no-sorting")
         | 
| 48 | 
            +
            		end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            		def render
         | 
| 51 | 
            +
            			raw ""
         | 
| 52 | 
            +
            			content_tag "thead" do
         | 
| 53 | 
            +
            				content_tag "tr", compact_render(*@columns)
         | 
| 54 | 
            +
            			end
         | 
| 55 | 
            +
            		end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            	end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            	class DataTableHeadColumn < Renderable
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            		def initialize name, sorting
         | 
| 62 | 
            +
            			@name = name
         | 
| 63 | 
            +
            			@sorting = sorting
         | 
| 64 | 
            +
            		end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
            		def render
         | 
| 67 | 
            +
            			content_tag "th", @name, :class => @sorting
         | 
| 68 | 
            +
            		end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            	end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            	class DataTableRow < Renderable
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            		def initialize
         | 
| 75 | 
            +
            			@cells = Array.new
         | 
| 76 | 
            +
            			@buttons = Array.new
         | 
| 77 | 
            +
            		end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            		def cell data
         | 
| 80 | 
            +
            			@cells << DataTableRowCell.new(data)
         | 
| 81 | 
            +
            		end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
            		def button type_or_title, url, *args
         | 
| 84 | 
            +
            			if type_or_title.is_a? Symbol
         | 
| 85 | 
            +
            				@buttons << DataTableRowButton.new(type_or_title,type_or_title.to_s,url,args)
         | 
| 86 | 
            +
            			else
         | 
| 87 | 
            +
            				@buttons << DataTableRowButton.new(:text,type_or_title.to_s,url,args)
         | 
| 88 | 
            +
            			end
         | 
| 89 | 
            +
            		end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
            		def render
         | 
| 92 | 
            +
            			content_tag "tr", compact_render(*@cells)+content_tag("td",compact_render(*@buttons),:class => "buttons")
         | 
| 93 | 
            +
            		end
         | 
| 94 | 
            +
             | 
| 95 | 
            +
            	end
         | 
| 96 | 
            +
             | 
| 97 | 
            +
            	class DataTableRowCell < Renderable
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            		def initialize data
         | 
| 100 | 
            +
            			@data = data
         | 
| 101 | 
            +
            		end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
            		def render
         | 
| 104 | 
            +
            			content_tag "td", @data
         | 
| 105 | 
            +
            		end
         | 
| 106 | 
            +
             | 
| 107 | 
            +
            	end
         | 
| 108 | 
            +
             | 
| 109 | 
            +
            	class DataTableRowButton < Renderable
         | 
| 110 | 
            +
             | 
| 111 | 
            +
            		def initialize type, text, url, options
         | 
| 112 | 
            +
            			init options, :remote => true, :confirm => "Delete resource?"
         | 
| 113 | 
            +
            			@type = type
         | 
| 114 | 
            +
            			@text = text
         | 
| 115 | 
            +
            			@url = url
         | 
| 116 | 
            +
            		end
         | 
| 117 | 
            +
             | 
| 118 | 
            +
            		def render
         | 
| 119 | 
            +
            			case @type
         | 
| 120 | 
            +
            			when :text
         | 
| 121 | 
            +
            				link_to @text, @url
         | 
| 122 | 
            +
            			when :print
         | 
| 123 | 
            +
            				link_to @text, @url, :class => :print
         | 
| 124 | 
            +
            			when :show
         | 
| 125 | 
            +
            				link_to @text, @url, :class => :show
         | 
| 126 | 
            +
            			when :edit	
         | 
| 127 | 
            +
            				link_to @text, @url, :class => :edit
         | 
| 128 | 
            +
            			when :destroy
         | 
| 129 | 
            +
            				if @options[:remote]
         | 
| 130 | 
            +
            					link_to @text, @url, :class => :destroy, :method => :delete, :data => { :confirm => @options[:confirm] }
         | 
| 131 | 
            +
            				else
         | 
| 132 | 
            +
            					link_to @text, @url, :class => :destroy
         | 
| 133 | 
            +
            				end
         | 
| 134 | 
            +
            			end
         | 
| 135 | 
            +
            		end
         | 
| 136 | 
            +
             | 
| 137 | 
            +
            	end
         | 
| 138 | 
            +
             | 
| 139 | 
            +
            end
         |