dyndoc-ruby 0.5.8 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dyn +37 -2
  3. data/bin/dyn-init +15 -6
  4. metadata +62 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ba8376453c50218d025b3d7d2c62c4fdcd4f0c6d
4
- data.tar.gz: 8f5ac8caa76a86bd8cfa035682363d590047b344
3
+ metadata.gz: 462a9ae3c7f3fea53ae7e6d9b30c87ef2dc2bc6b
4
+ data.tar.gz: 55562e445ffbdf8f2144dc372e33c8f51be681ed
5
5
  SHA512:
6
- metadata.gz: 1424361e7471cc2990f88146fe198d44b1e0ca7cb24429e419442b2fb656671870cbfc6c6ce0a172e026e5c1f908f2f87658e49eee45248203615e141bd36730
7
- data.tar.gz: 288e73035861a2a67da1d9f2d60730c94994ee88824f61392fcf0a81fe37a2df917ca74ba79d4d988979603c122f277f06b1506200d08ab4b08035a0b0bba7cd
6
+ metadata.gz: f37d7d539a1a3e55e81d176985162b613a8adaeac3f41c22b1ffe6c410a50c398f2accee2079b412e692371f43b87fbd97f9b0eaaa889dd815e40006f8c6653a
7
+ data.tar.gz: 9663a14fcb3c1e805d0791d1e113b93af786caa3217e66aa8a0217b8ea5d910c1dbbf6e852aba1a28191381215e7cfa121def68b09226c52cc8b4a6ed0d13926
data/bin/dyn CHANGED
@@ -3,6 +3,9 @@ require 'dyndoc/document'
3
3
 
4
4
  ## p Dyndoc.cfg_dir
5
5
 
6
+ ## To be used for remote at the end
7
+ args_saved=ARGV.dup
8
+
6
9
  args=ARGV.select{|name|
7
10
  if (name[0,2]!="--" and name.include? "=")
8
11
  key,*val=name.split("=")
@@ -74,6 +77,38 @@ end.parse!(args)
74
77
  ## ARGV is consumed before except
75
78
  doc=args[0]
76
79
 
77
- d=Dyndoc::TemplateDocument.new(doc)
80
+ # Example remote call
81
+ # dyn <options> dyn://<room-id>/<dyndoc-file>[.dyn]
82
+ if doc=~ /^dyn\:\/\/([^\/]*)\/(.*)(?:\.dyn)?$/
83
+ room_id,dyn_file=$1,$2
84
+
85
+ room_sync=File.join(ENV["HOME"],"dyndoc","etc",".room_sync")
86
+ if File.exists? room_sync
87
+ room_dirs=eval(File.read(room_sync))
88
+ room_dir=room_dirs[room_id]
89
+ if room_dir
90
+ dyn_file=File.expand_path(dyn_file)
91
+ dyn_dir=File.dirname dyn_file
92
+ dyn_base=File.basename dyn_file,".dyn"
93
+ ## Copy files first
94
+ [".dyn",".dyn_lib"].each do |ext|
95
+ file=dyn_base+ext
96
+ if File.exists? (file_to_copy=File.join(dyn_dir,file))
97
+ require 'fileutils'
98
+ FileUtils.cp file_to_copy,File.join(room_dir[:local],file)
99
+ end
100
+ end
101
+ ## create task after ##TODO cheksum: to check that required files are present
102
+ task=[{cmd: "dyn", workdir: File.join("..","rooms",room_dir[:remote]), source: dyn_base+".dyn", options: args[0...-1].join(" ")}]
103
+ File.open(File.join(room_dir[:local],"..",".run",dyn_base+".task_dyn"),"w") do |f|
104
+ f << task.inspect
105
+ end
106
+ end
107
+ end
108
+
109
+ else
110
+
111
+ d=Dyndoc::TemplateDocument.new(doc)
78
112
 
79
- d.make_all
113
+ d.make_all
114
+ end
data/bin/dyn-init CHANGED
@@ -7,12 +7,11 @@ arg="path" if !arg or arg.empty?
7
7
  case arg
8
8
  when "help"
9
9
  puts <<-DOC
10
- launchctl helpers to launch dyn-srv service.
11
- Usage: dyn-init path => create ~/dyndoc folder
12
- dyn-init srv new|load => create when not existing the dyn-srv service
13
- dyn-init srv unload => unload existing service
14
- dyn-init srv start/stop => start/stop the dyn-srv service
15
- dyn-init srv [list] => list dyn-srv service
10
+ Usage:
11
+ ## create ~/dyndoc folder and initialize some sharing
12
+ dyn-init path
13
+ ## add room folder
14
+ dyn-init sync <room_id>:<room_folder_full_path>@<room_remote_wordir>
16
15
  DOC
17
16
  when "path"
18
17
  share_path=File.expand_path("../../share", __FILE__)
@@ -23,4 +22,14 @@ when "path"
23
22
  else
24
23
  puts "Warning: #{dyndoc_path} folder already exists!"
25
24
  end
25
+ when "sync"
26
+ require 'fileutils'
27
+ FileUtils.mkdir_p (etc=File.join(ENV["HOME"],"dyndoc","etc"))
28
+ room_sync=File.join(etc,".room_sync")
29
+ room_dirs=(File.exists? room_sync) ? eval(File.read(room_sync)) : {}
30
+ if ARGV[1] =~ /([^\:@]*)\:([^\:@]*)@([^\:@]*)/
31
+ room_id,room_local,room_remote=$1,$2,$3
32
+ room_dirs[room_id]={local: room_local, remote: room_remote}
33
+ File.open(room_sync,"w") {|f| f << room_dirs.inspect }
34
+ end
26
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dyndoc-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CQLS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: R4rb
@@ -90,6 +90,66 @@ dependencies:
90
90
  - - '>='
91
91
  - !ruby/object:Gem::Version
92
92
  version: 0.1.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: dyntask-ruby
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: '0.3'
100
+ - - '>='
101
+ - !ruby/object:Gem::Version
102
+ version: 0.3.3
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '0.3'
110
+ - - '>='
111
+ - !ruby/object:Gem::Version
112
+ version: 0.3.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: dyn-ruby-launchctl
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: '0.1'
120
+ - - '>='
121
+ - !ruby/object:Gem::Version
122
+ version: 0.1.0
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
129
+ version: '0.1'
130
+ - - '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.1.0
133
+ - !ruby/object:Gem::Dependency
134
+ name: asciidoctor
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ~>
138
+ - !ruby/object:Gem::Version
139
+ version: '1.5'
140
+ - - '>='
141
+ - !ruby/object:Gem::Version
142
+ version: 1.5.3
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '1.5'
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: 1.5.3
93
153
  description: |2
94
154
  Provide templating in text document.
95
155
  email: rdrouilh@gmail.com