tmp 1.3.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -3
- data/README.md +133 -26
- data/VERSION +1 -1
- data/examples/blocks.rb +31 -0
- data/examples/config_exmpl.rb +15 -1
- data/examples/instance.rb +15 -5
- data/examples/sugar_use.rb +22 -0
- data/examples/test.rb +1 -18
- data/lib/tmp.rb +2 -1
- data/lib/tmp/core.rb +19 -1
- data/lib/tmp/dsl.rb +43 -5
- data/lib/tmp/init.rb +14 -4
- data/lib/tmp/sup.rb +92 -0
- data/tmp.gemspec +2 -4
- metadata +14 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b631c6e7a79b483feccd10c0e15f5caaf7bea6c4
|
4
|
+
data.tar.gz: 65b2540c73ab7ff7cd95a99a1a0c582a7ccba7b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4ffef273b67015028956c76226467e25316b82480491c97f4ca1a500458dc9bd0c46493f5e0ec179a3f82e0d6a488a59e2dc3c120b4838f28faff3a0e111fd2
|
7
|
+
data.tar.gz: 7d66305aefb0bee6deb2d0337459bddb910bf11285eed5880e5ec092454c6340499399a6c35f2da7eca5120031dade04f3d68786da0e7a57e24ec3fc0f485a9d
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,30 +1,42 @@
|
|
1
|
-
|
1
|
+
TMP
|
2
2
|
===
|
3
3
|
|
4
|
-
Ruby DSL for
|
5
|
-
tmp
|
6
|
-
Sometimes usefull for forked processes.
|
4
|
+
Ruby DSL for temporally files read/write in the object oriented way (system tmp).
|
5
|
+
Manage tmp files in the super easy way!
|
7
6
|
|
8
|
-
|
9
|
-
|
7
|
+
This dsl let you have simply way to commands and create variables on file system,
|
8
|
+
by default in the actual systems (cross platform) tmp folder.
|
9
|
+
|
10
|
+
Sometimes it can be useful for multi processing (forked processes),
|
11
|
+
but the main goal is not made for shared memory management!
|
12
|
+
The goal is to provide dsl for easy tmp files making on the filesystem in the object oriented way
|
13
|
+
(real objects and not simply strings)
|
14
|
+
|
15
|
+
By default i's always IO work and not memory,
|
16
|
+
everything you save with this will be IO command and not memory management
|
10
17
|
|
11
18
|
|
12
19
|
### Example
|
13
20
|
|
21
|
+
In the Examples i will use most likely the 'tmp' name, what is a syntax sugar
|
22
|
+
The real object(module) being called all the time is the TMP::DSL
|
23
|
+
The DSL will make easy the job on you but you can use the default methods alike:
|
24
|
+
|
25
|
+
* TMP.write( file_name, object )
|
26
|
+
* TMP.read( file_name ) #> object
|
27
|
+
|
14
28
|
```ruby
|
15
|
-
require 'tmp'
|
16
29
|
|
17
|
-
|
18
|
-
puts TMP.read(:test)
|
30
|
+
require 'tmp'
|
19
31
|
|
20
|
-
# or you can use syntax sugar!
|
21
32
|
tmp.hello = { hello: 'world'}
|
22
33
|
|
23
34
|
# defined variable
|
24
|
-
|
35
|
+
tmp.hello #> { hello: 'world'}
|
25
36
|
|
26
37
|
# undefined variable
|
27
|
-
|
38
|
+
tmp.sup #> nil
|
39
|
+
|
28
40
|
```
|
29
41
|
|
30
42
|
### Config
|
@@ -32,14 +44,19 @@ The main goal is to provide dsl for easy tmp files making on the filesystem
|
|
32
44
|
you can config the folder path for custom tmp folder use case if you dont want to use the systems default tmp folder/ your app space
|
33
45
|
|
34
46
|
```ruby
|
47
|
+
|
35
48
|
require 'tmp'
|
36
49
|
|
37
|
-
|
50
|
+
# set folder path if we dont want to use
|
51
|
+
# the default system_tmp/our_project_folder_name/
|
52
|
+
TMP.folder_path "/super/awesome/path/to/my/wished/folder"
|
53
|
+
|
54
|
+
# to check what is the default folder path just use this
|
55
|
+
TMP.default_folder_path #> return default path
|
56
|
+
|
57
|
+
# to check the current path use this
|
58
|
+
TMP.folder_path #> return the current path
|
38
59
|
|
39
|
-
# or you can use syntax sugar!
|
40
|
-
tmp.hello = { hello: 'world'}
|
41
|
-
# defined variable
|
42
|
-
puts tmp.hello #> { hello: 'world'}
|
43
60
|
```
|
44
61
|
|
45
62
|
### Remove tmp objects
|
@@ -47,20 +64,22 @@ you can config the folder path for custom tmp folder use case if you dont want t
|
|
47
64
|
you can remove tmp objects by purge them
|
48
65
|
|
49
66
|
```ruby
|
67
|
+
|
50
68
|
require 'tmp'
|
51
69
|
|
52
70
|
tmp.hello = { hello: 'world'}
|
53
71
|
|
54
72
|
# now it's set
|
55
|
-
|
73
|
+
tmp.hello #> { hello: 'world'} -> hash obj
|
56
74
|
|
57
75
|
TMP.purge!
|
58
76
|
|
59
77
|
# now it's nil
|
60
|
-
|
78
|
+
tmp.hello #> nil
|
79
|
+
|
61
80
|
```
|
62
81
|
|
63
|
-
### Instance use case
|
82
|
+
### Instance use case for modules or separated tmp folders
|
64
83
|
|
65
84
|
if you want use as an instance for example for your very own module, than you can do this
|
66
85
|
|
@@ -68,21 +87,109 @@ if you want use as an instance for example for your very own module, than you ca
|
|
68
87
|
|
69
88
|
require 'tmp'
|
70
89
|
|
90
|
+
|
71
91
|
tmp_instance= TMP.new( File.expand_path(File.join(File.dirname(__FILE__),'tmp_folder')) )
|
72
92
|
|
93
|
+
# use the same as the TMP::DSL aka tmp method
|
94
|
+
|
95
|
+
# let's set a string for this one
|
73
96
|
tmp_instance.test= "hello"
|
74
97
|
|
75
|
-
# get the
|
76
|
-
|
98
|
+
# get the string what we just set now
|
99
|
+
tmp_instance.test #> "hello"
|
100
|
+
|
101
|
+
# you can get the tmp class instance obj like this:
|
102
|
+
tmp_instance.tmp_class_instance_object #> return the tmp_instance
|
103
|
+
|
104
|
+
# return the tmp folder path
|
105
|
+
tmp_instance.tmp_class_instance_object.folder_path
|
106
|
+
|
107
|
+
# Remember this instance use different folder thant the main TMP::DSL
|
108
|
+
tmp.test.inspect #> nil, because it was never used before
|
109
|
+
#> the tmp method is same like invoke the TMP::DSL module
|
110
|
+
|
111
|
+
|
112
|
+
```
|
113
|
+
|
114
|
+
### Blocks for file commands
|
115
|
+
|
116
|
+
using blocks is nothing like cupcake in Ruby, and just alike in this dsl
|
117
|
+
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
|
121
|
+
require 'tmp'
|
122
|
+
|
123
|
+
# using blocks is simply as this
|
124
|
+
tmp.some_file_name do |file|
|
125
|
+
file.write Random.rand(100...1000)
|
126
|
+
end
|
127
|
+
|
128
|
+
# reopen the new file is also simple
|
129
|
+
tmp.some_file_name do |file|
|
130
|
+
|
131
|
+
while line = file.gets
|
132
|
+
puts line
|
133
|
+
end
|
134
|
+
|
135
|
+
file.write Random.rand(100...1000)
|
136
|
+
|
137
|
+
end
|
138
|
+
|
139
|
+
# you can set the file mod if you like, by default it's based on file e
|
140
|
+
tmp.some_file_name "w+" do |file|
|
141
|
+
|
142
|
+
while line = file.gets
|
143
|
+
puts line
|
144
|
+
end
|
145
|
+
# totaly nothing writed out to console because the "w+"
|
146
|
+
|
147
|
+
file.write "hello world!"
|
148
|
+
|
149
|
+
end
|
150
|
+
|
151
|
+
puts tmp.some_file_name #> it's a string from the file we made
|
152
|
+
|
153
|
+
```
|
154
|
+
|
155
|
+
### File mod cheat sheet
|
156
|
+
|
157
|
+
```ruby
|
77
158
|
|
78
|
-
#
|
79
|
-
|
80
|
-
|
159
|
+
#
|
160
|
+
# Mode | Meaning
|
161
|
+
# -----+--------------------------------------------------------
|
162
|
+
# "r" | Read-only, starts at beginning of file (default mode).
|
163
|
+
# -----+--------------------------------------------------------
|
164
|
+
# "r+" | Read-write, starts at beginning of file.
|
165
|
+
# -----+--------------------------------------------------------
|
166
|
+
# "w" | Write-only, truncates existing file
|
167
|
+
# | to zero length or creates a new file for writing.
|
168
|
+
# -----+--------------------------------------------------------
|
169
|
+
# "w+" | Read-write, truncates existing file to zero length
|
170
|
+
# | or creates a new file for reading and writing.
|
171
|
+
# -----+--------------------------------------------------------
|
172
|
+
# "a" | Write-only, starts at end of file if file exists,
|
173
|
+
# | otherwise creates a new file for writing.
|
174
|
+
# -----+--------------------------------------------------------
|
175
|
+
# "a+" | Read-write, starts at end of file if file exists,
|
176
|
+
# | otherwise creates a new file for reading and
|
177
|
+
# | writing.
|
178
|
+
# -----+--------------------------------------------------------
|
179
|
+
# "b" | Binary file mode (may appear with
|
180
|
+
# | any of the key letters listed above).
|
181
|
+
# | Suppresses EOL <-> CRLF conversion on Windows. And
|
182
|
+
# | sets external encoding to ASCII-8BIT unless explicitly
|
183
|
+
# | specified.
|
184
|
+
# -----+--------------------------------------------------------
|
185
|
+
# "t" | Text file mode (may appear with
|
186
|
+
# | any of the key letters listed above except "b").
|
187
|
+
#
|
81
188
|
|
82
189
|
```
|
83
190
|
|
84
191
|
### TODO
|
85
192
|
|
86
|
-
* make ssl encryption for the tmp files
|
193
|
+
* make ssl encryption or chmod persm change for the tmp files protection as options
|
87
194
|
* implement more awesome trick
|
88
195
|
* find contributors
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
data/examples/blocks.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'tmp'
|
2
|
+
|
3
|
+
# using blocks is simply as this
|
4
|
+
tmp.some_file_name do |file|
|
5
|
+
file.write Random.rand(100...1000)
|
6
|
+
end
|
7
|
+
|
8
|
+
# reopen the new file is also simple
|
9
|
+
tmp.some_file_name do |file|
|
10
|
+
|
11
|
+
while line = file.gets
|
12
|
+
puts line
|
13
|
+
end
|
14
|
+
|
15
|
+
file.write Random.rand(100...1000)
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
# you can set the file mod if you like, by default it's based on file e
|
20
|
+
tmp.some_file_name "w+" do |file|
|
21
|
+
|
22
|
+
while line = file.gets
|
23
|
+
puts line
|
24
|
+
end
|
25
|
+
# totaly nothing writed out to console because the "w+"
|
26
|
+
|
27
|
+
file.write "hello world!"
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
puts tmp.some_file_name #> it's a string from the file we made
|
data/examples/config_exmpl.rb
CHANGED
@@ -1,9 +1,23 @@
|
|
1
1
|
require 'tmp'
|
2
2
|
|
3
|
-
TMP
|
3
|
+
TMP.folder_path File.expand_path(File.join(File.dirname(__FILE__),'tmp_folder'))
|
4
|
+
|
5
|
+
# except the default folder path, everything is opt able
|
6
|
+
puts "","default tmp folder:",
|
7
|
+
TMP.default_folder_path,"",
|
8
|
+
|
9
|
+
"new tmp folder for use:",
|
10
|
+
TMP.folder_path,"",
|
11
|
+
|
12
|
+
"the project name what is used:",
|
13
|
+
TMP.project_name,""
|
14
|
+
|
15
|
+
# you can trigger the tmp folder generating by the following
|
16
|
+
TMP.folder_init #> || tmp_folder_init
|
4
17
|
|
5
18
|
# or you can use syntax sugar!
|
6
19
|
tmp.hello = { hello: 'world'}
|
20
|
+
|
7
21
|
# defined variable
|
8
22
|
puts tmp.hello #> { hello: 'world'}
|
9
23
|
|
data/examples/instance.rb
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
require 'tmp'
|
2
2
|
|
3
|
+
|
3
4
|
tmp_instance= TMP.new( File.expand_path(File.join(File.dirname(__FILE__),'tmp_folder')) )
|
4
5
|
|
6
|
+
# use the same as the TMP::DSL aka tmp method
|
7
|
+
|
8
|
+
# let's set a string for this one
|
5
9
|
tmp_instance.test= "hello"
|
6
10
|
|
7
|
-
# get the
|
8
|
-
|
11
|
+
# get the string what we just set now
|
12
|
+
tmp_instance.test #> "hello"
|
13
|
+
|
14
|
+
# you can get the tmp class instance obj like this:
|
15
|
+
tmp_instance.tmp_class_instance_object #> return the tmp_instance
|
16
|
+
|
17
|
+
# return the tmp folder path
|
18
|
+
tmp_instance.tmp_class_instance_object.folder_path
|
9
19
|
|
10
|
-
#
|
11
|
-
|
12
|
-
|
20
|
+
# Remember this instance use different folder thant the main TMP::DSL
|
21
|
+
tmp.test.inspect #> nil, because it was never used before
|
22
|
+
#> the tmp method is same like invoke the TMP::DSL module
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'tmp'
|
2
|
+
|
3
|
+
TMP.write :test2, {hello: 'world'}
|
4
|
+
puts TMP.read(:test2)
|
5
|
+
|
6
|
+
#or you can use syntax sugar!
|
7
|
+
tmp.hello= { hello: 'world'}
|
8
|
+
|
9
|
+
tmp.hello do |hello|
|
10
|
+
puts 'world'
|
11
|
+
end
|
12
|
+
|
13
|
+
# defined variable
|
14
|
+
puts tmp.hello #> { hello: 'world'}
|
15
|
+
|
16
|
+
# undefined variable
|
17
|
+
puts tmp.sup #> nil
|
18
|
+
|
19
|
+
TMP.purge!
|
20
|
+
|
21
|
+
# call after tmp is purged
|
22
|
+
puts tmp.hello #> nil
|
data/examples/test.rb
CHANGED
@@ -1,18 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
TMP.write :test, {hello: 'world'}
|
4
|
-
puts TMP.read(:test)
|
5
|
-
|
6
|
-
# or you can use syntax sugar!
|
7
|
-
tmp.hello = { hello: 'world'}
|
8
|
-
|
9
|
-
# defined variable
|
10
|
-
puts tmp.hello #> { hello: 'world'}
|
11
|
-
|
12
|
-
# undefined variable
|
13
|
-
puts tmp.sup #> nil
|
14
|
-
|
15
|
-
TMP.purge!
|
16
|
-
|
17
|
-
# call after tmp is purged
|
18
|
-
puts tmp.hello #> nil
|
1
|
+
# all set! :)
|
data/lib/tmp.rb
CHANGED
data/lib/tmp/core.rb
CHANGED
@@ -3,8 +3,24 @@ module TMP
|
|
3
3
|
|
4
4
|
module CORE
|
5
5
|
|
6
|
+
def project_name name_string= nil
|
7
|
+
|
8
|
+
unless name_string.nil?
|
9
|
+
|
10
|
+
unless name_string.class <= String
|
11
|
+
raise ArgumentError,"invalid name string"
|
12
|
+
end
|
13
|
+
|
14
|
+
@project_name = name_string
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
@project_name || Dir.pwd.split(File::Separator).last.to_s
|
19
|
+
|
20
|
+
end
|
21
|
+
|
6
22
|
def default_folder_path
|
7
|
-
File.join( Dir.tmpdir,
|
23
|
+
File.join( Dir.tmpdir , project_name )
|
8
24
|
end
|
9
25
|
|
10
26
|
@folder_path= nil
|
@@ -39,6 +55,8 @@ module TMP
|
|
39
55
|
|
40
56
|
end
|
41
57
|
|
58
|
+
alias :folder_init :tmp_folder_init
|
59
|
+
|
42
60
|
def write variable_name, data_object
|
43
61
|
|
44
62
|
tmp_folder_init
|
data/lib/tmp/dsl.rb
CHANGED
@@ -1,23 +1,59 @@
|
|
1
1
|
#encoding: UTF-8
|
2
2
|
module TMP
|
3
3
|
|
4
|
+
|
4
5
|
module DSLCore
|
5
6
|
|
6
|
-
def
|
7
|
-
|
7
|
+
def target_obj obj=nil
|
8
|
+
|
9
|
+
unless obj.nil?
|
10
|
+
@target_obj= obj
|
11
|
+
end
|
12
|
+
|
13
|
+
@target_obj || ::TMP
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def method_missing( method, *args, &block )
|
18
|
+
|
19
|
+
@target_methods = [:write,:read,:file]
|
8
20
|
|
9
21
|
if method.to_s.include?('=')
|
10
|
-
|
22
|
+
target_obj.__send__ @target_methods[0], method.to_s.gsub('=',''), args.first
|
11
23
|
else
|
12
|
-
|
24
|
+
|
25
|
+
unless block.nil?
|
26
|
+
|
27
|
+
if File.exist? File.join( target_obj.folder_path, method.to_s )
|
28
|
+
args[0] ||= "r+"
|
29
|
+
else
|
30
|
+
args[0] ||= "w+"
|
31
|
+
end
|
32
|
+
|
33
|
+
File.open( File.join( target_obj.folder_path, method.to_s ), args[0] ,&block)
|
34
|
+
|
35
|
+
else
|
36
|
+
|
37
|
+
begin
|
38
|
+
target_obj.__send__ @target_methods[1], method
|
39
|
+
rescue TypeError
|
40
|
+
File.open(File.join( target_obj.folder_path, method.to_s ),"r").read
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
13
45
|
end
|
14
46
|
|
15
47
|
end
|
16
48
|
|
17
49
|
end
|
18
50
|
|
19
|
-
|
51
|
+
module DSL
|
52
|
+
|
53
|
+
extend ObjectExt
|
20
54
|
extend DSLCore
|
55
|
+
privatize
|
56
|
+
|
21
57
|
end
|
22
58
|
|
23
59
|
module SyntaxSugar
|
@@ -26,6 +62,8 @@ module TMP
|
|
26
62
|
::TMP::DSL
|
27
63
|
end
|
28
64
|
|
65
|
+
alias :temporally :tmp
|
66
|
+
|
29
67
|
end
|
30
68
|
|
31
69
|
end
|
data/lib/tmp/init.rb
CHANGED
@@ -11,17 +11,28 @@ module TMP
|
|
11
11
|
raise ArgumentError, "path must be a string like type"
|
12
12
|
end
|
13
13
|
|
14
|
-
|
14
|
+
folder_path path_string
|
15
15
|
|
16
16
|
end
|
17
17
|
|
18
18
|
end
|
19
19
|
|
20
|
-
class InstanceDSL
|
20
|
+
class InstanceDSL
|
21
|
+
|
22
|
+
extend ObjectExt
|
21
23
|
include DSLCore
|
22
24
|
|
23
25
|
def initialize path_string
|
24
|
-
|
26
|
+
target_obj InstanceCore.new( path_string )
|
27
|
+
end
|
28
|
+
|
29
|
+
privatize t: 'instance'
|
30
|
+
|
31
|
+
public
|
32
|
+
|
33
|
+
|
34
|
+
def tmp_class_instance_object
|
35
|
+
target_obj
|
25
36
|
end
|
26
37
|
|
27
38
|
end
|
@@ -31,7 +42,6 @@ module TMP
|
|
31
42
|
def new *args
|
32
43
|
InstanceDSL.new *args
|
33
44
|
end
|
34
|
-
|
35
45
|
alias :init :new
|
36
46
|
|
37
47
|
end
|
data/lib/tmp/sup.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
module TMP
|
3
|
+
|
4
|
+
module ObjectExt
|
5
|
+
|
6
|
+
def privatize opts= {}
|
7
|
+
|
8
|
+
unless opts.class <= Hash
|
9
|
+
raise ArgumentError,"invalid input for options"
|
10
|
+
end
|
11
|
+
|
12
|
+
%W[ e ex exc ].each do |str_sym|
|
13
|
+
opts[:exclude] ||= opts[str_sym.to_sym]
|
14
|
+
end
|
15
|
+
|
16
|
+
%W[ i in inc only methods ].each do |str_sym|
|
17
|
+
opts[:include] ||= opts[str_sym.to_sym]
|
18
|
+
end
|
19
|
+
|
20
|
+
%W[ t target ].each do |str_sym|
|
21
|
+
opts[:target] ||= opts[str_sym.to_sym]
|
22
|
+
end
|
23
|
+
|
24
|
+
opts[:target] ||= 's'
|
25
|
+
opts[:target]= opts[:target].to_s.downcase
|
26
|
+
|
27
|
+
unless opts[:target][0] == "s" || opts[:target][0] == "i"
|
28
|
+
%W[ singleton instance ].include?(opts[:target].to_s)
|
29
|
+
raise ArgumentError, [
|
30
|
+
"invalid options for target, you should use the following: ",
|
31
|
+
"\n\tsingleton for targeting the singleton class what is de",
|
32
|
+
"fault\n\tinstance for targeting the object instance methods."
|
33
|
+
].join
|
34
|
+
end
|
35
|
+
|
36
|
+
opts[:exclude] ||= []
|
37
|
+
|
38
|
+
if opts[:target][0] == 'i' && self.class <= Module
|
39
|
+
opts[:include] ||= self.instance_methods.map{|e| e.to_s }
|
40
|
+
else
|
41
|
+
opts[:target]= 's'
|
42
|
+
opts[:include] ||= self.methods.map{|e| e.to_s }
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
[:include,:exclude].each do |array_name|
|
47
|
+
|
48
|
+
unless opts[array_name].class <= Array
|
49
|
+
opts[array_name]= [ opts[array_name] ]
|
50
|
+
end
|
51
|
+
|
52
|
+
opts[array_name].map!{ |element| ( element.class == String ? element : element.to_s ) }
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
opts[:exclude].push('__send__').push('object_id')
|
57
|
+
|
58
|
+
if opts[:target][0] == 's'
|
59
|
+
|
60
|
+
self.instance_eval do
|
61
|
+
|
62
|
+
opts[:include].each do |sym|
|
63
|
+
|
64
|
+
unless opts[:exclude].include?(sym)
|
65
|
+
(class << self; self; end).__send__ :private, sym
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
elsif opts[:target][0] == 'i'
|
72
|
+
|
73
|
+
opts[:include].each do |sym|
|
74
|
+
|
75
|
+
unless opts[:exclude].include?(sym)
|
76
|
+
self.__send__ :private, sym
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
else
|
82
|
+
STDERR.puts "invalid target definition"
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
end
|
data/tmp.gemspec
CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.version = File.open(File.join(File.dirname(__FILE__),"VERSION")).read.split("\n")[0].chomp.gsub(' ','')
|
10
10
|
spec.authors = ["Adam Luzsi"]
|
11
11
|
spec.email = ["adamluzsi@gmail.com"]
|
12
|
-
spec.description = %q{
|
13
|
-
spec.summary = %q{ DSL for
|
12
|
+
spec.description = %q{ DSL for temporally files read/write in the object oriented way (system tmp). Manage tmp files in the super easy way! This dsl let you have simply way to commands and create variables on file system by default in the actual systems (cross platform) tmp folder. Sometimes it can be useful for multi processing (forked processes), but the main goal is not made for shared memory management! The goal is to provide dsl for easy tmp files making on the filesystem in the object oriented way (real objects and not simply strings). By default i's always IO work and not memory, everything you save with this will be IO command and not memory }
|
13
|
+
spec.summary = %q{ DSL for temporally files read/write in the object oriented way (system tmp) }
|
14
14
|
spec.homepage = "https://github.com/adamluzsi/tmp"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
@@ -19,8 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_dependency 'empty_object'
|
23
|
-
|
24
22
|
%W[ rake bundler ].each{ |gem_name| spec.add_development_dependency(gem_name) }
|
25
23
|
|
26
24
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tmp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Luzsi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: empty_object
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,10 +38,14 @@ dependencies:
|
|
52
38
|
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '0'
|
55
|
-
description: "
|
56
|
-
|
57
|
-
|
58
|
-
|
41
|
+
description: " DSL for temporally files read/write in the object oriented way (system
|
42
|
+
tmp). Manage tmp files in the super easy way! This dsl let you have simply way to
|
43
|
+
commands and create variables on file system by default in the actual systems (cross
|
44
|
+
platform) tmp folder. Sometimes it can be useful for multi processing (forked processes),
|
45
|
+
but the main goal is not made for shared memory management! The goal is to provide
|
46
|
+
dsl for easy tmp files making on the filesystem in the object oriented way (real
|
47
|
+
objects and not simply strings). By default i's always IO work and not memory, everything
|
48
|
+
you save with this will be IO command and not memory "
|
59
49
|
email:
|
60
50
|
- adamluzsi@gmail.com
|
61
51
|
executables: []
|
@@ -68,8 +58,10 @@ files:
|
|
68
58
|
- README.md
|
69
59
|
- Rakefile
|
70
60
|
- VERSION
|
61
|
+
- examples/blocks.rb
|
71
62
|
- examples/config_exmpl.rb
|
72
63
|
- examples/instance.rb
|
64
|
+
- examples/sugar_use.rb
|
73
65
|
- examples/test.rb
|
74
66
|
- examples/tmp_folder/test
|
75
67
|
- files.rb
|
@@ -77,6 +69,7 @@ files:
|
|
77
69
|
- lib/tmp/core.rb
|
78
70
|
- lib/tmp/dsl.rb
|
79
71
|
- lib/tmp/init.rb
|
72
|
+
- lib/tmp/sup.rb
|
80
73
|
- tmp.gemspec
|
81
74
|
homepage: https://github.com/adamluzsi/tmp
|
82
75
|
licenses:
|
@@ -101,5 +94,5 @@ rubyforge_project:
|
|
101
94
|
rubygems_version: 2.2.2
|
102
95
|
signing_key:
|
103
96
|
specification_version: 4
|
104
|
-
summary: DSL for
|
97
|
+
summary: DSL for temporally files read/write in the object oriented way (system tmp)
|
105
98
|
test_files: []
|