requidef 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,27 +6,42 @@ The consequence of 10H rapid developement.
6
6
  It had many bugs so we could not use the command after 'gem install'ing.
7
7
 
8
8
  ## Version 0.2.0 (Aug. 22, 2011)
9
- We found that the .rd file is not as easy to edit as we had expected.
10
- So we decided to edit file in XMind, a free MindMap tool, export it to HTML to translate to .rd file.
9
+ I have found that the .rd file is not as easy to edit I had expected.
10
+ So I decided to edit file in XMind, a free MindMap tool, export it to HTML to translate to .rd file.
11
11
  Other features,
12
12
 
13
13
  * The commandline I/F is changed.
14
14
  * Fixed the flashed bugs in 0.1.0.
15
15
  * Provides some converter functionality.
16
16
  * It is now ready to get started by just gem installing.
17
+ * etc.
17
18
 
18
19
  ## Version 0.3.0 (Forecast)
19
- * Add more format to translate (TGF, GML, ..).
20
+ In development of this version, I have found that
21
+ this software does not meet my requirements.
22
+ So I have decided to release it as version 0.3.0
23
+ and redesign the software toward version 0.4.0.
24
+
25
+ Deeply sorry for users.
26
+ I do not recommend
27
+ to use version before 0.4.0 because it is obsolete.
28
+
20
29
  * Parser Enhancement (Hopefully all but few would be eliminated).
21
30
  Comment Out,
22
- Line Breaking,
31
+ Line Breaking (Not achieved),
23
32
  Empty Line,
24
33
  [[tagname]] -> [[tagname:tagname]] for DRY.
25
- * Not all the (>>dest) does not have the real destination. Even in that case, works fine.
26
- Imagine if all the link must have definitly the real desitination. What could be happened?
27
- * Code Clean
28
- Testing will be automated so that the future development will be saved.
29
- * Design Issue
30
- rationalize! method in rdtree is quite wierd. fix it or not.
34
+ * Add --parse-lenient option.
35
+ * etc.
31
36
 
37
+ ## Version 0.4.0 (Forecast)
38
+ Will almost completely discard backward-compatibility.
32
39
 
40
+ * Add more format to translate (TGF, GML, ..).
41
+ RD and TGF will be compatible.
42
+ * CLI Interface changes.
43
+ * RD format changes.
44
+ For convenience, I have decided to change the RD format and hence discard backward-compatibility.
45
+ * Parser for .mm format will be extended.
46
+ Version before 0.4.0 only supports .mm of simple tree.
47
+ Version 0.4.0 supports links freely come across the tree.
@@ -6,6 +6,21 @@ require "optparse"
6
6
  # Main
7
7
  opt = OptionParser.new
8
8
 
9
+ def translations
10
+ """Supported Translations:
11
+ mm, html -> rd
12
+ rd -> dot, csv
13
+ (Future release will support rd <-> tgf).
14
+
15
+ For the usage, please see --usage
16
+ """
17
+ end
18
+
19
+ opt.on("--view-supported-translations") do |v|
20
+ print translations
21
+ exit
22
+ end
23
+
9
24
  usage = nil
10
25
  opt.on("--usage") do |v|
11
26
  usage = v
@@ -6,6 +6,21 @@ require "optparse"
6
6
  # Main
7
7
  opt = OptionParser.new
8
8
 
9
+ def translations
10
+ """Supported Translations:
11
+ mm, html -> rd
12
+ rd -> dot, csv
13
+ (Future release will support rd <-> tgf).
14
+
15
+ For the usage, please see --usage
16
+ """
17
+ end
18
+
19
+ opt.on("--view-supported-translations") do |v|
20
+ print translations
21
+ exit
22
+ end
23
+
9
24
  usage = nil
10
25
  opt.on("--usage") do |v|
11
26
  usage = v
@@ -54,7 +54,6 @@ def line2node(line)
54
54
  # If REQUIDEF_PARSE_LENIENT flag is on,
55
55
  # This software understands every text nodes as link nodes whose dest is text.
56
56
  if parse_lenient?
57
- $stderr << "parse_lenient? true"
58
57
  ss = parse_text(rest)
59
58
  return Link.new(depth, ss)
60
59
  end
@@ -1,10 +1,42 @@
1
1
  class Node
2
2
  def initialize(depth)
3
- @depth = depth
4
3
  @tmp = {}
4
+ @depth = depth
5
+ @tree = nil
6
+ @id = nil
7
+ end
8
+ attr_reader :tmp
9
+
10
+ def depth
11
+ if @depth == nil
12
+ return do_depth
13
+ end
14
+ @depth
15
+ end
16
+
17
+ def id
18
+ @id
19
+ end
20
+
21
+ def id=(x)
22
+ if @tree == nil
23
+ @id = x
24
+ return
25
+ end
26
+ raise "Error can not call id=(#{x}) for this node."
27
+ end
28
+
29
+ def add_on_tree(idd, tree)
30
+ tree.add_node(idd, self)
31
+ @tree = tree
32
+ @id = idd
33
+ @depth = nil
34
+ end
35
+
36
+ private
37
+ def do_depth
38
+ @tree.depth(id)
5
39
  end
6
- attr_reader :tmp ,:depth
7
- attr_accessor :id
8
40
  end
9
41
 
10
42
  class Link < Node
@@ -27,7 +59,7 @@ class Link < Node
27
59
  end
28
60
 
29
61
  def to_rd
30
- "#{dashes(@depth)} >>#{@dest}"
62
+ "#{dashes(depth)} >>#{@dest}"
31
63
  end
32
64
  end
33
65
 
@@ -40,7 +72,7 @@ class Tag < Node
40
72
  attr_reader :tag
41
73
 
42
74
  def to_s
43
- "(Tag depth:#{@depth}, tag:#{@tag}, text:#{@text}, tmp:#{@tmp})"
75
+ "(Tag depth:#{depth}, tag:#{@tag}, text:#{@text}, tmp:#{@tmp})"
44
76
  end
45
77
 
46
78
  def to_csv
@@ -52,7 +84,7 @@ class Tag < Node
52
84
  end
53
85
 
54
86
  def to_rd
55
- "#{dashes(@depth)} [[#{@tag}:#{@text}]]"
87
+ "#{dashes(depth)} [[#{@tag}:#{@text}]]"
56
88
  end
57
89
  end
58
90
 
@@ -64,7 +96,7 @@ class Text < Node
64
96
  end
65
97
 
66
98
  def to_s
67
- "(Text depth:#{@depth}, text:#{@text}, tmp:#{@tmp})"
99
+ "(Text depth:#{depth}, text:#{@text}, tmp:#{@tmp})"
68
100
  end
69
101
 
70
102
  def to_csv
@@ -76,7 +108,7 @@ class Text < Node
76
108
  end
77
109
 
78
110
  def to_rd
79
- "#{dashes(@depth)} #{@text}"
111
+ "#{dashes(depth)} #{@text}"
80
112
  end
81
113
  end
82
114
 
@@ -9,7 +9,7 @@ def nodes2tree(nodes)
9
9
  nodess = depth2link(nodes)
10
10
  t = Tree.new
11
11
  nodess.each do |n|
12
- t.add_node(n.id, n)
12
+ n.add_on_tree(n.id, t)
13
13
  end
14
14
  for i in 1...nodess.size
15
15
  n = nodess[i]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: requidef
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.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: 2011-08-23 00:00:00.000000000Z
12
+ date: 2011-08-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &28184820 !ruby/object:Gem::Requirement
16
+ requirement: &22798000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.3.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *28184820
24
+ version_requirements: *22798000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &28184340 !ruby/object:Gem::Requirement
27
+ requirement: &22797440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *28184340
35
+ version_requirements: *22797440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &28183860 !ruby/object:Gem::Requirement
38
+ requirement: &22796960 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *28183860
46
+ version_requirements: *22796960
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rcov
49
- requirement: &28183380 !ruby/object:Gem::Requirement
49
+ requirement: &22796480 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *28183380
57
+ version_requirements: *22796480
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hpricot
60
- requirement: &28182900 !ruby/object:Gem::Requirement
60
+ requirement: &22795980 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.8.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *28182900
68
+ version_requirements: *22795980
69
69
  description: Which do you use for your requirement definition job? MS Excel? MS Word?
70
70
  Uninstall them. Because you will get a better solution.
71
71
  email: ruby.wktk@gmail.com
@@ -123,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  segments:
125
125
  - 0
126
- hash: 226265604659266124
126
+ hash: 3428238445578490504
127
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements: