serverlessgems 0.1.1 → 0.1.5
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/CHANGELOG.md +12 -0
 - data/lib/jets/gems/agree.rb +20 -7
 - data/lib/jets/gems/api/concern.rb +4 -0
 - data/lib/jets/gems/api.rb +4 -0
 - data/lib/jets/gems/check.rb +17 -4
 - data/lib/jets/gems/exist.rb +0 -2
 - data/lib/jets/gems/extract/base.rb +4 -5
 - data/lib/jets/gems/registered.rb +12 -0
 - data/lib/jets/gems/version.rb +1 -1
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6ba1692da293a7e458a1262de1f0af1c865b1b78270283afe19a2d7aeca80ab5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 775351dec4c2837a265b7e553d6aac89f1e9bdc82b0a9130973285b355d58ad6
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 5ff0e504d6cbbcb817272e6f5dcceed8bdfc04498327f69db7e99c23644b7737c510ee207756b7bee6d101b96c4072472ee701711fe3f6ca3e0fc3de9240ba09
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a41cc9dcf9dd3e227495d51f6cbf46b8bb9865dfce18f7ea75242a8f3894facd8d339d451fa669a551e2fdbd960d45c303d026eb6fdca13c2ddd8913f02d6675
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -3,6 +3,18 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            All notable changes to this project will be documented in this file.
         
     | 
| 
       4 
4 
     | 
    
         
             
            This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
            ## [0.1.5] - 2021-08-31
         
     | 
| 
      
 7 
     | 
    
         
            +
            - [#4](https://github.com/boltops-tools/serverlessgems/pull/4) Don't create a file if the download fails
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ## [0.1.4] - 2021-07-15
         
     | 
| 
      
 10 
     | 
    
         
            +
            - [#3](https://github.com/boltops-tools/serverlessgems/pull/3) gems/registered api
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ## [0.1.3] - 2021-04-13
         
     | 
| 
      
 13 
     | 
    
         
            +
            - update jets agree messaging
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ## [0.1.2] - 2021-01-12
         
     | 
| 
      
 16 
     | 
    
         
            +
            - [#2](https://github.com/boltops-tools/serverlessgems/pull/2) fix other_compiled_gems Jets.build_root
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       6 
18 
     | 
    
         
             
            ## [0.1.1] - 2021-01-12
         
     | 
| 
       7 
19 
     | 
    
         
             
            - [#1](https://github.com/boltops-tools/serverlessgems/pull/1) fix native gem detection
         
     | 
| 
       8 
20 
     | 
    
         | 
    
        data/lib/jets/gems/agree.rb
    CHANGED
    
    | 
         @@ -7,19 +7,32 @@ module Jets::Gems 
     | 
|
| 
       7 
7 
     | 
    
         
             
                # Only prompts if hasnt prompted before and saved a ~/.jets/agree file
         
     | 
| 
       8 
8 
     | 
    
         
             
                def prompt
         
     | 
| 
       9 
9 
     | 
    
         
             
                  return if bypass_prompt
         
     | 
| 
       10 
     | 
    
         
            -
                  return if File.exist?(@agree_file)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  return if File.exist?(@agree_file) && File.mtime(@agree_file) > Time.parse("2021-04-12")
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                  puts <<~EOL
         
     | 
| 
       13 
     | 
    
         
            -
                    Jets  
     | 
| 
      
 13 
     | 
    
         
            +
                    Jets uses pre-built binary gems from the serverlessgems.com service to
         
     | 
| 
      
 14 
     | 
    
         
            +
                    provide a user-friendly developer experience. The Serverless Gems Service
         
     | 
| 
      
 15 
     | 
    
         
            +
                    rate limits free gem download requests daily. You can upgrade to a paid plan
         
     | 
| 
      
 16 
     | 
    
         
            +
                    for unlimited gem download requests. Open Source projects may also qualify
         
     | 
| 
      
 17 
     | 
    
         
            +
                    for a free unlimited plan. More info:
         
     | 
| 
       14 
18 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                    So if you run into missing gems, you can try deploying again after a few minutes.
         
     | 
| 
       17 
     | 
    
         
            -
                    Non-reported gems may take several days or longer.
         
     | 
| 
      
 19 
     | 
    
         
            +
                      https://www.serverlessgems.com/rate-limits
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
                     
     | 
| 
      
 21 
     | 
    
         
            +
                    If you do not want to use Serverless Gems, you can disable the Serverless
         
     | 
| 
      
 22 
     | 
    
         
            +
                    Gems service and provide your own custom Lambda Layer. More info:
         
     | 
| 
       20 
23 
     | 
    
         | 
| 
      
 24 
     | 
    
         
            +
                      https://rubyonjets.com/docs/serverlessgems/
         
     | 
| 
      
 25 
     | 
    
         
            +
                      https://rubyonjets.com/docs/extras/custom-lambda-layers/
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    Also, reporting gems to Serverless Gems allows it to build new gems typically
         
     | 
| 
      
 28 
     | 
    
         
            +
                    within a few minutes. So if you run into missing gems, you can try deploying
         
     | 
| 
      
 29 
     | 
    
         
            +
                    again after a few minutes. Non-reported gems may take several days or longer.
         
     | 
| 
      
 30 
     | 
    
         
            +
                    Serverless Gems only collects the info it needs to run the service.
         
     | 
| 
      
 31 
     | 
    
         
            +
                    More info: https://www.serverlessgems.com/privacy
         
     | 
| 
       21 
32 
     | 
    
         
             
                    This message will only appear once on this machine.
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                    You can also automatically skip this message by setting:
         
     | 
| 
      
 35 
     | 
    
         
            +
                    JETS_AGREE=yes or JETS_AGREE=no
         
     | 
| 
       23 
36 
     | 
    
         | 
| 
       24 
37 
     | 
    
         
             
                    Is it okay to send your gem data to Serverless Gems? (Y/n)?
         
     | 
| 
       25 
38 
     | 
    
         
             
                  EOL
         
     | 
    
        data/lib/jets/gems/api.rb
    CHANGED
    
    
    
        data/lib/jets/gems/check.rb
    CHANGED
    
    | 
         @@ -12,7 +12,7 @@ module Jets::Gems 
     | 
|
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                def run!
         
     | 
| 
       15 
     | 
    
         
            -
                  puts "Gems source: #{gems_source}" if @options[: 
     | 
| 
      
 15 
     | 
    
         
            +
                  puts "Gems source: #{gems_source}" if @options[:verbose]
         
     | 
| 
       16 
16 
     | 
    
         
             
                  run(exit_early: true)
         
     | 
| 
       17 
17 
     | 
    
         
             
                end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
         @@ -22,9 +22,9 @@ module Jets::Gems 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                # Checks whether the gem is found at the serverlessgems source.
         
     | 
| 
       24 
24 
     | 
    
         
             
                def run(exit_early: false)
         
     | 
| 
       25 
     | 
    
         
            -
                  puts "Checking projects gems for binary  
     | 
| 
      
 25 
     | 
    
         
            +
                  puts "Checking projects gems for binary serverlessgems..."
         
     | 
| 
       26 
26 
     | 
    
         
             
                  compiled_gems.each do |gem_name|
         
     | 
| 
       27 
     | 
    
         
            -
                    puts "Checking #{gem_name}..." if @options[: 
     | 
| 
      
 27 
     | 
    
         
            +
                    puts "Checking #{gem_name}..." if @options[:verbose]
         
     | 
| 
       28 
28 
     | 
    
         
             
                    exist = Jets::Gems::Exist.new
         
     | 
| 
       29 
29 
     | 
    
         
             
                    @missing_gems << gem_name unless exist.check(gem_name)
         
     | 
| 
       30 
30 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -133,6 +133,7 @@ EOL 
     | 
|
| 
       133 
133 
     | 
    
         
             
                    #
         
     | 
| 
       134 
134 
     | 
    
         
             
                    gems = gemspec_compiled_gems
         
     | 
| 
       135 
135 
     | 
    
         
             
                    gems += other_compiled_gems
         
     | 
| 
      
 136 
     | 
    
         
            +
                    gems += registered_compiled_gems
         
     | 
| 
       136 
137 
     | 
    
         
             
                    gems.uniq
         
     | 
| 
       137 
138 
     | 
    
         
             
                  end
         
     | 
| 
       138 
139 
     | 
    
         
             
                end
         
     | 
| 
         @@ -148,10 +149,22 @@ EOL 
     | 
|
| 
       148 
149 
     | 
    
         
             
                #   /tmp/jets/demo/stage/opt/ruby/gems/2.7.0/gems/nokogiri-1.11.1-x86_64-linux
         
     | 
| 
       149 
150 
     | 
    
         
             
                #
         
     | 
| 
       150 
151 
     | 
    
         
             
                def other_compiled_gems
         
     | 
| 
       151 
     | 
    
         
            -
                  paths = Dir.glob("/ 
     | 
| 
      
 152 
     | 
    
         
            +
                  paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*{-darwin,-linux}")
         
     | 
| 
       152 
153 
     | 
    
         
             
                  paths.map { |p| File.basename(p).sub(/-x\d+.*-(darwin|linux)/,'') }
         
     | 
| 
       153 
154 
     | 
    
         
             
                end
         
     | 
| 
       154 
155 
     | 
    
         | 
| 
      
 156 
     | 
    
         
            +
                def registered_compiled_gems
         
     | 
| 
      
 157 
     | 
    
         
            +
                  registered = Jets::Gems::Registered.new
         
     | 
| 
      
 158 
     | 
    
         
            +
                  registered_gems = registered.all # no version numbers in this list
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
                  paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*")
         
     | 
| 
      
 161 
     | 
    
         
            +
                  project_gems = paths.map { |p| File.basename(p).sub(/-x\d+.*-(darwin|linux)/,'') }
         
     | 
| 
      
 162 
     | 
    
         
            +
                  project_gems.select do |name|
         
     | 
| 
      
 163 
     | 
    
         
            +
                    name_only = name.sub(/-\d+\.\d+\.\d+.*/,'')
         
     | 
| 
      
 164 
     | 
    
         
            +
                    registered_gems.include?(name_only)
         
     | 
| 
      
 165 
     | 
    
         
            +
                  end
         
     | 
| 
      
 166 
     | 
    
         
            +
                end
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
       155 
168 
     | 
    
         
             
                # Use pre-compiled gem because the gem could have development header shared
         
     | 
| 
       156 
169 
     | 
    
         
             
                # object file dependencies.  The shared dependencies are packaged up as part
         
     | 
| 
       157 
170 
     | 
    
         
             
                # of the pre-compiled gem so it is available in the Lambda execution environment.
         
     | 
    
        data/lib/jets/gems/exist.rb
    CHANGED
    
    
| 
         @@ -41,13 +41,12 @@ module Jets::Gems::Extract 
     | 
|
| 
       41 
41 
     | 
    
         
             
                  end
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
                  say "Downloading..."
         
     | 
| 
      
 44 
     | 
    
         
            +
                  downloaded = URI.open(url, 'rb') { |read_file| read_file.read }
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       44 
46 
     | 
    
         
             
                  FileUtils.mkdir_p(File.dirname(dest)) # ensure parent folder exists
         
     | 
| 
       45 
47 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
                  File.open(dest, 'wb')  
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
                      saved_file.write(read_file.read)
         
     | 
| 
       49 
     | 
    
         
            -
                    end
         
     | 
| 
       50 
     | 
    
         
            -
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
                  File.open(dest, 'wb') { |saved_file| saved_file.write(downloaded) }
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
       51 
50 
     | 
    
         
             
                  dest
         
     | 
| 
       52 
51 
     | 
    
         
             
                end
         
     | 
| 
       53 
52 
     | 
    
         | 
    
        data/lib/jets/gems/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: serverlessgems
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Tung Nguyen
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-08-31 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: gems
         
     | 
| 
         @@ -122,6 +122,7 @@ files: 
     | 
|
| 
       122 
122 
     | 
    
         
             
            - lib/jets/gems/exist.rb
         
     | 
| 
       123 
123 
     | 
    
         
             
            - lib/jets/gems/extract/base.rb
         
     | 
| 
       124 
124 
     | 
    
         
             
            - lib/jets/gems/extract/gem.rb
         
     | 
| 
      
 125 
     | 
    
         
            +
            - lib/jets/gems/registered.rb
         
     | 
| 
       125 
126 
     | 
    
         
             
            - lib/jets/gems/report.rb
         
     | 
| 
       126 
127 
     | 
    
         
             
            - lib/jets/gems/version.rb
         
     | 
| 
       127 
128 
     | 
    
         
             
            - lib/serverlessgems.rb
         
     |