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 +4 -4
- data/.gitignore +2 -43
- data/.rubocop.yml +1 -1
- data/Gemfile.lock +6 -0
- data/README.md +40 -1
- data/lib/ruby_import.rb +11 -5
- data/lib/ruby_import/version.rb +1 -1
- data/ruby-import.gemspec +2 -0
- metadata +29 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f0d212fc1fdb3752b9ddd376b4f4172ba75f47e766e66c738541ddb4d4be45c
|
4
|
+
data.tar.gz: ff788b269370f7124f411580dbfe1f588b153a7610daef84a5b6df2fdf5eebbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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
|
data/.rubocop.yml
CHANGED
@@ -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)
|
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'
|
data/Gemfile.lock
CHANGED
@@ -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
|
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
|
data/lib/ruby_import.rb
CHANGED
@@ -12,11 +12,17 @@ module RubyImport
|
|
12
12
|
@@imported_files = {}
|
13
13
|
|
14
14
|
def import(file)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
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
|
data/lib/ruby_import/version.rb
CHANGED
data/ruby-import.gemspec
CHANGED
@@ -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.
|
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
|