ruby-import 0.1.0 → 0.2.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
  SHA256:
3
- metadata.gz: 37b3cf22591b27dc72a2c43117b18136275bdcc9666736a27b8a75ec93c9f5b1
4
- data.tar.gz: 8e5122d4e52296360422cf7bb405e97099a5e75074aaf21961bb1cf5a19600ef
3
+ metadata.gz: 7f0d212fc1fdb3752b9ddd376b4f4172ba75f47e766e66c738541ddb4d4be45c
4
+ data.tar.gz: ff788b269370f7124f411580dbfe1f588b153a7610daef84a5b6df2fdf5eebbe
5
5
  SHA512:
6
- metadata.gz: 4fc60a97c362a142c1d30cb33c240d24adc2b9523a6bbbfbd413e9bfb852d96b00b683bacc1c837fe3271ae1290fe58a189f316b6cf025996b6ec0a5a61000c7
7
- data.tar.gz: b8ef6728ed848a9eb79a490cf5744da4af353543f2a4b1ee729d502205ab37d0baa9c52e10f0688127cf88fbe75310b8f6e592352d86222fc881472c6eb49b0b
6
+ metadata.gz: d57ff18047ada81892b0258be65e42012a3a759d84831eecb2e68006bc452b59bd2d292abda432420c3885a85b492cfd1f18987ab2b4c1b8c8ecb93cc1be36d7
7
+ data.tar.gz: 47be1e79e1707a3f6f91b83e04c610a1abf57c180eac6231a5e5888f0f9c089f1aea654c45054f0412ec73557e111361cca47a625ffbcbc359ad7c5c5b1f5fb1
data/.gitignore CHANGED
@@ -1,61 +1,20 @@
1
1
  .DS_Store
2
2
  .travis/id_rsa
3
- yarn-error.log
4
3
  .vscode
5
4
  .envrc
6
5
  .powenv
7
- .byebug_history
8
- config/chewy.yml
9
- npm-debug.log
10
- .smartgf*
11
6
  node_modules/
12
7
  *.pid
13
8
  *.bak
14
9
  *.swp
15
10
  *.swo
16
11
  *.todo
17
- .buildpath
18
- .project
19
12
  .bundle
20
- profiles/*
21
- .yardoc
22
13
  log/*
23
- /tags
24
14
  tmp/
25
- .sass-cache/
26
- gems.tags
27
15
  coverage
28
- spec/reports
29
- .pt
30
- gems.tags
31
- public/uploads/
32
- db/*.sqlite3
16
+ tags
33
17
  gems.tags
34
- .sass-cache/
35
- config/secrets.yml
36
- .bash_history
37
- .bashrc
38
- .irb-history
39
- .mysql_history
40
- .ssh/
41
- .vim/
42
- .viminfo
43
- .vimrc
44
18
  .idea
45
- .rvmrc
46
19
  *~
47
- config/application.local.yml
48
- solr/data
49
- solr/pids
50
- sunspot-solr.pid
51
- vendor/assets/components
52
- ansible/librarian_roles/*
53
- ansible/tmp/*
54
- /db/www*.sql
55
- /db/*.bz2
56
- vendor/bundle
57
-
58
- /certificates/*
59
- !/certificates/.gitkeep
60
- *.sql.gz
61
- *.sql
20
+ *.gem
@@ -6,7 +6,7 @@ Metrics/LineLength:
6
6
 
7
7
  Style/Copyright:
8
8
  Notice: 'Copyright (\(c\) )?2[0-9]{3} .+'
9
- AutocorrectNotice: "# Copyright (c) 2018 Danil Pismenny <danil@brandymint.ru>\n"
9
+ AutocorrectNotice: "# Copyright (c) 2019 Danil Pismenny <danil@brandymint.ru>\n"
10
10
  Description: 'Include a copyright notice in each file before any code.'
11
11
  Enabled: true
12
12
  VersionAdded: '0.30'
@@ -7,6 +7,7 @@ GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.0)
10
+ byebug (11.0.1)
10
11
  coderay (1.1.2)
11
12
  ffi (1.11.1)
12
13
  formatador (0.2.5)
@@ -47,6 +48,9 @@ GEM
47
48
  pry (0.12.2)
48
49
  coderay (~> 1.1.0)
49
50
  method_source (~> 0.9.0)
51
+ pry-byebug (3.7.0)
52
+ byebug (~> 11.0)
53
+ pry (~> 0.10)
50
54
  rainbow (3.0.0)
51
55
  rake (10.5.0)
52
56
  rb-fsevent (0.10.3)
@@ -75,6 +79,8 @@ DEPENDENCIES
75
79
  guard-minitest (~> 2.4)
76
80
  guard-rubocop (~> 1.3)
77
81
  minitest (~> 5.0)
82
+ pry (~> 0.12.2)
83
+ pry-byebug (~> 3.7.0)
78
84
  rake (~> 10.0)
79
85
  rubocop (~> 0.74.0)
80
86
  ruby-import!
data/README.md CHANGED
@@ -22,13 +22,52 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
+
26
+ ### Import from file
27
+
28
+ You have defined module-package called `./utils.rb` somewhere in `$LOAD_PATH`:
29
+
30
+ ```ruby
31
+ module ModuleNameDoesNotMetter
32
+ def some_imported_method
33
+ return 123
34
+ end
35
+ end
36
+ ```
37
+
38
+ In you application you have to import and use in-module defined methods:
39
+
25
40
  ```ruby
26
41
 
27
- # Import file found in $LOAD_PATH and return a bunch of defined methods
42
+ # Import find module and return a bunch of defined methods
28
43
  Utils = import 'utils'
29
44
 
30
45
  # Invoke imported method
31
46
  Utils.some_imported_method()
47
+ # returns 123
48
+ ```
49
+
50
+ ### Import from module
51
+
52
+ This variant is good to use in autoload support frameworks like Ruby On Rails.
53
+
54
+ ```ruby
55
+ module SomeUtils
56
+ def some_imported_method
57
+ return 123
58
+ end
59
+ end
60
+ ```
61
+
62
+ In you application you have to import and use in-module defined methods:
63
+
64
+ ```ruby
65
+ # Import find module and return a bunch of defined methods
66
+ Utils = import SomeUtils
67
+
68
+ # Invoke imported method
69
+ Utils.some_imported_method()
70
+ # returns 123
32
71
  ```
33
72
 
34
73
  ## Development
@@ -12,11 +12,17 @@ module RubyImport
12
12
  @@imported_files = {}
13
13
 
14
14
  def import(file)
15
- file += '.rb' unless file.end_with? '.rb'
16
- file = prepare_file file
17
- defined_module = @@imported_files[file]
18
- @@imported_files[file] = defined_module = require_module file unless defined_module
19
- Class.new { include const_get defined_module }.new
15
+ if file.is_a? Module
16
+ defined_module = file
17
+ else
18
+ file += '.rb' unless file.end_with? '.rb'
19
+ file = prepare_file file
20
+ defined_module = @@imported_files[file]
21
+ @@imported_files[file] = defined_module = require_module file unless defined_module
22
+
23
+ defined_module = Object.const_get defined_module
24
+ end
25
+ Class.new { include defined_module }.new.freeze
20
26
  end
21
27
 
22
28
  private
@@ -3,5 +3,5 @@
3
3
  # frozen_string_literal: true
4
4
 
5
5
  module RubyImport
6
- VERSION = '0.1.0'
6
+ VERSION = '0.2.0'
7
7
  end
@@ -36,6 +36,8 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'guard-minitest', '~> 2.4'
37
37
  spec.add_development_dependency 'guard-rubocop', '~> 1.3'
38
38
  spec.add_development_dependency 'minitest', '~> 5.0'
39
+ spec.add_development_dependency 'pry', '~> 0.12.2'
40
+ spec.add_development_dependency 'pry-byebug', '~> 3.7.0'
39
41
  spec.add_development_dependency 'rake', '~> 10.0'
40
42
  spec.add_development_dependency 'rubocop', '~> 0.74.0'
41
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danil Pismenny
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '5.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.12.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.12.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-byebug
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 3.7.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 3.7.0
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rake
99
127
  requirement: !ruby/object:Gem::Requirement