stibium-bundled 0.0.2 → 0.0.3

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: 4535c1eb06c410ecd9acbe69eb8b63f580a6d6ed549f9cb9902d1c31dfe8514f
4
- data.tar.gz: b1c0044292d53365cc0a8f8328f9622ee55a15fae64b5b98fedcb910978c2225
3
+ metadata.gz: 63124b549081f71ec8962a7ce60a2d7309cc8a288123744c378e3a504460328d
4
+ data.tar.gz: 3002be752eca5c11fb5102d1a3db9374c9cd89535507f27f92154a304a13414b
5
5
  SHA512:
6
- metadata.gz: 50530881617d8161a2ade6ccc269a54a0b3a1aa9ed95158eeba0c5b6ee80160037ac7b309d37c9bb8b3e11019dd5f84c8b41a7cae4ee560be93f1aa3848ddb1f
7
- data.tar.gz: 3db4a5036224344e1d9c03a0433075758fbbbe43230b5a4e7fa3260c9c38151c2c9abb53271cb06535f02636836d6560e18f110da56669af44b3ee9f7bf6527c
6
+ metadata.gz: 4503ed903e66d57c352ba2377d127b20485dbf24d761a32571f1775b4c86b864be1142e15ee8ec883909b6fb9b19a18ee204e78ccf13ba0d7eb65b2cfcc9ec91
7
+ data.tar.gz: c8c6f97330f328d35c902b4818a90d68dabf53178fc46e3df1fab2acfd077f9a741ce3d8a82ef3f953cd6fff67c4306e66e68973165f92cad3582ea7dcad5f5b
@@ -0,0 +1,78 @@
1
+ # ``stibium-bundled`` [![Gem Version](https://badge.fury.io/rb/stibium-bundled.svg)][rubygems:stibium-bundled]
2
+
3
+ This gem is intended to mimic Bundler's behavior and conform to [bundler configuration options][bundler:config].
4
+
5
+ ``stibium-bundled`` detects ``gems.rb`` and ``gems.locked``
6
+ (or ``Gemfile`` and ``Gemfile.lock``)
7
+ and [``bundler/setup``][bundler:setup] (for [standalone][man:install#options] installation).
8
+
9
+ ``standalone`` makes a bundle that can work __without depending__ on Bundler (or Rubygems) at runtime. Bundler generates
10
+ a ``bundler/setup.rb`` file to replace Bundler's own setup in the manner required.
11
+
12
+ [Configuration settings][bundler:config] are loaded in this order:
13
+
14
+ 1. Local config (``.bundle/config`` or ``"$BUNDLE_APP_CONFIG/config``)
15
+ 2. Environment variables (``ENV``)
16
+ 3. Global config (``~/.bundle/config``)
17
+ 4. Default config
18
+
19
+ ## Sample of use
20
+
21
+ ```ruby
22
+ # file: lib/awesome_gem.rb
23
+
24
+ require 'stibium/bundled'
25
+
26
+ module AwesomeGem
27
+ include(Stibium::Bundled)
28
+
29
+ self.bundled_from("#{__dir__}/..", setup: true)
30
+ end
31
+ ```
32
+
33
+ or more concise:
34
+
35
+ ```ruby
36
+ # file: lib/awesome_gem.rb
37
+
38
+ require 'stibium/bundled'
39
+
40
+ module AwesomeGem
41
+ include(Stibium::Bundled).bundled_from("#{__dir__}/..", setup: true)
42
+ end
43
+ ```
44
+
45
+ or load a gem depending on status:
46
+
47
+ ```ruby
48
+ # file: lib/awesome_gem.rb
49
+
50
+ require 'stibium/bundled'
51
+
52
+ module AwesomeGem
53
+ include(Stibium::Bundled).bundled_from("#{__dir__}/..", setup: true) do |bundle|
54
+ if Object.const_defined?(:Gem) and bundle.locked? and bundle.installed?
55
+ 'foo-bar'.tap do |gem_name|
56
+ unless bundle.specifications.keep_if { |spec| spec.name == gem_name }.empty?
57
+ require gem_name.gsub('-', '/')
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ ```
64
+
65
+ ## Install
66
+
67
+ ```sh
68
+ bundle config set --local clean 'true'
69
+ bundle config set --local path 'vendor/bundle'
70
+ bundle install --standalone
71
+ ```
72
+
73
+ <!-- hyperlinks -->
74
+
75
+ [rubygems:stibium-bundled]: https://rubygems.org/gems/stibium-bundled
76
+ [bundler:config]: https://bundler.io/v2.2/bundle_config.html
77
+ [bundler:setup]: https://bundler.io/v1.5/bundler_setup.html
78
+ [man:install#options]: https://bundler.io/man/bundle-install.1.html#OPTIONS
@@ -17,69 +17,83 @@ end
17
17
  # ```ruby
18
18
  # # file: lib/awesome_gem.rb
19
19
  # module AwesomeGem
20
- # Stibium::Bundled.call(self, basedir: "#{__dir__}/..")
20
+ # include(Stibium::Bundled)
21
21
  #
22
- # bundled&.tap do |bundle|
23
- # unless bundle.standalone!
24
- # require 'bundler/setup' if bundle.locked?
25
- # end
26
- # end
22
+ # self.bundled_from("#{__dir__}/..", setup: true)
27
23
  # end
28
24
  # ```
29
- #
30
- # or:
31
- #
32
- # ```ruby
33
- # # file: lib/awesome_gem.rb
34
- # module AwesomeGem
35
- # class << self
36
- # include(Stibium::Bundled)
37
- # end
38
- #
39
- # self.bundled_from("#{__dir__}/..") do |bundle|
40
- # unless bundle.standalone!
41
- # require 'bundler/setup' if bundle.locked?
42
- # end
43
- # end
44
- # end
45
25
  module Stibium::Bundled
46
26
  {
47
27
  Bundle: 'bundle',
48
28
  VERSION: 'version',
49
29
  }.each { |k, v| autoload(k, "#{__dir__}/bundled/#{v}") }
50
30
 
51
- # @!method bundled?
52
- # Denote bundle is locked or standalone.
53
- # @return [Boolean]
31
+ class << self
32
+ private
33
+
34
+ # Callback invoked whenever the receiver is included in another module or class.
35
+ #
36
+ # @param [Class, Module] othermod
37
+ #
38
+ # @see https://ruby-doc.org/core-2.5.3/Module.html#method-i-included
39
+ def included(othermod)
40
+ othermod.singleton_class.__send__(:include, self) unless othermod.singleton_class?
41
+ end
42
+ end
43
+
44
+ # Denote bundle is locked or standalone.
45
+ #
46
+ # @return [Boolean]
47
+ #
48
+ # @see .call
49
+ def bundled?
50
+ false
51
+ end
52
+
53
+ # @return [Bundle, nil]
54
+ #
55
+ # @see .call
56
+ def bundled
57
+ nil
58
+ end
54
59
 
55
- # @!method bundled
56
- # @return [Bundle, nil]
60
+ protected
57
61
 
58
- # @param [String, Pathname] basedir
62
+ # @param basedir [String, Pathname]
63
+ # @param setup [Boolean, Array<Symbol>]
64
+ # @param env [Hash{String => String}]
65
+ # @param ruby_config [Hash{Symbol => Object}]
59
66
  #
60
67
  # @return [Bundle. nil]
61
- def bundled_from(basedir)
62
- Stibium::Bundled
63
- .call(self, basedir: basedir)
64
- .bundled
65
- .tap { |bundle| yield(bundle) if block_given? and bundle }
68
+ #
69
+ # @see Stibium::Bundled::Bundle#setup
70
+ def bundled_from(basedir, setup: false, env: ENV.to_h, ruby_config: {})
71
+ # @type [Stibium::Bundled::Bundle] bundle
72
+ Stibium::Bundled.call(self, basedir: basedir, env: env, ruby_config: ruby_config).bundled.tap do |bundle|
73
+ unless bundle.nil?
74
+ bundle.__send__(:setup, **(setup.is_a?(Array) ? { guards: setup } : {})) if setup
75
+
76
+ yield(bundle) if block_given?
77
+ end
78
+ end
66
79
  end
67
80
 
68
81
  class << self
69
82
  # @param target [Class, Module]
70
83
  # @param basedir [String, Pathname]
84
+ # @param env [Hash{String => String}]
85
+ # @param ruby_config [Hash{Symbol => Object}]
71
86
  #
72
- # @return [Class, Module]
73
- def call(target, basedir:)
87
+ # @return [Class, Module] given ``Class`` or ``Module``
88
+ def call(target, basedir:, env: ENV.to_h, ruby_config: {})
74
89
  target.tap do |t|
75
90
  t.singleton_class.tap do |sc|
76
91
  sc.singleton_class.__send__(:include, self)
77
- sc.define_method(:bundled?) { !bundled?.nil? }
92
+ sc.define_method(:bundled?) { !bundled.nil? }
78
93
  sc.define_method(:bundled) do
79
94
  # @type [Bundle] bundle
80
- # rubocop:disable Style/TernaryParentheses
81
- Bundle.new(basedir).yield_self { |bundle| (bundle.locked? or bundle.standalone?) ? bundle : nil }
82
- # rubocop:enable Style/TernaryParentheses
95
+ Bundle.new(basedir, env: env, ruby_config: ruby_config)
96
+ .yield_self { |bundle| bundle.bundled? ? bundle : nil }
83
97
  end
84
98
  end
85
99
  end
@@ -11,19 +11,39 @@ require_relative '../bundled'
11
11
  # Describe a bundle.
12
12
  class Stibium::Bundled::Bundle
13
13
  autoload(:Pathname, 'pathname')
14
+ autoload(:Gem, 'rubygems') # @see .specifications
15
+
16
+ {
17
+ Config: 'config',
18
+ Directory: 'directory',
19
+ }.each { |k, v| autoload(k, "#{__dir__}/bundle/#{v}") }
14
20
 
15
21
  # @return [Pathname]
16
22
  attr_reader :path
17
23
 
24
+ # @return [Config]
25
+ attr_reader :config
26
+
27
+ # @return [Directory]
28
+ attr_reader :directory
29
+
18
30
  # @param path [String, Pathname]
31
+ # @param env [Hash{String => String}]
32
+ # @param ruby_config [Hash{Symbol => Object}]
19
33
  #
20
34
  # @raise [Errno::ENOENT]
21
35
  # @raise [ArgumentError] when given ``path`` is not a directory.
22
- def initialize(path)
36
+ def initialize(path, env: ENV.to_h, ruby_config: {})
23
37
  self.tap do
24
- @path = Pathname.new(path).realpath.freeze
38
+ (@path = Pathname.new(path).realpath.freeze).tap do |base_path|
39
+ raise ArgumentError, 'path is not a directory' unless base_path.directory?
40
+ end
25
41
 
26
- raise ArgumentError, 'path is not a directory' unless self.path.directory?
42
+ (@config = Config.new(self.path, env: env).freeze).tap do |config|
43
+ Pathname.new(config.fetch('BUNDLE_PATH')).expand_path.tap do |directory_path|
44
+ @directory = Directory.new(directory_path, ruby_config: ruby_config)
45
+ end
46
+ end
27
47
  end.freeze
28
48
  end
29
49
 
@@ -41,6 +61,29 @@ class Stibium::Bundled::Bundle
41
61
  !!gemfiles&.fetch(1, nil)
42
62
  end
43
63
 
64
+ # Get specifications.
65
+ #
66
+ # @see https://docs.ruby-lang.org/en/3.0.0/Gem/Specification.html
67
+ #
68
+ # @return [Array<Gem::Specification>]
69
+ def specifications
70
+ directory.specifications.map { |file| instance_eval(file.read, file.to_path) }
71
+ end
72
+
73
+ # Denote install seems to be happened (since specifications are present).
74
+ #
75
+ # @return [Boolean]
76
+ def installed?
77
+ !directory.specifications.empty?
78
+ end
79
+
80
+ # Denote bundle seems installed by bundler.
81
+ #
82
+ # @return [Boolean]
83
+ def bundled?
84
+ locked? or standalone?
85
+ end
86
+
44
87
  # Get path to gemfile.
45
88
  #
46
89
  # @see #gemfiles
@@ -67,23 +110,68 @@ class Stibium::Bundled::Bundle
67
110
  #
68
111
  # @return [Boolean]
69
112
  def standalone?
70
- standalone_setupfile.file?
113
+ !!bundler_setup
71
114
  end
72
115
 
73
- # Load standalone setup if present
116
+ protected
117
+
118
+ # Load standalone setup if present.
74
119
  #
75
- # @return [Boolean]
76
- def standalone!
77
- # noinspection RubyResolve
78
- standalone?.tap { |b| require standalone_setupfile if b }
120
+ # @return [self]
121
+ #
122
+ # @raise [Errno::ENOENT]
123
+ def standalone!(&fallback)
124
+ self.tap do
125
+ # noinspection RubyResolve
126
+ bundler_setup.tap { |fp| require(fp.realpath) unless fp.nil? }
127
+ rescue Errno::ENOENT => e
128
+ fallback ? fallback.call(self) : raise(e)
129
+ end
79
130
  end
80
131
 
81
- protected
132
+ # Load standalone setup if present, else fallback to <code>bundler/setup</code>.
133
+ #
134
+ # Load Bundler's setup (<code>bundler/setup</code>) when all guards are ``true``,
135
+ # as a result, default behavior, is to load <code>bundler/setup</code>
136
+ # only when locked and installed.
137
+ #
138
+ # @param guards [Array<Symbol>]
139
+ #
140
+ # @return [self]
141
+ #
142
+ # @raise [LoadError] when <code>bundle/setup</code> is loaded and bundler is not present.
143
+ #
144
+ # @see https://bundler.io/v1.5/bundler_setup.html
145
+ # @see https://github.com/ruby/ruby/blob/0e40cc9b194a5e46024d32b85a61e651372a65cb/lib/bundler.rb#L139
146
+ # @see https://github.com/ruby/ruby/blob/0e40cc9b194a5e46024d32b85a61e651372a65cb/lib/bundler/setup.rb
147
+ # @see https://github.com/ruby/ruby/blob/69ed64949b0c02d4b195809fa104ff23dd100093/lib/bundler.rb#L11
148
+ # @see https://github.com/ruby/ruby/blob/69ed64949b0c02d4b195809fa104ff23dd100093/lib/bundler/rubygems_integration.rb
149
+ def setup(guards: [:locked, :installed])
150
+ self.standalone! do
151
+ guards.map { |s| self.public_send('%s?' % s.to_s.gsub(/\?$/, '')) }.tap do |results|
152
+ require 'bundler/setup' if results.uniq == [true]
153
+ end
154
+ end.yield_self { self }
155
+ end
82
156
 
157
+ # Standalone setup file.
158
+ #
159
+ # ``bundle install --standalone[=<list>]`` makes a bundle that can work without depending on
160
+ # Rubygems or Bundler at runtime.
161
+ # A space separated list of groups to install has to be specified.
162
+ # Bundler creates a directory named ``bundle`` and installs the bundle there.
163
+ # It also generates a ``bundle/bundler/setup.rb`` file to replace Bundler's own setup in the manner required.
164
+ #
83
165
  # @see #standalone?
166
+ # @see #standalone!
167
+ # @see https://bundler.io/v2.2/man/bundle-install.1.html#OPTIONS
84
168
  #
85
- # @return [Pathname]
86
- def standalone_setupfile
87
- path.join('bundle', 'bundler', 'setup.rb')
169
+ # @return [Pathname, nil]
170
+ def bundler_setup
171
+ Pathname.new(config.fetch('BUNDLE_PATH')).yield_self do |bundle_path|
172
+ (bundle_path.absolute? ? bundle_path : path.join(bundle_path)).join('bundler/setup.rb').yield_self do |file|
173
+ (file.file? and file.readable?) ? file : nil # rubocop:disable Style/TernaryParentheses
174
+ end
175
+ end
88
176
  end
89
177
  end
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (C) 2020-2021 Dimitri Arrigoni <dimitri@arrigoni.me>
4
+ # License GPLv3+: GNU GPL version 3 or later
5
+ # <http://www.gnu.org/licenses/gpl.html>.
6
+ # This is free software: you are free to change and redistribute it.
7
+ # There is NO WARRANTY, to the extent permitted by law.
8
+
9
+ require_relative '../bundle'
10
+
11
+ # Describe bundler configuration settings.
12
+ #
13
+ # Bundler loads configuration settings in this order:
14
+ #
15
+ # 1. Local config (``.bundle/config`` or ``$BUNDLE_APP_CONFIG/config``)
16
+ # 2. Environment variables (``ENV``)
17
+ # 3. Global config (``~/.bundle/config``)
18
+ # 4. Bundler default config - PARTIAL support is implemented in ``Config.defaults``
19
+ #
20
+ # @note Executing bundle with the ``BUNDLE_IGNORE_CONFIG`` environment set will cause it to ignore all configuration.
21
+ #
22
+ # @see https://bundler.io/v2.2/bundle_config.html
23
+ # @see https://evilmartians.com/chronicles/ruby-on-whales-docker-for-ruby-rails-development
24
+ # @see .load
25
+ # @see .read
26
+ # @see .env
27
+ # @see .defaults
28
+ class Stibium::Bundled::Bundle::Config < ::Hash
29
+ autoload(:Pathname, 'pathname')
30
+
31
+ # @param basedir [String, Pathname]
32
+ # @param env [Hash{String => String}]
33
+ def initialize(basedir, env: ENV.to_h)
34
+ super().tap do
35
+ @basedir = Pathname.new(basedir).freeze
36
+ @env = self.class.__send__(:env, source: env).freeze
37
+
38
+ self.class.__send__(:call, self.resolve_file, env: env).each { |k, v| self[k.freeze] = v.freeze }
39
+ end.freeze
40
+ end
41
+
42
+ # @return [Hash{String => Object}]
43
+ attr_reader :env
44
+
45
+ # @return [Pathname]
46
+ attr_reader :basedir
47
+
48
+ protected
49
+
50
+ # Resolve path to local config (depending on ``BUNDLE_APP_CONFIG`` value).
51
+ #
52
+ # @return [Pathname]
53
+ def resolve_file
54
+ begin
55
+ 'BUNDLE_APP_CONFIG'.yield_self do |k|
56
+ self.env.fetch(k) { self.class.defaults.fetch(k) }
57
+ end
58
+ end.yield_self do |s|
59
+ Pathname.new(s)
60
+ end.yield_self do |path|
61
+ (path.absolute? ? path : basedir.join(path)).join('config')
62
+ end
63
+ end
64
+
65
+ class << self
66
+ autoload(:Pathname, 'pathname')
67
+ autoload(:YAML, 'yaml')
68
+
69
+ # Default config values (as seen from an empty environment).
70
+ #
71
+ # ```shell
72
+ # rm -rfv ~/.bundle/config .bundle/config
73
+ # env -i $(which bundle) install --standalone
74
+ # cat .bundle/config
75
+ # ```
76
+ #
77
+ # @see Stibium::Bundled::Bundle#bundler_setup
78
+ def defaults
79
+ {
80
+ 'BUNDLE_APP_CONFIG' => '.bundle',
81
+ 'BUNDLE_PATH' => 'bundle',
82
+ }
83
+ end
84
+
85
+ protected
86
+
87
+ # Load config.
88
+ #
89
+ # @param file [Pathname]
90
+ # @param env [Hash{String => String}]
91
+ #
92
+ # @api private
93
+ # @see https://bundler.io/v2.2/bundle_config.html
94
+ #
95
+ # @return [Hash{String => Object}]
96
+ def call(file, env: ENV.to_h)
97
+ # @formatter:off
98
+ self.defaults # 4. Bundler default config
99
+ .merge(self.global_config(env: env)) # 3. Global config
100
+ .merge(self.env(source: env)) # 2. Environmental variables
101
+ .merge(self.read(file, env: env)) # 1. Local config
102
+ .sort.map { |k, v| [k.freeze, v.freeze] }.to_h.freeze
103
+ # @formatter:on
104
+ end
105
+
106
+ # Get global config.
107
+ #
108
+ # @api private
109
+ #
110
+ # @param env [Hash{String => String}]
111
+ #
112
+ # @return [Hash{String => Object}]
113
+ def global_config(env: ENV.to_h)
114
+ env['HOME'].yield_self do |home_path|
115
+ return {} if home_path.nil?
116
+
117
+ Pathname.new(home_path).expand_path.join('.bundle/config').yield_self do |file|
118
+ self.read(file, env: env)
119
+ end
120
+ end
121
+ end
122
+
123
+ # Get bundler related environment variables (``/^BUNDLE_.+/``)
124
+ #
125
+ # @param source [Hash{String => String}]
126
+ #
127
+ # @api private
128
+ #
129
+ # @return [Hash{String => Object}]
130
+ def env(source: ENV.to_h)
131
+ source.dup.keep_if { |k, _| /^BUNDLE_.+/ =~ k }
132
+ .transform_keys(&:freeze)
133
+ .transform_values { |v| (v.is_a?(String) ? YAML.safe_load(v) : v).freeze }
134
+ .sort.to_h
135
+ end
136
+
137
+ # Read given config file.
138
+ #
139
+ # @api private
140
+ #
141
+ # @param file [Pathname]
142
+ # @param env [Hash{String => String}]
143
+ #
144
+ # @return [Hash{String => Object}]
145
+ def read(file, env: ENV.to_h)
146
+ return {} if env(source: env).key?('BUNDLE_IGNORE_CONFIG')
147
+
148
+ return {} unless file.file? and file.readable?
149
+
150
+ (file.read.yield_self { |content| YAML.safe_load(content) })
151
+ .transform_values { |v| v.is_a?(String) ? YAML.safe_load(v) : v }
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (C) 2020-2021 Dimitri Arrigoni <dimitri@arrigoni.me>
4
+ # License GPLv3+: GNU GPL version 3 or later
5
+ # <http://www.gnu.org/licenses/gpl.html>.
6
+ # This is free software: you are free to change and redistribute it.
7
+ # There is NO WARRANTY, to the extent permitted by law.
8
+
9
+ require_relative '../bundle'
10
+
11
+ # Describe vendor directory.
12
+ class Stibium::Bundled::Bundle::Directory
13
+ autoload(:RbConfig, 'rbconfig')
14
+ autoload(:Pathname, 'pathname')
15
+
16
+ # @return [Pathname]
17
+ attr_reader :path
18
+
19
+ # @param path [String, Pathname]
20
+ # @param ruby_config [Hash{Symbol => Object}]
21
+ def initialize(path, ruby_config: {})
22
+ @path = Pathname.new(path).expand_path.freeze
23
+ @ruby_config = {
24
+ engine: RUBY_ENGINE,
25
+ version: RbConfig::CONFIG['ruby_version'],
26
+ }.merge(ruby_config.to_h)
27
+ end
28
+
29
+ # @return [String]
30
+ def to_path
31
+ path.to_path
32
+ end
33
+
34
+ alias to_s to_path
35
+
36
+ # @return [Array<Pathname>]
37
+ def specifications
38
+ [ruby_config.fetch(:engine), ruby_config.fetch(:version), 'specifications', '*.gemspec'].yield_self do |parts|
39
+ self.path.join(*parts).yield_self do |s|
40
+ Dir.glob(s).sort.map { |fp| Pathname.new(fp) }.keep_if(&:file?)
41
+ end
42
+ end
43
+ end
44
+
45
+ protected
46
+
47
+ # @return [Hash{Symbol => Object}]
48
+ attr_reader :ruby_config
49
+ end
@@ -9,9 +9,6 @@
9
9
  require_relative '../bundled'
10
10
  require 'kamaze/version'
11
11
 
12
- module Stibium::Bundled
13
- # Version
14
- #
15
- # @type [Kamaze::Version]
16
- VERSION = Kamaze::Version.new.freeze
12
+ Stibium::Bundled.instance_eval do
13
+ self.const_set(:VERSION, Kamaze::Version.new.freeze)
17
14
  end
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  major: 0
3
3
  minor: 0
4
- patch: 2
4
+ patch: 3
5
5
  authors: ['Dimitri Arrigoni']
6
6
  email: 'dimitri@arrigoni.me'
7
- date: '2021-01-11'
7
+ date: '2021-01-22'
8
8
  summary: 'Denote bundle state'
9
9
  description: 'Denote bundle state, based on conventions.'
10
10
  homepage: 'https://github.com/SwagDevOps/stibium-bundled'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stibium-bundled
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Arrigoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-11 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kamaze-version
@@ -31,9 +31,12 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - ".yardopts"
34
+ - README.md
34
35
  - lib/stibium-bundled.rb
35
36
  - lib/stibium/bundled.rb
36
37
  - lib/stibium/bundled/bundle.rb
38
+ - lib/stibium/bundled/bundle/config.rb
39
+ - lib/stibium/bundled/bundle/directory.rb
37
40
  - lib/stibium/bundled/version.rb
38
41
  - lib/stibium/bundled/version.yml
39
42
  homepage: https://github.com/SwagDevOps/stibium-bundled