rugular 0.6.6 → 0.6.7
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/README.md +5 -5
- data/lib/rugular/tasks/build.rb +2 -17
- data/lib/rugular/tasks/helpers/javascript_files.rb +18 -0
- data/lib/rugular/tasks/server/Guardfile +2 -2
- data/lib/rugular/tasks/server/guards/rugular.rb +28 -26
- data/lib/rugular/tasks/server/guards/rugular_bower_components.rb +46 -0
- data/lib/rugular/tasks/server/guards/rugular_index_html.rb +2 -16
- data/lib/rugular/templates/new/bower_components.yaml +5 -0
- data/lib/rugular/version.rb +1 -1
- metadata +5 -4
- data/lib/rugular/tasks/server/guards/rugular_vendor_and_bower_components.rb +0 -63
- data/lib/rugular/templates/new/vendor_and_bower_components.yaml +0 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6b72e78b18b21cfe1e4ac2a4b05b03540b270f27
         | 
| 4 | 
            +
              data.tar.gz: b4fed9cde117145d9abafbc1ed8146938e256224
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 01215319deab4e9e794dd35dc47f00dcbb35db0451b87371fc4ea01ee5d17ce88a47e3275233d0614a9c1e04b77693eae93b6f0f59059d3fb82adb34e38cc27f
         | 
| 7 | 
            +
              data.tar.gz: aff35dd9b8db79d498b142b662068a4c2c7bca3eabdcf880f0283e789493af58df3706dbb2ce516f40749527158c88c640c3a6c990b6cfced6e37420e00709a6
         | 
    
        data/README.md
    CHANGED
    
    | @@ -60,7 +60,7 @@ A new Rugular project contains the following folders and files: | |
| 60 60 | 
             
            │   ├──  components/
         | 
| 61 61 | 
             
            │   ├──  favico.ico
         | 
| 62 62 | 
             
            ├──  vendor/
         | 
| 63 | 
            -
            ├──   | 
| 63 | 
            +
            ├──  bower_components.yaml
         | 
| 64 64 | 
             
            </pre>
         | 
| 65 65 |  | 
| 66 66 | 
             
            | Folder/File Name | Description |
         | 
| @@ -78,13 +78,13 @@ A new Rugular project contains the following folders and files: | |
| 78 78 | 
             
            | src/components | A folder for isolate-scope directives to be used in your application code. This folder is also described in [How to Write Rugular apps](#how-to-write-rugular-apps). |
         | 
| 79 79 | 
             
            | src/assets | A folder to place assets, including but not limited to, ``.png``, ``.woff``, ``.svg``, ``.pdf``. All files placed in the assets folder can be linked by their relative filename, e.g.  ``src/assets/logo.png`` can be linked as ``<img src='assets/logo.png'></img>``
         | 
| 80 80 | 
             
            | vendor | 3rd-party javascript, coffeescript, css, and sass files that do not come with bower management. All of these files are included before any code in src. |
         | 
| 81 | 
            -
            |  | 
| 81 | 
            +
            | bower_components.yaml | A file to declare what third party files in the bower_components and vendor folder you would like to include. |
         | 
| 82 82 |  | 
| 83 83 | 
             
            ## How to Write Rugular Apps
         | 
| 84 84 |  | 
| 85 85 | 
             
            Application specific code lies in the ``src`` folder. Other files, such as
         | 
| 86 86 | 
             
            bower_components or other 3rd party vendor files are declared in the
         | 
| 87 | 
            -
            `` | 
| 87 | 
            +
            ``bower_components.yaml`` file.
         | 
| 88 88 |  | 
| 89 89 | 
             
            Code in the src folder are written in Coffeescript, Haml and Sass and designed
         | 
| 90 90 | 
             
            to follow [Google's Best Practices for an Angular App
         | 
| @@ -102,10 +102,10 @@ folder (e.g. ``src/app/dashboard/dashboard.module.coffee``) are to be included | |
| 102 102 | 
             
            in the ``app.module.coffee`` declaration.
         | 
| 103 103 |  | 
| 104 104 | 
             
            The ``src/app/app.routes.coffee`` file declares a base route, ``root`` for the
         | 
| 105 | 
            -
            application from which all other routes are derived from; all other routes | 
| 105 | 
            +
            application from which all other routes are derived from; all other routes
         | 
| 106 106 | 
             
            should be prepended with ``'root.'``.
         | 
| 107 107 |  | 
| 108 | 
            -
            The``src/app/app.haml`` file serves as an application layout for the rest of | 
| 108 | 
            +
            The``src/app/app.haml`` file serves as an application layout for the rest of
         | 
| 109 109 | 
             
            your application. If you have directives such as a ``navbar`` or ``footer``
         | 
| 110 110 | 
             
            directive, it is advised to add these directives to this ``haml`` file.
         | 
| 111 111 |  | 
    
        data/lib/rugular/tasks/build.rb
    CHANGED
    
    | @@ -40,7 +40,7 @@ module Rugular | |
| 40 40 | 
             
                  File.open('dist/application.js', 'w') do |file|
         | 
| 41 41 | 
             
                    file.write(
         | 
| 42 42 | 
             
                      Uglifier.compile(
         | 
| 43 | 
            -
                         | 
| 43 | 
            +
                        Rugular::JavascriptFiles.map do |file|
         | 
| 44 44 | 
             
                          text = File.read(file).gsub('templateUrl', 'template')
         | 
| 45 45 | 
             
                          CoffeeScript.compile(text)
         | 
| 46 46 | 
             
                        end.join
         | 
| @@ -105,21 +105,6 @@ module Rugular | |
| 105 105 | 
             
                  end.join
         | 
| 106 106 | 
             
                end
         | 
| 107 107 |  | 
| 108 | 
            -
                def javascript_files
         | 
| 109 | 
            -
                  Dir.glob("src/components/**/*.module.coffee") +
         | 
| 110 | 
            -
                    Dir.glob("src/components/**/*.factory.coffee") +
         | 
| 111 | 
            -
                    Dir.glob("src/components/**/*.filter.coffee") +
         | 
| 112 | 
            -
                    Dir.glob("src/components/**/*.controller.coffee") +
         | 
| 113 | 
            -
                    Dir.glob("src/components/**/*.directive.coffee") +
         | 
| 114 | 
            -
                    Dir.glob("src/components/**/*.routes.coffee") +
         | 
| 115 | 
            -
                    Dir.glob("src/app/**/*.module.coffee") +
         | 
| 116 | 
            -
                    Dir.glob("src/app/**/*.factory.coffee") +
         | 
| 117 | 
            -
                    Dir.glob("src/app/**/*.filter.coffee") +
         | 
| 118 | 
            -
                    Dir.glob("src/app/**/*.controller.coffee") +
         | 
| 119 | 
            -
                    Dir.glob("src/app/**/*.directive.coffee") +
         | 
| 120 | 
            -
                    Dir.glob("src/app/**/*.routes.coffee")
         | 
| 121 | 
            -
                end
         | 
| 122 | 
            -
             | 
| 123 108 | 
             
                def bower_css
         | 
| 124 109 | 
             
                  bower_yaml.fetch('bower_components').fetch('css').map do |filename|
         | 
| 125 110 | 
             
                    File.read('bower_components/' + filename)
         | 
| @@ -128,7 +113,7 @@ module Rugular | |
| 128 113 |  | 
| 129 114 |  | 
| 130 115 | 
             
                def bower_yaml
         | 
| 131 | 
            -
                  YAML.load(File.read('src/ | 
| 116 | 
            +
                  YAML.load(File.read('src/bower_components.yaml'))
         | 
| 132 117 | 
             
                end
         | 
| 133 118 |  | 
| 134 119 | 
             
                def lib_directory
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            module Rugular
         | 
| 2 | 
            +
              class JavascriptFiles
         | 
| 3 | 
            +
                def self.ordered_array
         | 
| 4 | 
            +
                  Dir.glob("src/components/**/*.module.coffee") +
         | 
| 5 | 
            +
                    Dir.glob("src/components/**/*.factory.coffee") +
         | 
| 6 | 
            +
                    Dir.glob("src/components/**/*.filter.coffee") +
         | 
| 7 | 
            +
                    Dir.glob("src/components/**/*.controller.coffee") +
         | 
| 8 | 
            +
                    Dir.glob("src/components/**/*.directive.coffee") +
         | 
| 9 | 
            +
                    Dir.glob("src/components/**/*.routes.coffee") +
         | 
| 10 | 
            +
                    Dir.glob("src/app/**/*.module.coffee") +
         | 
| 11 | 
            +
                    Dir.glob("src/app/**/*.factory.coffee") +
         | 
| 12 | 
            +
                    Dir.glob("src/app/**/*.filter.coffee") +
         | 
| 13 | 
            +
                    Dir.glob("src/app/**/*.controller.coffee") +
         | 
| 14 | 
            +
                    Dir.glob("src/app/**/*.directive.coffee") +
         | 
| 15 | 
            +
                    Dir.glob("src/app/**/*.routes.coffee")
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            require 'guard'
         | 
| 2 2 | 
             
            require_relative 'rugular_haml'
         | 
| 3 3 | 
             
            require_relative 'rugular_coffee'
         | 
| 4 | 
            -
            require_relative ' | 
| 4 | 
            +
            require_relative 'rugular_bower_components'
         | 
| 5 5 | 
             
            require_relative 'rugular_index_html'
         | 
| 6 6 | 
             
            require_relative 'rugular_assets'
         | 
| 7 7 |  | 
| @@ -13,6 +13,10 @@ module Guard | |
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                def start
         | 
| 16 | 
            +
                  create_tmp_directory
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  run_on_changes('src/index.haml')
         | 
| 19 | 
            +
             | 
| 16 20 | 
             
                  run_all
         | 
| 17 21 | 
             
                end
         | 
| 18 22 |  | 
| @@ -20,23 +24,22 @@ module Guard | |
| 20 24 | 
             
                def reload; true end
         | 
| 21 25 |  | 
| 22 26 | 
             
                def run_all
         | 
| 23 | 
            -
                  run_on_changes(
         | 
| 24 | 
            -
                    Dir.glob('src/**/*').unshift('vendor_and_bower_components.yaml')
         | 
| 25 | 
            -
                  )
         | 
| 27 | 
            +
                  run_on_changes(Dir.glob('src/**/*').push('bower_components.yaml'))
         | 
| 26 28 | 
             
                end
         | 
| 27 29 |  | 
| 28 30 | 
             
                def run_on_changes(paths)
         | 
| 29 31 | 
             
                  [*paths].each do |file|
         | 
| 30 | 
            -
                    message = | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 32 | 
            +
                    message =
         | 
| 33 | 
            +
                      case File.extname(file)
         | 
| 34 | 
            +
                      when '.coffee' then ::RugularCoffee.compile(file)
         | 
| 35 | 
            +
                      when '.haml'   then ::RugularHaml.compile(file)
         | 
| 36 | 
            +
                      when '.yaml'   then ::RugularBowerComponents.compile
         | 
| 37 | 
            +
                      when '.png'    then ::RugularAssets.copy_asset(file)
         | 
| 38 | 
            +
                      when '.jpg'    then ::RugularAssets.copy_asset(file)
         | 
| 39 | 
            +
                      when '.ttf'    then ::RugularAssets.copy_asset(file)
         | 
| 40 | 
            +
                      when '.woff'   then ::RugularAssets.copy_asset(file)
         | 
| 41 | 
            +
                      else "Rugular does not know how to handle #{file}"
         | 
| 42 | 
            +
                      end
         | 
| 40 43 |  | 
| 41 44 | 
             
                    ::RugularIndexHtml.update_javascript_script_tags
         | 
| 42 45 |  | 
| @@ -50,17 +53,13 @@ module Guard | |
| 50 53 | 
             
                  [*paths].each do |file|
         | 
| 51 54 | 
             
                    ::Guard::UI.info "Guard received delete event for #{file}"
         | 
| 52 55 |  | 
| 53 | 
            -
                    message = | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
                              when '.yaml'
         | 
| 61 | 
            -
                                then fail 'what are you doing? trying to break rugular?!'
         | 
| 62 | 
            -
                              else next 'Rugular does not know how to handle this file'
         | 
| 63 | 
            -
                              end
         | 
| 56 | 
            +
                    message =
         | 
| 57 | 
            +
                      case File.extname(file)
         | 
| 58 | 
            +
                      when '.coffee' then ::RugularCoffee.delete(file)
         | 
| 59 | 
            +
                      when '.haml'   then ::RugularHaml.delete(file)
         | 
| 60 | 
            +
                      when '.yaml'   then fail 'Please do not delete yaml files'
         | 
| 61 | 
            +
                      else ::RugularAssets.delete_asset(file)
         | 
| 62 | 
            +
                      end
         | 
| 64 63 |  | 
| 65 64 | 
             
                    ::RugularIndexHtml.update_javascript_script_tags
         | 
| 66 65 |  | 
| @@ -72,10 +71,13 @@ module Guard | |
| 72 71 |  | 
| 73 72 | 
             
                private
         | 
| 74 73 |  | 
| 74 | 
            +
                def create_tmp_directory
         | 
| 75 | 
            +
                  FileUtils.mkdir '.tmp' unless File.directory? '.tmp'
         | 
| 76 | 
            +
                end
         | 
| 77 | 
            +
             | 
| 75 78 | 
             
                def handle_error_in_guard(error)
         | 
| 76 79 | 
             
                  ::Guard::UI.error error.message
         | 
| 77 80 | 
             
                  throw :task_has_failed
         | 
| 78 81 | 
             
                end
         | 
| 79 82 | 
             
              end
         | 
| 80 83 | 
             
            end
         | 
| 81 | 
            -
             | 
| @@ -0,0 +1,46 @@ | |
| 1 | 
            +
            require 'uglifier'
         | 
| 2 | 
            +
            require 'coffee_script'
         | 
| 3 | 
            +
            require 'uglifier'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            class RugularBowerComponents
         | 
| 6 | 
            +
              def self.compile
         | 
| 7 | 
            +
                new.compile
         | 
| 8 | 
            +
              end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              def initialize; end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              def compile
         | 
| 13 | 
            +
                ::Guard::UI.info 'Beginning to create a manifest bower files'
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                File.open('.tmp/vendor.css', 'w') do |file|
         | 
| 16 | 
            +
                  file.write bower_css
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
                File.open('.tmp/vendor.js', 'w') do |file|
         | 
| 19 | 
            +
                  file.write(Uglifier.compile(bower_javascript))
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                'Successfully created manifest bower files'
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              private
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              def bower_css
         | 
| 28 | 
            +
                bower_yaml.fetch('css').map do |filename|
         | 
| 29 | 
            +
                  bower_component_file = 'bower_components/' + filename
         | 
| 30 | 
            +
                  next unless File.file? bower_component_file
         | 
| 31 | 
            +
                  File.read('bower_components/' + filename)
         | 
| 32 | 
            +
                end.join
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
              def bower_javascript
         | 
| 36 | 
            +
                bower_yaml.fetch('js').map do |filename|
         | 
| 37 | 
            +
                  bower_component_file = 'bower_components/' + filename
         | 
| 38 | 
            +
                  next unless File.file? bower_component_file
         | 
| 39 | 
            +
                  File.read('bower_components/' + filename)
         | 
| 40 | 
            +
                end.join
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              def bower_yaml
         | 
| 44 | 
            +
                YAML.load(File.read('bower_components.yaml'))
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            end
         | 
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'nokogiri'
         | 
| 2 | 
            +
            require_relative '../../helpers/javascript_files'
         | 
| 2 3 |  | 
| 3 4 | 
             
            class RugularIndexHtml
         | 
| 4 5 | 
             
              def self.update_javascript_script_tags
         | 
| @@ -28,25 +29,10 @@ class RugularIndexHtml | |
| 28 29 | 
             
              def javascript_file_script_tags
         | 
| 29 30 | 
             
                Nokogiri::XML::NodeSet.new(
         | 
| 30 31 | 
             
                  application_html,
         | 
| 31 | 
            -
                   | 
| 32 | 
            +
                  Rugular::JavascriptFiles.ordered_array.map(&convert_to_script_tag)
         | 
| 32 33 | 
             
                )
         | 
| 33 34 | 
             
              end
         | 
| 34 35 |  | 
| 35 | 
            -
              def javascript_files
         | 
| 36 | 
            -
                Dir.glob("src/components/**/*.module.coffee") +
         | 
| 37 | 
            -
                  Dir.glob("src/components/**/*.factory.coffee") +
         | 
| 38 | 
            -
                  Dir.glob("src/components/**/*.filter.coffee") +
         | 
| 39 | 
            -
                  Dir.glob("src/components/**/*.controller.coffee") +
         | 
| 40 | 
            -
                  Dir.glob("src/components/**/*.directive.coffee") +
         | 
| 41 | 
            -
                  Dir.glob("src/components/**/*.routes.coffee") +
         | 
| 42 | 
            -
                  Dir.glob("src/app/**/*.module.coffee") +
         | 
| 43 | 
            -
                  Dir.glob("src/app/**/*.factory.coffee") +
         | 
| 44 | 
            -
                  Dir.glob("src/app/**/*.filter.coffee") +
         | 
| 45 | 
            -
                  Dir.glob("src/app/**/*.controller.coffee") +
         | 
| 46 | 
            -
                  Dir.glob("src/app/**/*.directive.coffee") +
         | 
| 47 | 
            -
                  Dir.glob("src/app/**/*.routes.coffee")
         | 
| 48 | 
            -
              end
         | 
| 49 | 
            -
             | 
| 50 36 | 
             
              def convert_to_script_tag
         | 
| 51 37 | 
             
                lambda do |javascript_file|
         | 
| 52 38 | 
             
                  tmp_filename = javascript_file.gsub('src', '').gsub('coffee', 'js')
         | 
    
        data/lib/rugular/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rugular
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.6. | 
| 4 | 
            +
              version: 0.6.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Nicholas Shook
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-02- | 
| 11 | 
            +
            date: 2015-02-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: actionview
         | 
| @@ -312,16 +312,17 @@ files: | |
| 312 312 | 
             
            - lib/rugular/tasks/helpers/app_checker.rb
         | 
| 313 313 | 
             
            - lib/rugular/tasks/helpers/backend_url_injector.rb
         | 
| 314 314 | 
             
            - lib/rugular/tasks/helpers/haml_renderer.rb
         | 
| 315 | 
            +
            - lib/rugular/tasks/helpers/javascript_files.rb
         | 
| 315 316 | 
             
            - lib/rugular/tasks/new.rb
         | 
| 316 317 | 
             
            - lib/rugular/tasks/server.rb
         | 
| 317 318 | 
             
            - lib/rugular/tasks/server/Guardfile
         | 
| 318 319 | 
             
            - lib/rugular/tasks/server/Procfile
         | 
| 319 320 | 
             
            - lib/rugular/tasks/server/guards/rugular.rb
         | 
| 320 321 | 
             
            - lib/rugular/tasks/server/guards/rugular_assets.rb
         | 
| 322 | 
            +
            - lib/rugular/tasks/server/guards/rugular_bower_components.rb
         | 
| 321 323 | 
             
            - lib/rugular/tasks/server/guards/rugular_coffee.rb
         | 
| 322 324 | 
             
            - lib/rugular/tasks/server/guards/rugular_haml.rb
         | 
| 323 325 | 
             
            - lib/rugular/tasks/server/guards/rugular_index_html.rb
         | 
| 324 | 
            -
            - lib/rugular/tasks/server/guards/rugular_vendor_and_bower_components.rb
         | 
| 325 326 | 
             
            - lib/rugular/tasks/tmux.rb
         | 
| 326 327 | 
             
            - lib/rugular/tasks/tmux/tmuxinator.yml
         | 
| 327 328 | 
             
            - lib/rugular/templates/directive/_app.sass.erb
         | 
| @@ -338,6 +339,7 @@ files: | |
| 338 339 | 
             
            - lib/rugular/templates/new/.application.sass
         | 
| 339 340 | 
             
            - lib/rugular/templates/new/.gitignore
         | 
| 340 341 | 
             
            - lib/rugular/templates/new/Gemfile
         | 
| 342 | 
            +
            - lib/rugular/templates/new/bower_components.yaml
         | 
| 341 343 | 
             
            - lib/rugular/templates/new/config.yaml
         | 
| 342 344 | 
             
            - lib/rugular/templates/new/e2e/app_spec.coffee
         | 
| 343 345 | 
             
            - lib/rugular/templates/new/karma.conf.js
         | 
| @@ -351,7 +353,6 @@ files: | |
| 351 353 | 
             
            - lib/rugular/templates/new/src/app/backend.contsant.coffee
         | 
| 352 354 | 
             
            - lib/rugular/templates/new/src/favicon.ico
         | 
| 353 355 | 
             
            - lib/rugular/templates/new/test/spec_helper.js
         | 
| 354 | 
            -
            - lib/rugular/templates/new/vendor_and_bower_components.yaml
         | 
| 355 356 | 
             
            - lib/rugular/templates/new_erb/bower.json.erb
         | 
| 356 357 | 
             
            - lib/rugular/templates/new_erb/package.json.erb
         | 
| 357 358 | 
             
            - lib/rugular/templates/new_erb/src/index.haml.erb
         | 
| @@ -1,63 +0,0 @@ | |
| 1 | 
            -
            require 'uglifier'
         | 
| 2 | 
            -
            require 'coffee_script'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            class RugularVendorAndBowerComponents
         | 
| 5 | 
            -
              def self.compile
         | 
| 6 | 
            -
                new.compile
         | 
| 7 | 
            -
              end
         | 
| 8 | 
            -
             | 
| 9 | 
            -
              def initialize; end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              def compile
         | 
| 12 | 
            -
                ::Guard::UI.info 'Beginning to create vendor asset files'
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                File.open('.tmp/vendor.css', 'w') do |file|
         | 
| 15 | 
            -
                  file.write bower_css
         | 
| 16 | 
            -
                end
         | 
| 17 | 
            -
                File.open('.tmp/vendor.js', 'w') do |file|
         | 
| 18 | 
            -
                  file.write(Uglifier.compile(bower_and_vendor_javascript))
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                'Successfully created vendor asset files'
         | 
| 22 | 
            -
              end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
              private
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              def bower_and_vendor_javascript
         | 
| 27 | 
            -
                bower_javascript + vendor_javascript
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
              def bower_css
         | 
| 31 | 
            -
                bower_yaml.fetch('bower_components').fetch('css').map do |filename|
         | 
| 32 | 
            -
                  bower_component_file = 'bower_components/' + filename
         | 
| 33 | 
            -
                  next unless File.file? bower_component_file
         | 
| 34 | 
            -
                  File.read('bower_components/' + filename)
         | 
| 35 | 
            -
                end.join
         | 
| 36 | 
            -
              end
         | 
| 37 | 
            -
             | 
| 38 | 
            -
              def bower_javascript
         | 
| 39 | 
            -
                bower_yaml.fetch('bower_components').fetch('js').map do |filename|
         | 
| 40 | 
            -
                  bower_component_file = 'bower_components/' + filename
         | 
| 41 | 
            -
                  next unless File.file? bower_component_file
         | 
| 42 | 
            -
                  File.read('bower_components/' + filename)
         | 
| 43 | 
            -
                end.join
         | 
| 44 | 
            -
              end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
              def vendor_javascript
         | 
| 47 | 
            -
                bower_yaml.fetch('vendor').fetch('javascript').map do |filename|
         | 
| 48 | 
            -
                  vendor_file = 'vendor/' + filename
         | 
| 49 | 
            -
                  next unless File.file? vendor_file
         | 
| 50 | 
            -
                  File.read(vendor_file)
         | 
| 51 | 
            -
                end.join +
         | 
| 52 | 
            -
             | 
| 53 | 
            -
                bower_yaml.fetch('vendor').fetch('coffee').map do |filename|
         | 
| 54 | 
            -
                  vendor_file = 'vendor/' + filename
         | 
| 55 | 
            -
                  next unless File.file? vendor_file
         | 
| 56 | 
            -
                  CoffeeScript.compile(File.read('vendor/' + filename))
         | 
| 57 | 
            -
                end.join
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
              def bower_yaml
         | 
| 61 | 
            -
                YAML.load(File.read('vendor_and_bower_components.yaml'))
         | 
| 62 | 
            -
              end
         | 
| 63 | 
            -
            end
         |