thesis_cloudfront 0.2.0 → 0.2.9
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
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6d5f7a41ee42054f868406127c6a62a40f4c6e4a72266277e34b84c657ceaf98
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 0cd45b65149c83c50dce32738cfe8dd3d1bed840710afd96f31547e6632dbf9f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fd707c28768aa48d6d144d51f7eaaef5b600322daffd577101d9386845894fd4931102c8c4073eb729b5e00129c00d9819b5ddb38f0620a94980084dc3be3795
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 7e1126148b948c17c0fd110f189cc9c2c95be45c5eb89ba1b75aa7bea6160f02afa699a6924c2e942bd5a9897e3e5070f8d3cd44d7ce460b1fc3d2b5a53fd0dc
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,8 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # ThesisCloudfront
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            TODO: Delete this and the text above, and describe your gem
         
     | 
| 
      
 3 
     | 
    
         
            +
            assumes you are using heroku for CNAME capturing purposes (through the cli), if not it'll skip that step. 
         
     | 
| 
      
 4 
     | 
    
         
            +
            If you aren't using Heroku I highly recommend you check out the rack_cors.rb initializer that's generated and edit it for your purposes.
         
     | 
| 
       6 
5 
     | 
    
         | 
| 
       7 
6 
     | 
    
         
             
            ## Installation
         
     | 
| 
       8 
7 
     | 
    
         | 
| 
         @@ -22,7 +21,7 @@ Or install it yourself as: 
     | 
|
| 
       22 
21 
     | 
    
         | 
| 
       23 
22 
     | 
    
         
             
            ## Usage
         
     | 
| 
       24 
23 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
            run `rails g thesis_cloudfront:install`
         
     | 
| 
       26 
25 
     | 
    
         | 
| 
       27 
26 
     | 
    
         
             
            ## Development
         
     | 
| 
       28 
27 
     | 
    
         | 
| 
         @@ -1,14 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rails/generators'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'csv'
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            module ThesisCloudfront
         
     | 
| 
       4 
5 
     | 
    
         
             
              module Generators
         
     | 
| 
       5 
6 
     | 
    
         
             
                class InstallGenerator < Rails::Generators::Base
         
     | 
| 
       6 
7 
     | 
    
         
             
                  def install
         
     | 
| 
       7 
     | 
    
         
            -
                    append_to_file "Gemfile" do
         
     | 
| 
       8 
     | 
    
         
            -
                      "\ngem 'rack_cors'"
         
     | 
| 
       9 
     | 
    
         
            -
                    end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
8 
     | 
    
         
             
                    heroku_app_name = ask("whats the name of this heroku app?")
         
     | 
| 
      
 9 
     | 
    
         
            +
                    file = `heroku domains -a #{heroku_app_name} --csv`
         
     | 
| 
      
 10 
     | 
    
         
            +
                    file&.gsub!(/===.+|.+\.herokuapp.com/, '').strip
         
     | 
| 
      
 11 
     | 
    
         
            +
                    domains = []
         
     | 
| 
      
 12 
     | 
    
         
            +
                    
         
     | 
| 
      
 13 
     | 
    
         
            +
                    if file
         
     | 
| 
      
 14 
     | 
    
         
            +
                      CSV.parse(file, headers: true).each do |x|
         
     | 
| 
      
 15 
     | 
    
         
            +
                        if x['Domain Name']
         
     | 
| 
      
 16 
     | 
    
         
            +
                          domains << '      /https:\/\/' + "#{x['Domain Name']}/"
         
     | 
| 
      
 17 
     | 
    
         
            +
                          domains << '      /http:\/\/' + "#{x['Domain Name']}/"
         
     | 
| 
      
 18 
     | 
    
         
            +
                        end
         
     | 
| 
      
 19 
     | 
    
         
            +
                      end
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
       12 
21 
     | 
    
         | 
| 
       13 
22 
     | 
    
         
             
                    create_file "config/initializers/rack_cors.rb" do
         
     | 
| 
       14 
23 
     | 
    
         
             
                        ["Rails.application.config.middleware.insert_before 0, Rack::Cors do",
         
     | 
| 
         @@ -16,16 +25,20 @@ module ThesisCloudfront 
     | 
|
| 
       16 
25 
     | 
    
         
             
                        "    origins [",
         
     | 
| 
       17 
26 
     | 
    
         
             
                        "      /https:\\/\\/#{heroku_app_name}.herokuapp.com/,",
         
     | 
| 
       18 
27 
     | 
    
         
             
                        "      /http:\\/\\/#{heroku_app_name}.herokuapp.com/,",
         
     | 
| 
       19 
     | 
    
         
            -
                        "      /https:\\/\\/#{heroku_app_name}-pr 
     | 
| 
       20 
     | 
    
         
            -
                        "      /http:\\/\\/#{heroku_app_name}-pr 
     | 
| 
      
 28 
     | 
    
         
            +
                        "      /https:\\/\\/#{heroku_app_name}-pr-.+.herokuapp.com/,",
         
     | 
| 
      
 29 
     | 
    
         
            +
                        "      /http:\\/\\/#{heroku_app_name}-pr-.+.herokuapp.com/,", domains.join(",\n"),
         
     | 
| 
       21 
30 
     | 
    
         
             
                        "    ]",
         
     | 
| 
       22 
31 
     | 
    
         
             
                        "    resource '/assets/*', headers: :any, methods: [:get, :head, :options]",
         
     | 
| 
       23 
32 
     | 
    
         
             
                        "  end",
         
     | 
| 
       24 
33 
     | 
    
         
             
                        "end"].join("\n")
         
     | 
| 
       25 
34 
     | 
    
         
             
                    end
         
     | 
| 
       26 
35 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
                    create_file "config/initializers/ 
     | 
| 
       28 
     | 
    
         
            -
                      "ActionController::Base.asset_host = ENV['CLOUDFRONT_URL']"
         
     | 
| 
      
 36 
     | 
    
         
            +
                    create_file "config/initializers/cloudfront.rb" do
         
     | 
| 
      
 37 
     | 
    
         
            +
                      ["ActionController::Base.asset_host = ENV['CLOUDFRONT_URL']",
         
     | 
| 
      
 38 
     | 
    
         
            +
                       "Rails.application.config.public_file_server.headers = {",
         
     | 
| 
      
 39 
     | 
    
         
            +
                       "  'Cache-Control' => 'public, max-age=2592000',",
         
     | 
| 
      
 40 
     | 
    
         
            +
                       '  "Expires" => "#{30.days.from_now.to_formatted_s(:rfc822)}"',
         
     | 
| 
      
 41 
     | 
    
         
            +
                       "}"].join("\n")
         
     | 
| 
       29 
42 
     | 
    
         
             
                    end
         
     | 
| 
       30 
43 
     | 
    
         
             
                  end
         
     | 
| 
       31 
44 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rails/generators'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'csv'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Cloudfront
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Generators
         
     | 
| 
      
 6 
     | 
    
         
            +
                class InstallGenerator < Rails::Generators::Base
         
     | 
| 
      
 7 
     | 
    
         
            +
                  def install
         
     | 
| 
      
 8 
     | 
    
         
            +
                    # append_to_file "Gemfile" do
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #   "\ngem 'rack-cors'"
         
     | 
| 
      
 10 
     | 
    
         
            +
                    # end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                    heroku_app_name = ask("whats the name of this heroku app?")
         
     | 
| 
      
 13 
     | 
    
         
            +
                    file = `heroku domains -a #{heroku_app_name} --csv`
         
     | 
| 
      
 14 
     | 
    
         
            +
                    file&.gsub!(/===.+|.+\.herokuapp.com/, '').strip
         
     | 
| 
      
 15 
     | 
    
         
            +
                    domains = []
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    if file
         
     | 
| 
      
 18 
     | 
    
         
            +
                      CSV.parse(file, headers: true).each do |x|
         
     | 
| 
      
 19 
     | 
    
         
            +
                        if x['Domain Name']
         
     | 
| 
      
 20 
     | 
    
         
            +
                          domains << '      /https:\/\/' + "#{x['Domain Name']}/"
         
     | 
| 
      
 21 
     | 
    
         
            +
                          domains << '      /http:\/\/' + "#{x['Domain Name']}/"
         
     | 
| 
      
 22 
     | 
    
         
            +
                        end
         
     | 
| 
      
 23 
     | 
    
         
            +
                      end
         
     | 
| 
      
 24 
     | 
    
         
            +
                    end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    create_file "config/initializers/rack_cors.rb" do
         
     | 
| 
      
 27 
     | 
    
         
            +
                        ["Rails.application.config.middleware.insert_before 0, Rack::Cors do",
         
     | 
| 
      
 28 
     | 
    
         
            +
                        "  allow do",
         
     | 
| 
      
 29 
     | 
    
         
            +
                        "    origins [",
         
     | 
| 
      
 30 
     | 
    
         
            +
                        "      /https:\\/\\/#{heroku_app_name}.herokuapp.com/,",
         
     | 
| 
      
 31 
     | 
    
         
            +
                        "      /http:\\/\\/#{heroku_app_name}.herokuapp.com/,",
         
     | 
| 
      
 32 
     | 
    
         
            +
                        "      /https:\\/\\/#{heroku_app_name}-pr-\w+.herokuapp.com/,",
         
     | 
| 
      
 33 
     | 
    
         
            +
                        "      /http:\\/\\/#{heroku_app_name}-pr-\w+.herokuapp.com/,", domains.join(",\n"),
         
     | 
| 
      
 34 
     | 
    
         
            +
                        "    ]",
         
     | 
| 
      
 35 
     | 
    
         
            +
                        "    resource '/assets/*', headers: :any, methods: [:get, :head, :options]",
         
     | 
| 
      
 36 
     | 
    
         
            +
                        "  end",
         
     | 
| 
      
 37 
     | 
    
         
            +
                        "end"].join("\n")
         
     | 
| 
      
 38 
     | 
    
         
            +
                    end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                    create_file "config/initializers/cloudfront.rb" do
         
     | 
| 
      
 41 
     | 
    
         
            +
                      ["ActionController::Base.asset_host = ENV['CLOUDFRONT_URL']", 
         
     | 
| 
      
 42 
     | 
    
         
            +
                       "config.public_file_server.headers = {",
         
     | 
| 
      
 43 
     | 
    
         
            +
                       "    'Cache-Control' => 'public, max-age=2592000',",
         
     | 
| 
      
 44 
     | 
    
         
            +
                       "    \"Expires\" => \"\#{30.days.from_now.to_formatted_s(:rfc822)}\"",
         
     | 
| 
      
 45 
     | 
    
         
            +
                       "  }"].join("\n")
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: thesis_cloudfront
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.9
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Nico Vigil
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019-09 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-12-09 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rack-cors
         
     | 
| 
         @@ -84,6 +84,7 @@ files: 
     | 
|
| 
       84 
84 
     | 
    
         
             
            - bin/setup
         
     | 
| 
       85 
85 
     | 
    
         
             
            - lib/generators/thesis_cloudfront/install_generator.rb
         
     | 
| 
       86 
86 
     | 
    
         
             
            - lib/thesis_cloudfront.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            - lib/thesis_cloudfront/install_generator.rb
         
     | 
| 
       87 
88 
     | 
    
         
             
            - lib/thesis_cloudfront/version.rb
         
     | 
| 
       88 
89 
     | 
    
         
             
            - thesis_cloudfront.gemspec
         
     | 
| 
       89 
90 
     | 
    
         
             
            homepage: https://github.com/nicovigil1/thesis_cloudfront
         
     |