serverlessgems 0.4.0 → 0.4.1

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: 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