serverlessgems 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eeff425996a2704acdc46eae6992d6c862089961ae6cd210c7cea61de9684855
4
- data.tar.gz: 8d1888c4a187e3c63b5262f458a06daf8782c0db3dfeb682fc63ae45df6c12fb
3
+ metadata.gz: f45e4781de3600f9c61880c3b508a2955a393332efff18d980bbc2ef0ebc88ab
4
+ data.tar.gz: f3d78701b967fb4fc01a0ad7f332ec83690a38f0f86a0549a210d984e8b362ae
5
5
  SHA512:
6
- metadata.gz: 47675c0ac980e0089541784aea12b04b5b2d2d6c1a077a65524de091c8eada0afbdd2c3541f68670b7554ae67d3ae5f224ee156573ef77391404479e18535405
7
- data.tar.gz: c853581680f9bf7c26fef89eaf96c59b5791b178a5850e28c83acd51391beb1f783f80d20ac50c0dfa3fbf84dc0e7993a7a65d0ee825bc7a55e004a489ec0473
6
+ metadata.gz: f7182eb8a6bafde793df547b4e8aa93a09160dfdc01181f5909fe6327971186f1c45e9d1e42d82ca65afcb98c8bf52785b877f9f9c6eb1385a8a3f4fd5b97ab4
7
+ data.tar.gz: 8d6d08fdc726541ce96b1d3a7fc56a2e324f816018e5f96705883994b2a084160bbe213d91ba043f3ab5e9dcbbc20e85cfca2227df68458810f40b2307a22cfd
data/CHANGELOG.md CHANGED
@@ -3,6 +3,9 @@
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.4.1] - 2024-06-22
7
+ - standardrb and updates
8
+
6
9
  ## [0.4.0] - 2023-07-24
7
10
  - [#8](https://github.com/boltops-tools/serverlessgems/pull/8) erb ruby 3 and autoloader improvements
8
11
 
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in serverlessgems.gemspec
6
6
  gemspec
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -1,7 +1,7 @@
1
1
  module Jets::Gems
2
2
  class Agree
3
3
  def initialize
4
- @agree_file = "#{ENV['HOME']}/.jets/agree"
4
+ @agree_file = "#{ENV["HOME"]}/.jets/agree"
5
5
  end
6
6
 
7
7
  # Only prompts if hasnt prompted before and saved a ~/.jets/agree file
@@ -38,7 +38,7 @@ module Jets::Gems
38
38
  EOL
39
39
 
40
40
  answer = $stdin.gets.strip
41
- value = answer =~ /y/i ? 'yes' : 'no'
41
+ value = /y/i.match?(answer) ? "yes" : "no"
42
42
 
43
43
  write_file(value)
44
44
  end
@@ -46,24 +46,24 @@ module Jets::Gems
46
46
  # Allow user to bypass prompt with JETS_AGREE=1 JETS_AGREE=yes etc
47
47
  # Useful for CI/CD pipelines.
48
48
  def bypass_prompt
49
- agree = ENV['JETS_AGREE']
49
+ agree = ENV["JETS_AGREE"]
50
50
  return false unless agree
51
51
 
52
52
  if %w[1 yes true].include?(agree.downcase)
53
- write_file('yes')
53
+ write_file("yes")
54
54
  else
55
- write_file('no')
55
+ write_file("no")
56
56
  end
57
57
 
58
58
  true
59
59
  end
60
60
 
61
61
  def yes?
62
- File.exist?(@agree_file) && IO.read(@agree_file).strip == 'yes'
62
+ File.exist?(@agree_file) && IO.read(@agree_file).strip == "yes"
63
63
  end
64
64
 
65
65
  def no?
66
- File.exist?(@agree_file) && IO.read(@agree_file).strip == 'no'
66
+ File.exist?(@agree_file) && IO.read(@agree_file).strip == "no"
67
67
  end
68
68
 
69
69
  def yes!
@@ -1,6 +1,6 @@
1
1
  # Need 'open-uri' for exist.rb and regsitered.rb which uses
2
2
  # rescue SocketError, OpenURI::HTTPError, OpenSSL::SSL::SSLError
3
- require 'open-uri'
3
+ require "open-uri"
4
4
 
5
5
  class Jets::Gems::Api
6
6
  module Concern
@@ -5,14 +5,18 @@ class Jets::Gems::Api
5
5
  extend Memoist
6
6
 
7
7
  # Always translate raw json response to ruby Hash
8
- def request(klass, path, data={})
8
+ def request(klass, path, data = {})
9
9
  url = url(path)
10
10
  req = build_request(klass, url, data)
11
11
  resp = http.request(req) # send request
12
12
  load_json(url, resp)
13
13
  end
14
14
 
15
- def build_request(klass, url, data={})
15
+ def build_request(klass, url, data = {})
16
+ data = global_data.merge(data)
17
+ if klass == Net::HTTP::Get
18
+ url += "?#{URI.encode_www_form(data)}" if data.any?
19
+ end
16
20
  req = klass.new(url) # url includes query string and uri.path does not, must used url
17
21
  set_headers!(req)
18
22
  if [Net::HTTP::Delete, Net::HTTP::Patch, Net::HTTP::Post, Net::HTTP::Put].include?(klass)
@@ -24,13 +28,29 @@ class Jets::Gems::Api
24
28
  end
25
29
 
26
30
  def set_headers!(req)
27
- req['Authorization'] = token if token
28
- req['x-account'] = account if account
29
- req['Content-Type'] = "application/vnd.api+json"
31
+ req["Authorization"] = token if token
32
+ req["x-account"] = account if account
33
+ req["Content-Type"] = "application/vnd.api+json"
34
+ end
35
+
36
+ def global_data
37
+ Jets.boot
38
+ params = {}
39
+ params[:jets_env] = Jets.env.to_s
40
+ params[:jets_extra] = Jets.extra.to_s if Jets.extra
41
+ params[:name] = Jets.project_namespace
42
+ params[:region] = Jets.aws.region
43
+ params[:account] = Jets.aws.account
44
+ params[:project_id] = Jets.config.project_name
45
+ params[:serverlessgems_version] = Jets::Gems::VERSION
46
+ params[:jets_version] = Jets::VERSION
47
+ params[:ruby_version] = RUBY_VERSION
48
+ params[:ruby_folder] = Jets::Gems.ruby_folder
49
+ params
30
50
  end
31
51
 
32
52
  def token
33
- Jets::Gems::Config.instance.data['key']
53
+ Jets::Gems::Config.instance.data["key"]
34
54
  end
35
55
 
36
56
  def load_json(url, res)
@@ -40,7 +60,7 @@ class Jets::Gems::Api
40
60
  else
41
61
  puts "Error: Non-successful http response status code: #{res.code}"
42
62
  puts "headers: #{res.each_header.to_h.inspect}"
43
- puts "ServerlessGems API #{url}" if ENV['SG_DEBUG']
63
+ puts "ServerlessGems API #{url}" if ENV["SG_DEBUG"]
44
64
  raise "ServerlessGems API called failed: #{uri.host}"
45
65
  end
46
66
  end
@@ -55,7 +75,7 @@ class Jets::Gems::Api
55
75
  uri = URI(endpoint)
56
76
  http = Net::HTTP.new(uri.host, uri.port)
57
77
  http.open_timeout = http.read_timeout = 30
58
- http.use_ssl = true if uri.scheme == 'https'
78
+ http.use_ssl = true if uri.scheme == "https"
59
79
  http
60
80
  end
61
81
  memoize :http
@@ -65,24 +85,26 @@ class Jets::Gems::Api
65
85
  "#{endpoint}/#{path}"
66
86
  end
67
87
 
68
- def get(path)
69
- request(Net::HTTP::Get, path)
88
+ def get(path, data = {})
89
+ request(Net::HTTP::Get, path, data)
70
90
  end
71
91
 
72
- def post(path, data={})
92
+ def post(path, data = {})
73
93
  request(Net::HTTP::Post, path, data)
74
94
  end
75
95
 
76
- def patch(path, data={})
96
+ def patch(path, data = {})
77
97
  request(Net::HTTP::Patch, path, data)
78
98
  end
79
99
 
80
- def delete(path, data={})
100
+ def delete(path, data = {})
81
101
  request(Net::HTTP::Delete, path, data)
82
102
  end
83
103
 
84
104
  def account
85
- sts.get_caller_identity.account rescue nil
105
+ sts.get_caller_identity.account
106
+ rescue
107
+ nil
86
108
  end
87
109
  memoize :account
88
110
 
data/lib/jets/gems/api.rb CHANGED
@@ -3,19 +3,19 @@ module Jets::Gems
3
3
  include Core
4
4
 
5
5
  def endpoint
6
- ENV['SG_API'] || Jets.config.gems.source || 'https://api.serverlessgems.com/api/v1'
6
+ ENV["SG_API"] || Jets.config.gems.source || "https://api.serverlessgems.com/api/v1"
7
7
  end
8
8
 
9
9
  def download_url(gem_name:, project:)
10
- get("gem/download?gem_name=#{gem_name}&ruby_folder=#{ruby_folder}&project=#{project}")
10
+ get("gem/download", gem_name: gem_name, ruby_folder: ruby_folder, project: project)
11
11
  end
12
12
 
13
13
  def check_exist(gem_name:)
14
- get("gem/exist?gem_name=#{gem_name}&ruby_folder=#{ruby_folder}")
14
+ get("gem/exist", gem_name: gem_name, ruby_folder: ruby_folder)
15
15
  end
16
16
 
17
17
  def report_missing(gem_name:)
18
- get("report/missing?gem_name=#{gem_name}&ruby_folder=#{ruby_folder}")
18
+ get("report/missing", gem_name: gem_name, ruby_folder: ruby_folder)
19
19
  end
20
20
 
21
21
  def registered_gems
@@ -6,7 +6,7 @@ module Jets
6
6
  class Autoloader
7
7
  class Inflector < Zeitwerk::Inflector
8
8
  def camelize(basename, _abspath)
9
- map = { cli: "CLI", version: "VERSION" }
9
+ map = {cli: "CLI", version: "VERSION"}
10
10
  map[basename.to_sym] || super
11
11
  end
12
12
  end
@@ -15,7 +15,7 @@ module Jets
15
15
  def setup
16
16
  loader = Zeitwerk::Loader.new
17
17
  loader.inflector = Inflector.new
18
- lib = File.expand_path('../..', __dir__)
18
+ lib = File.expand_path("../..", __dir__)
19
19
  loader.push_dir(lib) # lib
20
20
  loader.ignore("#{lib}/serverlessgems.rb")
21
21
  loader.setup
@@ -6,7 +6,7 @@ module Jets::Gems
6
6
  extend Memoist
7
7
 
8
8
  attr_reader :missing_gems
9
- def initialize(options={})
9
+ def initialize(options = {})
10
10
  @options = options
11
11
  @missing_gems = [] # keeps track of gems that are not found in any of the serverlessgems source
12
12
  end
@@ -17,7 +17,7 @@ module Jets::Gems
17
17
  end
18
18
 
19
19
  def gems_source
20
- ENV['SG_API'] || Jets.config.gems.source
20
+ ENV["SG_API"] || Jets.config.gems.source
21
21
  end
22
22
 
23
23
  # Checks whether the gem is found at the serverlessgems source.
@@ -35,7 +35,7 @@ module Jets::Gems
35
35
  # Better to error now than deploy a broken package to AWS Lambda.
36
36
  # Provide users with message about using their own serverlessgems source.
37
37
  puts missing_message
38
- names = @missing_gems.map {|i| i['gem_name']}
38
+ names = @missing_gems.map { |i| i["gem_name"] }
39
39
  Report.new(@options).report(names) if agree.yes?
40
40
  exit 1
41
41
  end
@@ -48,36 +48,36 @@ module Jets::Gems
48
48
  end
49
49
 
50
50
  def missing_message
51
- template = <<-EOL
52
- Your project requires compiled gems that are not currently available. Unavailable pre-compiled gems:
53
- <% missing_gems.each do |missing_gem|
54
- available = missing_gem['available'].reject { |v| missing_gem['gem_name'].include?(v) }
55
- %>
56
- * Unavailable: <%= missing_gem['gem_name'] -%> Available versions: <%= available.join(' ') %>
57
- <% end %>
58
- Your current serverlessgems source: #{gems_source}
59
-
60
- Jets is unable to build a deployment package that will work on AWS Lambda without the required pre-compiled gems. To remedy this, you can:
61
-
62
- * Use another gem that does not require compilation.
63
- * Create your own custom layer with the gem: http://rubyonjets.com/docs/extras/custom-lambda-layers/
64
- <% if agree.yes? -%>
65
- * No need to report this to us, as we've already been notified.
66
- * Usually, missing gems can be built within a few minutes.
67
- * Some gems may take days or even longer.
68
- <% elsif agree.no? -%>
69
- * You have choosen not to report data to serverlessgems so we will not be notified about these missing gems.
70
- * You can edit ~/.jets/agree to change this.
71
- * Reporting gems generally allows Serverless Gems to build the missing gems within a few minutes.
72
- * You can try redeploying again after a few minutes.
73
- * Non-reported gems may take days or even longer to be built.
74
- <% end -%>
75
-
76
- Compiled gems usually take some time to figure out how to build as they each depend on different libraries and packages.
77
- More info: http://rubyonjets.com/docs/serverlessgems/
78
-
79
- EOL
80
- erb = ERB.new(template, trim_mode: '-') # trim mode https://stackoverflow.com/questions/4632879/erb-template-removing-the-trailing-line
51
+ template = <<~EOL
52
+ Your project requires compiled gems that are not currently available. Unavailable pre-compiled gems:
53
+ <% missing_gems.each do |missing_gem|
54
+ available = missing_gem['available'].reject { |v| missing_gem['gem_name'].include?(v) }
55
+ %>
56
+ * Unavailable: <%= missing_gem['gem_name'] -%> Available versions: <%= available.join(' ') %>
57
+ <% end %>
58
+ Your current serverlessgems source: #{gems_source}
59
+
60
+ Jets is unable to build a deployment package that will work on AWS Lambda without the required pre-compiled gems. To remedy this, you can:
61
+
62
+ * Use another gem that does not require compilation.
63
+ * Create your own custom layer with the gem: http://rubyonjets.com/docs/extras/custom-lambda-layers/
64
+ <% if agree.yes? -%>
65
+ * No need to report this to us, as we've already been notified.
66
+ * Usually, missing gems can be built within a few minutes.
67
+ * Some gems may take days or even longer.
68
+ <% elsif agree.no? -%>
69
+ * You have choosen not to report data to serverlessgems so we will not be notified about these missing gems.
70
+ * You can edit ~/.jets/agree to change this.
71
+ * Reporting gems generally allows Serverless Gems to build the missing gems within a few minutes.
72
+ * You can try redeploying again after a few minutes.
73
+ * Non-reported gems may take days or even longer to be built.
74
+ <% end -%>
75
+
76
+ Compiled gems usually take some time to figure out how to build as they each depend on different libraries and packages.
77
+ More info: http://rubyonjets.com/docs/serverlessgems/
78
+
79
+ EOL
80
+ erb = ERB.new(template, trim_mode: "-") # trim mode https://stackoverflow.com/questions/4632879/erb-template-removing-the-trailing-line
81
81
  erb.result(binding)
82
82
  end
83
83
 
@@ -159,7 +159,7 @@ EOL
159
159
  GEM_REGEXP = /-(arm|x)\d+.*-(darwin|linux)/
160
160
  def other_compiled_gems
161
161
  paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*{-darwin,-linux}")
162
- paths.map { |p| File.basename(p).sub(GEM_REGEXP,'') }
162
+ paths.map { |p| File.basename(p).sub(GEM_REGEXP, "") }
163
163
  end
164
164
 
165
165
  def registered_compiled_gems
@@ -167,9 +167,9 @@ EOL
167
167
  registered_gems = registered.all # no version numbers in this list
168
168
 
169
169
  paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*")
170
- project_gems = paths.map { |p| File.basename(p).sub(GEM_REGEXP,'') }
170
+ project_gems = paths.map { |p| File.basename(p).sub(GEM_REGEXP, "") }
171
171
  project_gems.select do |name|
172
- name_only = name.sub(/-\d+\.\d+\.\d+.*/,'')
172
+ name_only = name.sub(/-\d+\.\d+\.\d+.*/, "")
173
173
  registered_gems.include?(name_only)
174
174
  end
175
175
  end
@@ -210,7 +210,7 @@ EOL
210
210
  # Thanks: https://gist.github.com/aelesbao/1414b169a79162b1d795 and
211
211
  # https://stackoverflow.com/questions/5165950/how-do-i-get-a-list-of-gems-that-are-installed-that-have-native-extensions
212
212
  def gemspec_compiled_gems
213
- specs = Gem::Specification.each.select { |spec| spec.extensions.any? }
213
+ specs = Gem::Specification.each.select { |spec| spec.extensions.any? }
214
214
  specs.reject! { |spec| weird_gem?(spec.name) }
215
215
  specs.map(&:full_name)
216
216
  end
@@ -1,11 +1,11 @@
1
1
  class Jets::Gems::Config
2
2
  class Token
3
3
  def key
4
- data['key']
4
+ data["key"]
5
5
  end
6
6
 
7
7
  def data
8
- load_yaml("#{ENV['HOME']}/.jets/config.yml")
8
+ load_yaml("#{ENV["HOME"]}/.jets/config.yml")
9
9
  end
10
10
 
11
11
  # Ensure a Hash is returned
@@ -6,7 +6,7 @@ module Jets::Gems
6
6
  def check(gem_name)
7
7
  api.check_exist(gem_name: gem_name) # data = {"exist": ..., "available"}
8
8
  rescue SocketError, OpenURI::HTTPError, OpenSSL::SSL::SSLError
9
- {"exist" => false, gem_name: gem_name, available: [] }
9
+ {"exist" => false, :gem_name => gem_name, :available => []}
10
10
  end
11
11
  end
12
12
  end
@@ -5,7 +5,7 @@ module Jets::Gems::Extract
5
5
  class NotFound < RuntimeError; end
6
6
 
7
7
  attr_reader :project_root
8
- def initialize(name, options={})
8
+ def initialize(name, options = {})
9
9
  @name = name
10
10
  @options = options
11
11
  ruby_folder = Jets::Gems.ruby_folder
@@ -35,17 +35,17 @@ module Jets::Gems::Extract
35
35
 
36
36
  # Returns the dest path
37
37
  def download_file(url, dest)
38
- if File.exist?(dest) && ENV['SG_FORCE_DOWNLOAD'].blank?
38
+ if File.exist?(dest) && ENV["SG_FORCE_DOWNLOAD"].blank?
39
39
  say "File already downloaded #{dest}"
40
40
  return dest
41
41
  end
42
42
 
43
43
  say "Downloading..."
44
- downloaded = URI.open(url, 'rb') { |read_file| read_file.read }
44
+ downloaded = URI.open(url, "rb") { |read_file| read_file.read }
45
45
 
46
46
  FileUtils.mkdir_p(File.dirname(dest)) # ensure parent folder exists
47
47
 
48
- File.open(dest, 'wb') { |saved_file| saved_file.write(downloaded) }
48
+ File.binwrite(dest, downloaded)
49
49
 
50
50
  dest
51
51
  end
@@ -56,7 +56,7 @@ module Jets::Gems::Extract
56
56
  @@log_level = val
57
57
  end
58
58
 
59
- def say(message, level=:info)
59
+ def say(message, level = :info)
60
60
  enabled = @@log_level == :debug || level == :debug
61
61
  puts(message) if enabled
62
62
  end
@@ -36,7 +36,7 @@ module Jets::Gems::Extract
36
36
  end
37
37
 
38
38
  def gem_name
39
- full_gem_name.gsub(VERSION_PATTERN,'') # folder: byebug
39
+ full_gem_name.gsub(VERSION_PATTERN, "") # folder: byebug
40
40
  end
41
41
 
42
42
  # Downloads and extracts the linux gem into the proper directory.
@@ -53,10 +53,10 @@ module Jets::Gems::Extract
53
53
  begin
54
54
  @retries ||= 0
55
55
  url = gem_url
56
- basename = File.basename(url).gsub(/\?.*/,'') # remove query string info
56
+ basename = File.basename(url).gsub(/\?.*/, "") # remove query string info
57
57
  tarball_dest = download_file(url, download_path(basename))
58
58
  rescue OpenURI::HTTPError => e
59
- url_without_query = url.gsub(/\?.*/,'')
59
+ url_without_query = url.gsub(/\?.*/, "")
60
60
  puts "Error downloading #{url_without_query}"
61
61
  @retries += 1
62
62
  if @retries < 3
@@ -104,10 +104,10 @@ module Jets::Gems::Extract
104
104
  def remove_current_gem
105
105
  say "Removing current #{full_gem_name} gem installation:"
106
106
  gem_dirs = Dir.glob("#{project_root}/**/*").select do |path|
107
- File.directory?(path) &&
108
- path =~ %r{vendor/gems} &&
109
- File.basename(path) == full_gem_name
110
- end
107
+ File.directory?(path) &&
108
+ path =~ %r{vendor/gems} &&
109
+ File.basename(path) == full_gem_name
110
+ end
111
111
  gem_dirs.each do |dir|
112
112
  say " rm -rf #{dir}"
113
113
  FileUtils.rm_rf(dir)
@@ -9,4 +9,4 @@ module Jets::Gems
9
9
  []
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -4,7 +4,7 @@ module Jets::Gems
4
4
  class Report
5
5
  include Jets::Gems::Api::Concern
6
6
 
7
- def initialize(options={})
7
+ def initialize(options = {})
8
8
  @options = options
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
1
  module Jets
2
2
  module Gems
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
5
5
  end
data/lib/jets/gems.rb CHANGED
@@ -10,8 +10,8 @@ require "yaml"
10
10
  module Jets
11
11
  module Gems
12
12
  def ruby_folder
13
- major, minor, _ = RUBY_VERSION.split('.')
14
- [major, minor, '0'].join('.') # 2.5.1 => 2.5.0
13
+ major, minor, _ = RUBY_VERSION.split(".")
14
+ [major, minor, "0"].join(".") # 2.5.1 => 2.5.0
15
15
  end
16
16
 
17
17
  extend self
@@ -1 +1 @@
1
- require "jets/gems"
1
+ require "jets/gems"
@@ -3,22 +3,22 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "jets/gems/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "serverlessgems"
7
- spec.version = Jets::Gems::VERSION
8
- spec.authors = ["Tung Nguyen"]
9
- spec.email = ["tongueroo@gmail.com"]
6
+ spec.name = "serverlessgems"
7
+ spec.version = Jets::Gems::VERSION
8
+ spec.authors = ["Tung Nguyen"]
9
+ spec.email = ["tongueroo@gmail.com"]
10
10
 
11
- spec.summary = "Client Library works with Serverless Gems API for Jets Ruby Serverless Framework"
12
- spec.homepage = "https://github.com/boltops-tools/serverlessgems"
13
- spec.license = "MIT"
11
+ spec.summary = "Client Library works with Serverless Gems API for Jets Ruby Serverless Framework"
12
+ spec.homepage = "https://github.com/boltops-tools/serverlessgems"
13
+ spec.license = "MIT"
14
14
 
15
15
  # Specify which files should be added to the gem when it is released.
16
16
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
17
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
17
+ spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
18
18
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
19
  end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.add_dependency "gems"
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.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-24 00:00:00.000000000 Z
11
+ date: 2024-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gems
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.4.10
149
+ rubygems_version: 3.5.13
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Client Library works with Serverless Gems API for Jets Ruby Serverless Framework