lucidMachines 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1431efd18f9c63e69d7f14488d4dafb54610412ce3ea382102504753276211e
4
- data.tar.gz: ee4df24ddfd4f7476217cd64626e50d744c07ca511e9f40904ad93dd8d55abfb
3
+ metadata.gz: 541a77494d9a38cfb803f3ab6e48a1c4898d96da4fcc4c424e0b99f7fd6fd585
4
+ data.tar.gz: 8b625442be7a47fae536d6b59176268dd30954380d559579b7a56e21434326b0
5
5
  SHA512:
6
- metadata.gz: 241f888ae244b04e18fef8b6925a3b095184c367b4943f7b4a3671b7c2acfade76e5f717d3e180d99ade410fab086f96608347b2ec7b74afd1e0407f895ee875
7
- data.tar.gz: 6b5e00d7b22b539b30adda679dcd1175fc762182b2e6e03fd05c08000fb0d1962c8a63b19f4eee1ea1f9cebdc6ea47099501bf78ac4675a2d50235934701c6d9
6
+ metadata.gz: 4f4ba313714b5258c165655f86a69500587f0a072d1b60cdcf120d6f91eb9ca06f22d2c094692c49d5b1e87e7956f857679164e02e69df07cb6a4ed36e6de988
7
+ data.tar.gz: 11592951f9d7942abb58b9490ef0a238b3297160fc570005db92bbc6a91f0c6ec2849464a46fe647c13fe1c93b3e6b9fd4d4f948d05760dcbcddd2e34adac1d5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lucidMachines (0.1.3)
4
+ lucidMachines (0.1.4)
5
5
  aasm
6
6
  aasm-diagram
7
7
  ruby-graphviz
@@ -1,5 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
+
3
4
  class AASMExport
4
5
 
5
6
  EventCallbacks = ["before", "guards", "guard",
@@ -123,9 +124,10 @@ class AASMExport
123
124
  end
124
125
 
125
126
  # puts "Transitions found " + @transitions.size.to_s
126
-
127
127
  end
128
128
 
129
+
130
+
129
131
  def print_warning(event, from_states, to_state)
130
132
 
131
133
  if(event.size != 1)
@@ -153,18 +155,49 @@ class AASMExport
153
155
  def generate_state_code
154
156
  states_code = ""
155
157
  @states.each do |state|
156
-
157
158
  code = " state :" + sanitize(state.text)
158
159
  code = code + ", :initial => true" if state.initial
159
160
 
160
161
  callback_code = generate_callback(state, "method", StateCallbacks)
161
-
162
162
  states_code = states_code + code + callback_code + "\n"
163
163
  end
164
164
  states_code + "\n"
165
165
  end
166
166
 
167
+ def generate_attributes_code
168
+ attributes_code = ""
169
+
170
+
171
+ attributes_code = <<-INIT
172
+ ## Attributes
173
+ event_attributes = {}
174
+ INIT
175
+
176
+ events = @chart.get_blocks_of_type "event"
177
+ events.each do |event|
178
+ if event.has_links?
179
+
180
+ attributes = event.links_from_type("attribute").map do |attr|
181
+ attr.text
182
+ end
183
+ unless attributes.empty?
184
+
185
+ c = <<-START
186
+ attributes["#{event.text}"] = #{attributes.to_s}
187
+ START
188
+
189
+ attributes_code = attributes_code + c
190
+ # attributes_code = attributes_code +
167
191
 
192
+ end
193
+
194
+ end
195
+ end
196
+ attributes_code + "\n
197
+
198
+ end
199
+
200
+
168
201
 
169
202
  def generate_events_code
170
203
 
@@ -369,8 +402,9 @@ START
369
402
  finish = <<-END
370
403
  end
371
404
  END
372
- return start + generate_state_code +
373
- generate_events_code + finish
405
+ return generate_attributes_code +
406
+ start + generate_state_code +
407
+ generate_events_code + finish
374
408
  # generate_methods_placeholder
375
409
  end
376
410
  end
@@ -2,18 +2,21 @@ require 'thor'
2
2
  require 'ruby-graphviz'
3
3
 
4
4
  module LucidMachines
5
- class CLI < Thor
6
5
 
7
- desc "convert", "Convert a CSV file"
8
- def convert(csv_file, sheet)
6
+
7
+ class CLI < Thor
9
8
 
10
- puts "Exporting #{csv_file}, sheet: #{sheet}."
11
-
9
+ desc "convert FILE.CSV 'Name'", "Convert a CSV file"
10
+ def convert(csv_file, sheet = "")
12
11
  chart = ChartLoader.new(csv_file).chart
13
- # export_all chart
14
- export(chart, sheet)
15
- end
16
12
 
13
+ if(sheet == "")
14
+ export_all chart
15
+ else
16
+ export(chart, sheet)
17
+ end
18
+ end
19
+
17
20
  desc "check FILE.CSV 'sheet name' FILE.RB ClassName", "Check the methods to implement given a know class"
18
21
  def update(csv_file, sheet, file, class_name)
19
22
 
@@ -29,15 +32,15 @@ module LucidMachines
29
32
  puts c.class.to_s
30
33
  @ae = AASMExport.new(subchart); nil ;
31
34
  c.class_eval @ae.export
32
- # puts @ae.generate_methods_placeholder_for(c).to_s
35
+ # puts @ae.generate_methods_placeholder_for(c).to_s
33
36
  open("#{file}-updated.rb", 'w') do |f|
34
- # f << @ae.export
37
+ # f << @ae.export
35
38
  f << @ae.generate_methods_placeholder_for(c)
36
39
  end
37
40
 
38
41
  end
39
42
 
40
- desc "list", "List the sheets in a CSV."
43
+ desc "list FILE.CSV'", "List the sheets in a CSV."
41
44
  def list(csv_file)
42
45
 
43
46
  chart = ChartLoader.new(csv_file).chart
@@ -47,5 +50,3 @@ module LucidMachines
47
50
  end
48
51
  end
49
52
 
50
-
51
-
@@ -1,10 +1,3 @@
1
- class JobTest
2
- include AASM
3
- def tie_shoes
4
- puts "Tying the shoes ..."
5
- end
6
- end
7
-
8
1
  def export_all(chart)
9
2
  chart.pages.each_value do |p|
10
3
  export(chart, p.name)
@@ -26,14 +19,5 @@ def export(chart, page_name)
26
19
  f << page_aasm_export.export
27
20
  f << page_aasm_export.generate_methods_placeholder
28
21
  end
29
-
30
- # export GraphViz 2 (through aasm-diagram)
31
-
32
- ## Extend the JobTest class
33
- # JobTest.class_eval page_aasm_export.export
34
- # page_aasm_export.generate_methods_placeholder_for(JobTest)
35
- # @j = JobTest.new
36
- # AASMDiagram::Diagram.new(@j.aasm, "export/chart-#{page_name}-2.png")
37
-
38
22
  end
39
23
 
@@ -1,4 +1,4 @@
1
- BlockTypes = ["Text", "Process", "Terminator", "Decision"]
1
+ BlockTypes = ["Text", "Process", "Terminator", "Decision", "Attribute"]
2
2
  Containers = ["Swim Lane"]
3
3
  StructTypes = ["Page", "Line"] + Containers
4
4
  Links = ["Line"]
@@ -1,3 +1,3 @@
1
1
  module LucidMachines
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/lucidMachines.rb CHANGED
@@ -8,9 +8,9 @@ module LucidMachines
8
8
  require 'lucidMachines/elements'
9
9
  require 'lucidMachines/chart'
10
10
  require 'lucidMachines/loader'
11
-
11
+
12
+ require 'lucidMachines/helper'
12
13
  require 'lucidMachines/aasm_export'
13
- require 'lucidMachines/exporter'
14
14
  require 'lucidMachines/graphviz_export'
15
15
 
16
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lucidMachines
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Laviole
@@ -130,8 +130,8 @@ files:
130
130
  - lib/lucidMachines/chart.rb
131
131
  - lib/lucidMachines/cli.rb
132
132
  - lib/lucidMachines/elements.rb
133
- - lib/lucidMachines/exporter.rb
134
133
  - lib/lucidMachines/graphviz_export.rb
134
+ - lib/lucidMachines/helper.rb
135
135
  - lib/lucidMachines/loader.rb
136
136
  - lib/lucidMachines/version.rb
137
137
  - loader.rb