MINT-core 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/.gemtest +0 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +69 -0
  4. data/History.txt +3 -0
  5. data/MINT-core.gemspec +58 -0
  6. data/Manifest.txt +77 -0
  7. data/PostInstall.txt +7 -0
  8. data/README.rdoc +63 -0
  9. data/Rakefile +29 -0
  10. data/bin/mint-aui +40 -0
  11. data/bin/mint-cui-gfx +47 -0
  12. data/bin/mint-juggernaut.sh +4 -0
  13. data/bin/mint-tuplespace +12 -0
  14. data/lib/MINT-core.rb +42 -0
  15. data/lib/MINT-core/agent/agent.rb +28 -0
  16. data/lib/MINT-core/agent/aui.rb +52 -0
  17. data/lib/MINT-core/agent/auicontrol.rb +135 -0
  18. data/lib/MINT-core/agent/cui-gfx.rb +160 -0
  19. data/lib/MINT-core/agent/cuicontrol.rb +46 -0
  20. data/lib/MINT-core/mapping/complementary.rb +100 -0
  21. data/lib/MINT-core/mapping/mapping.rb +47 -0
  22. data/lib/MINT-core/mapping/on_state_change.rb +65 -0
  23. data/lib/MINT-core/mapping/sequential.rb +87 -0
  24. data/lib/MINT-core/model/aui/AIC.rb +86 -0
  25. data/lib/MINT-core/model/aui/AIChoice.rb +65 -0
  26. data/lib/MINT-core/model/aui/AIINChoose.rb +54 -0
  27. data/lib/MINT-core/model/aui/AIMultiChoice.rb +5 -0
  28. data/lib/MINT-core/model/aui/AIMultiChoiceElement.rb +56 -0
  29. data/lib/MINT-core/model/aui/AIO.rb +170 -0
  30. data/lib/MINT-core/model/aui/AIOUTDiscrete.rb +43 -0
  31. data/lib/MINT-core/model/aui/AISingleChoice.rb +9 -0
  32. data/lib/MINT-core/model/aui/AISingleChoiceElement.rb +69 -0
  33. data/lib/MINT-core/model/aui/AISinglePresence.rb +100 -0
  34. data/lib/MINT-core/model/aui/aic.png +0 -0
  35. data/lib/MINT-core/model/aui/aic.scxml +50 -0
  36. data/lib/MINT-core/model/aui/aichoice.png +0 -0
  37. data/lib/MINT-core/model/aui/aichoice.scxml +60 -0
  38. data/lib/MINT-core/model/aui/aio.png +0 -0
  39. data/lib/MINT-core/model/aui/aio.scxml +43 -0
  40. data/lib/MINT-core/model/aui/aisinglechoiceelement.png +0 -0
  41. data/lib/MINT-core/model/aui/aisinglechoiceelement.scxml +71 -0
  42. data/lib/MINT-core/model/aui/aisinglepresence.png +0 -0
  43. data/lib/MINT-core/model/aui/aisinglepresence.scxml +58 -0
  44. data/lib/MINT-core/model/aui/model.rb +50 -0
  45. data/lib/MINT-core/model/body/gesture_button.rb +26 -0
  46. data/lib/MINT-core/model/body/handgesture.rb +279 -0
  47. data/lib/MINT-core/model/body/head.png +0 -0
  48. data/lib/MINT-core/model/body/head.rb +51 -0
  49. data/lib/MINT-core/model/body/head.scxml +28 -0
  50. data/lib/MINT-core/model/cui/gfx/CIC.rb +266 -0
  51. data/lib/MINT-core/model/cui/gfx/CIO.rb +381 -0
  52. data/lib/MINT-core/model/cui/gfx/model.rb +204 -0
  53. data/lib/MINT-core/model/cui/gfx/screen.rb +18 -0
  54. data/lib/MINT-core/model/device/button.rb +20 -0
  55. data/lib/MINT-core/model/device/joypad.rb +30 -0
  56. data/lib/MINT-core/model/device/mouse.rb +171 -0
  57. data/lib/MINT-core/model/device/pointer.rb +85 -0
  58. data/lib/MINT-core/model/device/wheel.rb +51 -0
  59. data/lib/MINT-core/model/interactor.rb +167 -0
  60. data/lib/MINT-core/model/task.rb +71 -0
  61. data/lib/MINT-core/overrides/rinda.rb +34 -0
  62. data/script/console +10 -0
  63. data/script/destroy +14 -0
  64. data/script/generate +14 -0
  65. data/spec/AIC_spec.rb +69 -0
  66. data/spec/AISinglePresence_spec.rb +94 -0
  67. data/spec/MINT-core_spec.rb +11 -0
  68. data/spec/aio_agent_spec.rb +234 -0
  69. data/spec/aio_spec.rb +144 -0
  70. data/spec/aisinglechoice_spec.rb +152 -0
  71. data/spec/aisinglechoiceelement_spec.rb +106 -0
  72. data/spec/cio_spec.rb +369 -0
  73. data/spec/core_spec.rb +29 -0
  74. data/spec/music_spec.rb +179 -0
  75. data/spec/rcov.opts +2 -0
  76. data/spec/spec.opts +4 -0
  77. data/spec/spec_helper.rb +7 -0
  78. data/tasks/rspec.rake +21 -0
  79. metadata +227 -0
data/spec/core_spec.rb ADDED
@@ -0,0 +1,29 @@
1
+ require "spec_helper"
2
+
3
+ include MINT
4
+
5
+
6
+ describe 'Interactor' do
7
+ before :each do
8
+ connection_options = { :adapter => "in_memory"}
9
+ DataMapper.setup(:default, connection_options)
10
+ end
11
+
12
+ it 'should initialize to initiated if no initial states have been set' do
13
+ Element.create(:name =>"test1")
14
+ p = Element.all.first
15
+ p.name.should == "test1"
16
+ p.states.should == [:initialized]
17
+ p.abstract_states.should == "root|initialized"
18
+ end
19
+
20
+ it 'should initialize to states set have been been set during creation' do
21
+ Element.create(:name =>"test2",:states=>[:finished])
22
+ p = Element.all.first
23
+ p.name.should == "test2"
24
+ p.states.should == [:finished]
25
+ p.abstract_states.should == "root|finished"
26
+ end
27
+
28
+
29
+ end
@@ -0,0 +1,179 @@
1
+ require "spec_helper"
2
+
3
+ include MINT
4
+ describe 'AUI' do
5
+ before :each do
6
+ connection_options = { :adapter => "in_memory"}
7
+ DataMapper.setup(:default, connection_options)
8
+ # DataMapper.setup(:default, { :adapter => "rinda",:local =>Rinda::TupleSpace.new})
9
+ AIC.new(:name=>"interactive_sheet", :childs => [
10
+ AIC.new(:name=>"sheets", :childs =>[]),
11
+ AISingleChoice.new(:name=>"option", :label=>"Options", :childs => [
12
+ AISingleChoiceElement.new(:name=>"nodding",:label=>"Nodding"),
13
+ AISingleChoiceElement.new(:name=>"tilting",:label=>"Tilting"),
14
+ AISingleChoiceElement.new(:name=>"turning",:label=>"Turning")
15
+ ])
16
+ ]).save
17
+
18
+ @interactive_sheet = AIC.first
19
+ AUIControl.organize(@interactive_sheet,nil,0)
20
+ @interactive_sheet.save!
21
+
22
+ @sheets = MINT::AIC.first(:name=>"sheets")
23
+ @option = MINT::AISingleChoice.first(:name=>"option")
24
+ end
25
+
26
+ describe 'music sheet' do
27
+ it 'interactive_sheet should recover state after save and reload' do
28
+ @interactive_sheet.states.should == [:organized]
29
+ @interactive_sheet.save!
30
+ b = MINT::AIC.first(:name=>"interactive_sheet")
31
+ b.states.should == [:organized]
32
+ b.process_event(:present).should == [:defocused]
33
+ end
34
+
35
+ it 'sheets should recover state after save and reload' do
36
+ # @a.process_event(:organize).should ==[:organized]
37
+ @sheets.states.should == [:organized]
38
+ @sheets.new_states.should == [:organized]
39
+ @sheets.process_event(:present).should ==[:defocused]
40
+ @sheets.save!
41
+ sheets = MINT::AIC.first(:name=>"sheets")
42
+ sheets.states.should == [:defocused]
43
+ sheets.process_event(:focus).should == [:focused]
44
+ end
45
+
46
+ it 'option list should recover state after save and reload' do
47
+ # @a.process_event(:organize).should ==[:organized]
48
+ @option.states.should == [:organized]
49
+ @option.new_states.should == [:organized]
50
+ @option.process_event(:present).should ==[:defocused, :listing]
51
+ @option.childs.each do |c|
52
+ c.process_event(:focus)
53
+ c.states.should == [:focused, :unchosen]
54
+ end
55
+ @option.save!
56
+ option = MINT::AISingleChoice.first(:name=>"option")
57
+ option.states.should == [:defocused, :listing]
58
+ option.process_event(:focus).should == [:focused, :listing]
59
+ option.childs.each do |c|
60
+ c.states.should == [:focused, :unchosen]
61
+ end
62
+ end
63
+
64
+ it 'lists options should recover state after save and reload' do
65
+ # @a.process_event(:organize).should ==[:organized]
66
+ @option.states.should == [:organized]
67
+ @option.new_states.should == [:organized]
68
+ @option.process_event(:present).should ==[:defocused, :listing]
69
+ #save list
70
+ @option.save!
71
+ #recover one of its children and alter its state
72
+ nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
73
+ nodding.states.should == [:defocused, :unchosen]
74
+ nodding.process_event(:choose).should == [:defocused, :chosen]
75
+ #save child
76
+ nodding.save!
77
+ #recover child and check
78
+ nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
79
+ nodding.states.should == [:defocused, :chosen]
80
+ #recover another child and alter its state
81
+ tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
82
+ tilting.process_event(:focus).should == [:focused, :unchosen]
83
+ #save child
84
+ tilting.save!
85
+ #recover child and check
86
+ tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
87
+ tilting.states.should == [:focused, :unchosen]
88
+ # choose option tilting, thus unchoosing nodding
89
+ tilting.process_event(:choose)
90
+ tilting.states.should == [:focused, :chosen]
91
+ # recover nodding to see the change made
92
+ nodding = MINT::AISingleChoiceElement.first(:name=>"nodding")
93
+ nodding.states.should == [:defocused, :unchosen]
94
+ #save child
95
+ tilting.save!
96
+ #recover and check
97
+ tilting = MINT::AISingleChoiceElement.first(:name=>"tilting")
98
+ tilting.states.should == [:focused, :chosen]
99
+ end
100
+ end
101
+
102
+ describe "AUI/CUI synchronization" do
103
+ before :each do
104
+ MINT::CIC.create(:name =>"interactive_sheet",:x=>15, :y=>15, :width =>1280, :height => 1000,:layer=>0, :rows=>2, :cols=>1,:states=>[:positioned])
105
+ MINT::SingleHighlight.create(:name => "sheets", :width=>1198, :height => 820,:states=>[:positioned])
106
+
107
+ MINT::RadioButtonGroup.create(:name =>"option", :x=>30,:y=>840, :width=>1200, :height => 100,:rows=>1,:cols=>3,:states=>[:positioned])
108
+ MINT::RadioButton.create(:name => "nodding",:x=>40, :y=>850, :width=>200, :height => 80,:states=>[:positioned])
109
+ MINT::RadioButton.create(:name => "tilting",:x=>440, :y=>850,:width=>200, :height => 80,:states=>[:positioned])
110
+ MINT::RadioButton.create(:name => "turning",:x=>840, :y=>850,:width=>200, :height => 80,:states=>[:positioned])
111
+ end
112
+
113
+ it "should sync to displayed" do
114
+ @interactive_sheet.process_event(:present)
115
+ @interactive_sheet.states.should == [:defocused]
116
+ MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
117
+ MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
118
+ MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
119
+ MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
120
+ MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
121
+ MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
122
+ end
123
+
124
+ it "should sync interactive_sheet to highlighted" do
125
+ @interactive_sheet.process_event(:present)
126
+ @interactive_sheet.process_event(:focus)
127
+ @interactive_sheet.states.should == [:focused]
128
+ MINT::CIC.first(:name=>"interactive_sheet").states.should == [:highlighted]
129
+ MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
130
+ MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
131
+ MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
132
+ MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
133
+ MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
134
+ end
135
+
136
+ it "should sync sheets to highlighted" do
137
+ @interactive_sheet.process_event(:present)
138
+ @sheets = MINT::AIC.first(:name=>"sheets")
139
+ @sheets.process_event(:focus)
140
+ @sheets.states.should == [:focused]
141
+ MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
142
+ MINT::SingleHighlight.first(:name=>"sheets").states.should == [:highlighted]
143
+ MINT::RadioButtonGroup.first(:name=>"option").states.should == [:displayed]
144
+ MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
145
+ MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
146
+ MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
147
+ end
148
+
149
+ it "should sync option to highlighted" do
150
+ @interactive_sheet.process_event(:present)
151
+ @sheets = MINT::AIC.first(:name=>"sheets")
152
+ @option = MINT::AISingleChoice.first(:name=>"option")
153
+ @option.process_event(:focus)
154
+ @option.states.should == [:focused, :listing]
155
+ MINT::CIC.first(:name=>"interactive_sheet").states.should == [:displayed]
156
+ MINT::SingleHighlight.first(:name=>"sheets").states.should == [:displayed]
157
+ MINT::RadioButtonGroup.first(:name=>"option").states.should == [:highlighted]
158
+ MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :listed]
159
+ MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
160
+ MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
161
+ end
162
+
163
+ it "should sync only one RadioButton to selected at a time" do
164
+ @interactive_sheet.process_event(:present)
165
+
166
+ MINT::AISingleChoiceElement.first(:name=>"nodding").process_event(:choose)
167
+
168
+ MINT::AISingleChoiceElement.first(:name=>"nodding").states.should == [:defocused, :chosen]
169
+ MINT::AISingleChoiceElement.first(:name=>"tilting").states.should == [:defocused, :unchosen]
170
+ MINT::AISingleChoiceElement.first(:name=>"turning").states.should == [:defocused, :unchosen]
171
+
172
+ MINT::RadioButton.first(:name=>"nodding").states.should == [:displayed, :selected]
173
+ MINT::RadioButton.first(:name=>"tilting").states.should == [:displayed, :listed]
174
+ MINT::RadioButton.first(:name=>"turning").states.should == [:displayed, :listed]
175
+ end
176
+
177
+ end
178
+
179
+ end
data/spec/rcov.opts ADDED
@@ -0,0 +1,2 @@
1
+ --exclude "spec/*,gems/*"
2
+ --rails
data/spec/spec.opts ADDED
@@ -0,0 +1,4 @@
1
+ --colour
2
+ --format progress
3
+ --loadby mtime
4
+ --reverse
@@ -0,0 +1,7 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+
3
+ require 'rubygems'
4
+ require "spec"
5
+ require "MINT-core"
6
+ require "MINT-scxml"
7
+
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,227 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: MINT-core
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Sebastian Feuerstack
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-11-02 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ hash: 27
27
+ segments:
28
+ - 0
29
+ - 1
30
+ - 0
31
+ version: 0.1.0
32
+ type: :runtime
33
+ requirement: *id001
34
+ prerelease: false
35
+ name: dm-rinda-adapter
36
+ - !ruby/object:Gem::Dependency
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ hash: 27
43
+ segments:
44
+ - 1
45
+ - 2
46
+ - 2
47
+ version: 1.2.2
48
+ type: :runtime
49
+ requirement: *id002
50
+ prerelease: false
51
+ name: MINT-statemachine
52
+ - !ruby/object:Gem::Dependency
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ hash: 23
59
+ segments:
60
+ - 1
61
+ - 0
62
+ - 0
63
+ version: 1.0.0
64
+ type: :runtime
65
+ requirement: *id003
66
+ prerelease: false
67
+ name: cassowary
68
+ - !ruby/object:Gem::Dependency
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 17
75
+ segments:
76
+ - 2
77
+ - 9
78
+ version: "2.9"
79
+ type: :development
80
+ requirement: *id004
81
+ prerelease: false
82
+ name: hoe
83
+ description: |-
84
+ Multimodal systems realizing a combination of speech, gesture and
85
+ graphical-driven interaction are getting part of our everyday life.
86
+
87
+ Examples are in-car assistance systems or recent game consoles.
88
+ Future interaction will be embedded into smart environments offering
89
+ the user to choose and to combine a heterogeneous set of interaction
90
+ devices and modalities based on his preferences realizing an ubiquitous
91
+ and multimodal access.
92
+
93
+ The MINT Framework enables the design, creation, and execution of
94
+ multimodal interfaces.
95
+
96
+ The MINT core gem contains all basic AUI and CUI models as well as
97
+ the basic infrastructure to create interactors and mappings. Please
98
+ not that you need at least a CUI adapter gem to be able to actually
99
+ run a system, e.g. the MINT-rails gem.
100
+ email:
101
+ - Sebastian@Feuerstack.org
102
+ executables:
103
+ - mint-aui
104
+ - mint-cui-gfx
105
+ - mint-juggernaut.sh
106
+ - mint-tuplespace
107
+ extensions: []
108
+
109
+ extra_rdoc_files:
110
+ - History.txt
111
+ - Manifest.txt
112
+ - PostInstall.txt
113
+ files:
114
+ - Gemfile
115
+ - Gemfile.lock
116
+ - History.txt
117
+ - MINT-core.gemspec
118
+ - Manifest.txt
119
+ - PostInstall.txt
120
+ - README.rdoc
121
+ - Rakefile
122
+ - bin/mint-aui
123
+ - bin/mint-cui-gfx
124
+ - bin/mint-juggernaut.sh
125
+ - bin/mint-tuplespace
126
+ - lib/MINT-core.rb
127
+ - lib/MINT-core/agent/agent.rb
128
+ - lib/MINT-core/agent/aui.rb
129
+ - lib/MINT-core/agent/auicontrol.rb
130
+ - lib/MINT-core/agent/cui-gfx.rb
131
+ - lib/MINT-core/agent/cuicontrol.rb
132
+ - lib/MINT-core/mapping/complementary.rb
133
+ - lib/MINT-core/mapping/mapping.rb
134
+ - lib/MINT-core/mapping/on_state_change.rb
135
+ - lib/MINT-core/mapping/sequential.rb
136
+ - lib/MINT-core/model/aui/AIC.rb
137
+ - lib/MINT-core/model/aui/AIChoice.rb
138
+ - lib/MINT-core/model/aui/AIINChoose.rb
139
+ - lib/MINT-core/model/aui/AIMultiChoice.rb
140
+ - lib/MINT-core/model/aui/AIMultiChoiceElement.rb
141
+ - lib/MINT-core/model/aui/AIO.rb
142
+ - lib/MINT-core/model/aui/AIOUTDiscrete.rb
143
+ - lib/MINT-core/model/aui/AISingleChoice.rb
144
+ - lib/MINT-core/model/aui/AISingleChoiceElement.rb
145
+ - lib/MINT-core/model/aui/AISinglePresence.rb
146
+ - lib/MINT-core/model/aui/aic.png
147
+ - lib/MINT-core/model/aui/aic.scxml
148
+ - lib/MINT-core/model/aui/aichoice.png
149
+ - lib/MINT-core/model/aui/aichoice.scxml
150
+ - lib/MINT-core/model/aui/aio.png
151
+ - lib/MINT-core/model/aui/aio.scxml
152
+ - lib/MINT-core/model/aui/aisinglechoiceelement.png
153
+ - lib/MINT-core/model/aui/aisinglechoiceelement.scxml
154
+ - lib/MINT-core/model/aui/aisinglepresence.png
155
+ - lib/MINT-core/model/aui/aisinglepresence.scxml
156
+ - lib/MINT-core/model/aui/model.rb
157
+ - lib/MINT-core/model/body/gesture_button.rb
158
+ - lib/MINT-core/model/body/handgesture.rb
159
+ - lib/MINT-core/model/body/head.png
160
+ - lib/MINT-core/model/body/head.rb
161
+ - lib/MINT-core/model/body/head.scxml
162
+ - lib/MINT-core/model/cui/gfx/CIC.rb
163
+ - lib/MINT-core/model/cui/gfx/CIO.rb
164
+ - lib/MINT-core/model/cui/gfx/model.rb
165
+ - lib/MINT-core/model/cui/gfx/screen.rb
166
+ - lib/MINT-core/model/device/button.rb
167
+ - lib/MINT-core/model/device/joypad.rb
168
+ - lib/MINT-core/model/device/mouse.rb
169
+ - lib/MINT-core/model/device/pointer.rb
170
+ - lib/MINT-core/model/device/wheel.rb
171
+ - lib/MINT-core/model/interactor.rb
172
+ - lib/MINT-core/model/task.rb
173
+ - lib/MINT-core/overrides/rinda.rb
174
+ - script/console
175
+ - script/destroy
176
+ - script/generate
177
+ - spec/AIC_spec.rb
178
+ - spec/AISinglePresence_spec.rb
179
+ - spec/MINT-core_spec.rb
180
+ - spec/aio_agent_spec.rb
181
+ - spec/aio_spec.rb
182
+ - spec/aisinglechoice_spec.rb
183
+ - spec/aisinglechoiceelement_spec.rb
184
+ - spec/cio_spec.rb
185
+ - spec/core_spec.rb
186
+ - spec/music_spec.rb
187
+ - spec/rcov.opts
188
+ - spec/spec.opts
189
+ - spec/spec_helper.rb
190
+ - tasks/rspec.rake
191
+ - .gemtest
192
+ homepage: http://github.com/sfeu/MINT-core
193
+ licenses: []
194
+
195
+ post_install_message: PostInstall.txt
196
+ rdoc_options:
197
+ - --main
198
+ - README.rdoc
199
+ require_paths:
200
+ - lib
201
+ required_ruby_version: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ hash: 3
207
+ segments:
208
+ - 0
209
+ version: "0"
210
+ required_rubygems_version: !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ hash: 3
216
+ segments:
217
+ - 0
218
+ version: "0"
219
+ requirements: []
220
+
221
+ rubyforge_project: MINT-core
222
+ rubygems_version: 1.8.5
223
+ signing_key:
224
+ specification_version: 3
225
+ summary: Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life
226
+ test_files: []
227
+