iruby-dependencies 2.0.7 → 2.1.0

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