main 5.0.1 → 5.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.
- data/README +4 -0
- data/README.erb +3 -0
- data/lib/main.rb +1 -1
- data/lib/main/program/class_methods.rb +23 -8
- data/lib/main/program/instance_methods.rb +2 -2
- data/main.gemspec +1 -1
- metadata +31 -11
data/README
CHANGED
@@ -499,6 +499,10 @@ DOCS
|
|
499
499
|
API section below
|
500
500
|
|
501
501
|
HISTORY
|
502
|
+
5.1.0
|
503
|
+
- support for STATE_DIRNAME and STATE_BASENAME environment variables
|
504
|
+
5.0.0
|
505
|
+
?
|
502
506
|
4.4.0
|
503
507
|
- support for automatic sequel/sqlite/amalgalite dbs for persistent state
|
504
508
|
across invocations
|
data/README.erb
CHANGED
data/lib/main.rb
CHANGED
@@ -268,17 +268,31 @@ module Main
|
|
268
268
|
define_method(:run, &block) if block
|
269
269
|
end
|
270
270
|
|
271
|
-
def
|
272
|
-
@
|
271
|
+
def state_dirname(*args)
|
272
|
+
@state_dirname = File.join(*args) unless args.empty?
|
273
|
+
@state_dirname ||= ENV['STATE_DIRNAME']
|
274
|
+
@state_dirname ||= Util.home
|
275
|
+
@state_dirname
|
276
|
+
end
|
277
|
+
|
278
|
+
def state_basename(*args)
|
279
|
+
@state_basename = File.join(*args) unless args.empty?
|
280
|
+
@state_basename ||= ENV['STATE_BASENAME']
|
281
|
+
@state_basename ||= ".#{ name }"
|
282
|
+
@state_basename
|
283
|
+
end
|
284
|
+
|
285
|
+
def state_path(*state_path, &block)
|
286
|
+
@state_path = File.join(state_dirname, state_basename) unless defined?(@state_path)
|
273
287
|
|
274
|
-
@
|
288
|
+
@state_path = state_path.join('/') unless state_path.empty?
|
275
289
|
|
276
290
|
if block
|
277
291
|
require 'fileutils' unless defined?(FileUtils)
|
278
|
-
FileUtils.mkdir_p(@
|
292
|
+
FileUtils.mkdir_p(@state_path) unless test(?d, @state_path)
|
279
293
|
Dir.chdir(&block)
|
280
294
|
else
|
281
|
-
@
|
295
|
+
@state_path
|
282
296
|
end
|
283
297
|
end
|
284
298
|
|
@@ -286,14 +300,14 @@ module Main
|
|
286
300
|
unless defined?(@db)
|
287
301
|
require 'sequel' unless defined?(Sequel)
|
288
302
|
require 'amalgalite' unless defined?(Amalgalite)
|
289
|
-
@db =
|
303
|
+
@db = state_path{ Sequel.amalgalite(db_path) }
|
290
304
|
@db.instance_eval(&block) if block
|
291
305
|
end
|
292
306
|
@db
|
293
307
|
end
|
294
308
|
|
295
309
|
def db_path(*db_path)
|
296
|
-
@db_path = File.join(
|
310
|
+
@db_path = File.join(state_path, 'db.sqlite') unless defined?(@db_path)
|
297
311
|
@db_path = File.join(*db_path) unless db_path.empty?
|
298
312
|
@db_path
|
299
313
|
end
|
@@ -315,6 +329,7 @@ module Main
|
|
315
329
|
[]
|
316
330
|
end
|
317
331
|
dash = lines.shift if lines.first.to_s =~ /^---/
|
332
|
+
require 'fileutils' unless defined?(FileUtils)
|
318
333
|
FileUtils.mkdir_p(File.dirname(config_path))
|
319
334
|
open(config_path, 'w') do |fd|
|
320
335
|
fd.puts "## file: #{ config_path }"
|
@@ -332,7 +347,7 @@ module Main
|
|
332
347
|
alias_method('edit_config_file!', 'config')
|
333
348
|
|
334
349
|
def config_path(*config_path)
|
335
|
-
@config_path = File.join(
|
350
|
+
@config_path = File.join(state_path, 'config.yml') unless defined?(@config_path)
|
336
351
|
@config_path = File.join(*config_path) unless config_path.empty?
|
337
352
|
@config_path
|
338
353
|
end
|
data/main.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: main
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0
|
4
|
+
version: 5.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chronic
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 0.6.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.6.2
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: fattr
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 2.2.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.2.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: arrayfields
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 4.7.4
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 4.7.4
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: map
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: 5.1.0
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 5.1.0
|
58
78
|
description: ! 'description: main kicks the ass'
|
59
79
|
email: ara.t.howard@gmail.com
|
60
80
|
executables: []
|
@@ -113,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
133
|
version: '0'
|
114
134
|
requirements: []
|
115
135
|
rubyforge_project: codeforpeople
|
116
|
-
rubygems_version: 1.8.
|
136
|
+
rubygems_version: 1.8.24
|
117
137
|
signing_key:
|
118
138
|
specification_version: 3
|
119
139
|
summary: main
|