iruby-dependencies 2.0.7 → 2.1.0

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
  SHA1:
3
- metadata.gz: e4274c4aefdd1d90d2c8ddfeee0a99ef7413e811
4
- data.tar.gz: a7adaf5be494abed738e9cde6f0b91acd9ff732d
3
+ metadata.gz: 4b76ab22b037f610fc159aac6166d675e654f9fc
4
+ data.tar.gz: f3a1bb3b000f5e7dc8ed7f9cbbf2de3fe4243e2f
5
5
  SHA512:
6
- metadata.gz: 9a7da94af067dc04049d017553325d400b0bd9b3762cfef749910c22f16d9d6170f71b0d3c0e7e63d95a4b7211bc671af49149103028c510af358229f0883a77
7
- data.tar.gz: 42a0da5f6aa2d88770a303266d1ada162471978686370b139d07a160fa2837db0b016e5f1d31865c28f9dcababbdc36e1c48e355e53bb46e9877c0f8ab63fcc5
6
+ metadata.gz: 20a85f396522977a3f7889a62a531839f11ff052fa7d699054d8a1eca67b4c47f8f7ef84adb638afd5f01175f92c0dd80a4e166ddda818acfecccb5c5db704e4
7
+ data.tar.gz: 63063d28dd6f671dd9fd1d144b738e0cb480ddda8d64fcb1ad25e4d5fb59904e7dd4365326f6c8217987151aaca611c394109c40c1fa5dc7baaac714e18a0fe1
data/README.md CHANGED
@@ -23,6 +23,28 @@ $ gem install iruby-dependencies
23
23
 
24
24
  You'll have to restart any IRuby kernels already running.
25
25
 
26
+ ## Configuration
27
+
28
+ `IRuby::Dependencies` reads in configuration from Bundler (see `bundle config`). The following configuration parameters are available:
29
+
30
+ | Key | Description |
31
+ | ------ | ----------- |
32
+ | `dependencies.require` | A colon-separated list of gems to require before running a dependency block. This can be used to load plugins automatically |
33
+ | `dependencies.mypki` | Use MyPKI to pull from a PKI-enabled gem server |
34
+ | `dependencies.config` | The URL to pull a remote iruby-dependencies config as JSON.|
35
+
36
+ Remote configurations are generally used to install gem dependencies. For example:
37
+
38
+ ```json
39
+ {
40
+ 'gsl': [
41
+ ["exec", "yum install gsl"]
42
+ ]
43
+ }
44
+ ```
45
+
46
+ This configuration will install the `gsl` yum package if the user uses `IRuby::Dependencies` to install the `gsl` gem.
47
+
26
48
  ## Usage
27
49
 
28
50
  `IRuby::Dependencies` uses the [Bundler Gemfile syntax](http://bundler.io/v1.5/gemfile.html) with some additional methods:
@@ -8,6 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = IRuby::Dependencies::VERSION
9
9
  spec.authors = ["Kyle King"]
10
10
  spec.email = ["kylejking@gmail.com"]
11
+ spec.license = "MIT"
11
12
 
12
13
  spec.summary = %q{IRuby::Dependencies is a module for injecting Ruby dependencies into Jupyter Notebooks}
13
14
  spec.homepage = "https://github.com/jupyter-gallery/iruby-dependencies"
@@ -17,8 +18,9 @@ Gem::Specification.new do |spec|
17
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
19
  spec.require_paths = ["lib"]
19
20
 
20
- spec.add_dependency "iruby"
21
- spec.add_dependency "multi_json"
22
- spec.add_dependency "bundler", "~> 1.13.0"
21
+ spec.add_dependency "iruby", "~> 0.3"
22
+ spec.add_dependency "multi_json", "~> 1.13"
23
+ spec.add_dependency "bundler", "~> 1.16"
24
+
23
25
  spec.add_development_dependency "rake", "~> 10.0"
24
26
  end
@@ -1,9 +1,4 @@
1
1
  require 'bundler'
2
- require 'iruby/dependencies/dsl'
3
- require 'iruby/dependencies/config'
4
- require 'iruby/dependencies/unload'
5
- require 'iruby/dependencies/shared_helpers'
6
- require 'iruby/dependencies/version'
7
2
 
8
3
  # require 'mypki' if requested so it is an active gem
9
4
  if Bundler.settings['dependencies.mypki']
@@ -11,21 +6,25 @@ if Bundler.settings['dependencies.mypki']
11
6
  require 'erector'
12
7
  end
13
8
 
9
+ if gems = Bundler.settings['dependencies.require']
10
+ gems.split(':').each {|gem| require gem}
11
+ end
12
+
13
+ require 'iruby/dependencies/dsl'
14
+ require 'iruby/dependencies/config'
15
+ require 'iruby/dependencies/shared_helpers'
16
+ require 'iruby/dependencies/version'
17
+
14
18
  module IRuby
15
19
  module Dependencies
16
20
  ACTIVE_GEMS = {}
17
21
 
18
- # activate default gems
19
- %w[bigdecimal io-console json psych rdoc].each {|g| gem g}
20
-
21
22
  # this code is taken from bundler/inline with small changes
22
23
  def self.dependencies verbose: false, &gemfile
23
24
  if ACTIVE_GEMS.empty?
24
25
  ACTIVE_GEMS.merge! Gem.loaded_specs.map{|n,s| [n,s.version.to_s]}.to_h
25
26
  end
26
27
 
27
- Bundler.unload!
28
-
29
28
  Bundler.ui = verbose ? Bundler::UI::Shell.new : nil
30
29
  MyPKI.init if Bundler.settings['dependencies.mypki']
31
30
 
@@ -1,5 +1,5 @@
1
1
  module IRuby
2
2
  module Dependencies
3
- VERSION = "2.0.7"
3
+ VERSION = "2.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iruby-dependencies
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.7
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle King
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-28 00:00:00.000000000 Z
11
+ date: 2018-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: multi_json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1.13'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.13'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.13.0
47
+ version: '1.16'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.13.0
54
+ version: '1.16'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -85,10 +85,10 @@ files:
85
85
  - lib/iruby/dependencies/config.rb
86
86
  - lib/iruby/dependencies/dsl.rb
87
87
  - lib/iruby/dependencies/shared_helpers.rb
88
- - lib/iruby/dependencies/unload.rb
89
88
  - lib/iruby/dependencies/version.rb
90
89
  homepage: https://github.com/jupyter-gallery/iruby-dependencies
91
- licenses: []
90
+ licenses:
91
+ - MIT
92
92
  metadata: {}
93
93
  post_install_message:
94
94
  rdoc_options: []
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
- rubygems_version: 2.6.11
109
+ rubygems_version: 2.6.14
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: IRuby::Dependencies is a module for injecting Ruby dependencies into Jupyter
@@ -1,17 +0,0 @@
1
- # a minor modification of the code from the
2
- # bundler-unload gem
3
- module Bundler
4
- ORIGINAL_SPECS = []
5
-
6
- class << self
7
- def unload!
8
- if ORIGINAL_SPECS.empty?
9
- ORIGINAL_SPECS.concat Gem::Specification._all
10
- end
11
-
12
- @load = @definition = nil
13
- ENV.replace ORIGINAL_ENV
14
- Gem::Specification.all = ORIGINAL_SPECS
15
- end
16
- end
17
- end