MINT-debugger 1.0.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.
File without changes
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source :rubygems
2
+ gem "MINT-scxml","1.0.0"
3
+ gem "MINT-statemachine", "1.2.3"
4
+ gem "MINT-core", "1.0.0"
5
+ gem "rspec", "1.3.1"
6
+ gem "dm-core","0.10.2"
7
+ gem "dm-rinda-adapter" , "0.1.2"
8
+ gem "rake","0.9.2"
9
+ gem "dm-types","0.10.2"
10
+ gem "wxruby","2.0.0"
11
+ gem "rmagick","2.13.1"
12
+ gem "eventmachine", "0.12.10"
13
+ gem "hoe", "2.9.6"
@@ -0,0 +1,54 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ MINT-core (1.0.0)
5
+ MINT-statemachine (~> 1.2.2)
6
+ cassowary (~> 1.0.0)
7
+ dm-rinda-adapter (~> 0.1.0)
8
+ MINT-scxml (1.0.0)
9
+ MINT-statemachine (~> 1.2.3)
10
+ MINT-statemachine (1.2.3)
11
+ addressable (2.2.6)
12
+ bcrypt-ruby (2.1.4)
13
+ cassowary (1.0.0)
14
+ dm-core (0.10.2)
15
+ addressable (~> 2.1)
16
+ extlib (~> 0.9.14)
17
+ dm-rinda-adapter (0.1.2)
18
+ dm-core (~> 0.10.2)
19
+ dm-types (0.10.2)
20
+ bcrypt-ruby (~> 2.1.2)
21
+ dm-core (~> 0.10.2)
22
+ fastercsv (~> 1.5.0)
23
+ json_pure (~> 1.2.0)
24
+ stringex (~> 1.1.0)
25
+ uuidtools (~> 2.1.1)
26
+ eventmachine (0.12.10)
27
+ extlib (0.9.15)
28
+ fastercsv (1.5.4)
29
+ hoe (2.9.6)
30
+ rake (~> 0.8)
31
+ json_pure (1.2.4)
32
+ rake (0.9.2)
33
+ rmagick (2.13.1)
34
+ rspec (1.3.1)
35
+ stringex (1.1.0)
36
+ uuidtools (2.1.2)
37
+ wxruby (2.0.0)
38
+
39
+ PLATFORMS
40
+ ruby
41
+
42
+ DEPENDENCIES
43
+ MINT-core (= 1.0.0)
44
+ MINT-scxml (= 1.0.0)
45
+ MINT-statemachine (= 1.2.3)
46
+ dm-core (= 0.10.2)
47
+ dm-rinda-adapter (= 0.1.2)
48
+ dm-types (= 0.10.2)
49
+ eventmachine (= 0.12.10)
50
+ hoe (= 2.9.6)
51
+ rake (= 0.9.2)
52
+ rmagick (= 2.13.1)
53
+ rspec (= 1.3.1)
54
+ wxruby (= 2.0.0)
@@ -0,0 +1,6 @@
1
+ === 1.0.0 / 2011-08-08
2
+
3
+ * 1 major enhancement
4
+
5
+ * Birthday!
6
+
@@ -0,0 +1,39 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{MINT-debugger}
5
+ s.version = "0.0.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = [%q{Sebastian Feuerstack}]
9
+ s.date = %q{2011-11-02}
10
+ s.description = %q{The Multimodal Interaction Framwork debugger enables model inspection at system runtime.}
11
+ s.email = [%q{Sebastian@Feuerstack.org}]
12
+ s.executables = [%q{mint-debugger}]
13
+ s.extra_rdoc_files = [%q{History.txt}, %q{Manifest.txt}, %q{lib/MINT-debugger/licence-code.txt}]
14
+ s.files = [%q{Gemfile}, %q{Gemfile.lock}, %q{History.txt}, %q{MINT-debugger.gemspec}, %q{Manifest.txt}, %q{README.rdoc}, %q{Rakefile}, %q{bin/mint-debugger}, %q{lib/MINT-debugger.rb}, %q{lib/MINT-debugger/MINT-Logo-short-bg.png}, %q{lib/MINT-debugger/debugger2.rb}, %q{lib/MINT-debugger/licence-code.txt}, %q{.gemtest}]
15
+ s.homepage = %q{http://www.multi-access.de}
16
+ s.rdoc_options = [%q{--main}, %q{README.rdoc}]
17
+ s.require_paths = [%q{lib}]
18
+ s.rubyforge_project = %q{MINT-debugger}
19
+ s.rubygems_version = %q{1.8.5}
20
+ s.summary = %q{The Multimodal Interaction Framwork debugger enables model inspection at system runtime.}
21
+
22
+ if s.respond_to? :specification_version then
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<MINT-core>, ["~> 1.0.0"])
27
+ s.add_runtime_dependency(%q<wxruby>, ["~> 2.0.0"])
28
+ s.add_development_dependency(%q<hoe>, ["~> 2.9"])
29
+ else
30
+ s.add_dependency(%q<MINT-core>, ["~> 1.0.0"])
31
+ s.add_dependency(%q<wxruby>, ["~> 2.0.0"])
32
+ s.add_dependency(%q<hoe>, ["~> 2.9"])
33
+ end
34
+ else
35
+ s.add_dependency(%q<MINT-core>, ["~> 1.0.0"])
36
+ s.add_dependency(%q<wxruby>, ["~> 2.0.0"])
37
+ s.add_dependency(%q<hoe>, ["~> 2.9"])
38
+ end
39
+ end
@@ -0,0 +1,12 @@
1
+ Gemfile
2
+ Gemfile.lock
3
+ History.txt
4
+ MINT-debugger.gemspec
5
+ Manifest.txt
6
+ README.rdoc
7
+ Rakefile
8
+ bin/mint-debugger
9
+ lib/MINT-debugger.rb
10
+ lib/MINT-debugger/MINT-Logo-short-bg.png
11
+ lib/MINT-debugger/debugger2.rb
12
+ lib/MINT-debugger/licence-code.txt
@@ -0,0 +1,63 @@
1
+ = MINT-debugger
2
+
3
+ * http://www.multi-access.de
4
+
5
+ == DESCRIPTION:
6
+
7
+ The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
8
+
9
+ == FEATURES/PROBLEMS:
10
+
11
+ * Still alpha - it just runs on my machine ;-)
12
+
13
+ == SYNOPSIS:
14
+
15
+ Just run the debugger. Needs a tuplespace to connect to.
16
+
17
+ mint-debugger
18
+
19
+ == REQUIREMENTS:
20
+
21
+ * Requires libsdl and libmagick.
22
+
23
+ For a easy installation just install teh following packages on your ubuntu 10.04 LTS machine:
24
+
25
+ sudo apt-get install build-essential libsdl-dev libsdl-mixer1.2-dev libmagickcore-dev libmagickwand-dev libwxbase2.8-0 libwxgtk2.8-0
26
+
27
+ == INSTALL:
28
+
29
+ * sudo gem install MINT-debugger
30
+
31
+ == DEVELOPERS:
32
+
33
+ After checking out the source, run:
34
+
35
+ $ rake newb
36
+
37
+ This task will install any missing dependencies, run the tests/specs,
38
+ and generate the RDoc.
39
+
40
+ == LICENSE:
41
+
42
+ (The MIT License)
43
+
44
+ Copyright (c) 2011 Sebastian Feuerstack
45
+
46
+ Permission is hereby granted, free of charge, to any person obtaining
47
+ a copy of this software and associated documentation files (the
48
+ 'Software'), to deal in the Software without restriction, including
49
+ without limitation the rights to use, copy, modify, merge, publish,
50
+ distribute, sublicense, and/or sell copies of the Software, and to
51
+ permit persons to whom the Software is furnished to do so, subject to
52
+ the following conditions:
53
+
54
+ The above copyright notice and this permission notice shall be
55
+ included in all copies or substantial portions of the Software.
56
+
57
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
58
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
59
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
60
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
61
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
62
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
63
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,23 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+
6
+ # Hoe.plugin :compiler
7
+ # Hoe.plugin :cucumberfeatures
8
+ # Hoe.plugin :gem_prelude_sucks
9
+ # Hoe.plugin :inline
10
+ # Hoe.plugin :manifest
11
+ Hoe.plugin :newgem
12
+ # Hoe.plugin :racc
13
+ # Hoe.plugin :rubyforge
14
+ # Hoe.plugin :website
15
+
16
+ Hoe.spec 'MINT-debugger' do
17
+ self.developer 'Sebastian Feuerstack', 'Sebastian@Feuerstack.org'
18
+ self.rubyforge_name = self.name # TODO this is default value
19
+ self.extra_deps = [['MINT-core','~> 1.0.0'],
20
+ ['wxruby',"~>2.0.0"]]
21
+ end
22
+
23
+ # vim: syntax=ruby
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
+ require 'MINT-debugger'
5
+
6
+ require 'rubygems'
7
+ require 'bundler/setup'
8
+ require 'MINT-core'
9
+
10
+ include MINT
11
+
12
+ # Wx::App is the container class for any wxruby app. To start an
13
+ # application, either define a subclass of Wx::App, create an instance,
14
+ # and call its main_loop method, OR, simply call the Wx::App.run class
15
+ # method, as shown here.
16
+ Wx::App.run do
17
+ self.app_name = 'MINT Debugger'
18
+
19
+ frame = MinimalFrame.new("MINT Debugger")
20
+ frame.show
21
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ module MINTDebugger
5
+ VERSION = '1.0.0'
6
+ end
7
+
8
+ require 'rubygems'
9
+ require "bundler/setup"
10
+ require 'dm-core'
11
+ require 'MINT-core'
12
+ require 'wx'
13
+ require 'time'
14
+
15
+ require "MINT-debugger/debugger2"
16
+
@@ -0,0 +1,238 @@
1
+
2
+
3
+ DataMapper.setup(:default, { :adapter => "rinda", :host =>"localhost",:port=>4000})
4
+
5
+ ID_REFRESH = 1235
6
+ ID_DELETE_ENTRY = 1236
7
+
8
+ class NBPanel < Wx::Panel
9
+ attr_accessor :win
10
+ def initialize(parent)
11
+ super(parent, -1)
12
+ evt_size {|event| on_size(event)}
13
+ @win
14
+ end
15
+
16
+ def on_size(event)
17
+ win.set_size(event.get_size())
18
+ win.notfifyNewSize(event.get_size())
19
+ end
20
+ end
21
+
22
+ class DataModel < Wx::ListCtrl
23
+
24
+ def initialize(col_labels,modelname,parent)
25
+ super(parent, :style => Wx::LC_REPORT | Wx::LC_VIRTUAL)
26
+ @col_labels = col_labels
27
+ @modelname = modelname
28
+ col_labels.each_with_index { |c,i|
29
+ insert_column(i,c,Wx::LIST_FORMAT_LEFT, -1)
30
+ set_column_width(i,175)
31
+ }
32
+
33
+ @query = [modelname]
34
+ col_labels.each {
35
+ @query << nil
36
+ }
37
+
38
+ read_data(modelname)
39
+
40
+ # to fill the data into the list using the on_get_item_text callbacks
41
+ set_item_count @data.size
42
+ end
43
+
44
+ def read_data (modelname)
45
+
46
+ @data = []
47
+
48
+ result = modelname.class.all
49
+ result.each do |entry|
50
+ row = []
51
+ @col_labels.each do |col|
52
+ row << entry.method(col.intern).call
53
+ end
54
+ @data << row
55
+ end
56
+
57
+ p @data
58
+ @data
59
+ end
60
+
61
+ def delete_data(items)
62
+ items.sort!{|x,y| y <=> x }
63
+
64
+ items.each { |i|
65
+ query = { }
66
+ @col_labels.each_with_index do |col,j|
67
+ query[col]=@data[i][j]
68
+ end
69
+ p "Delete query #{query.inspect}"
70
+ result = @modelname.class.first(query)
71
+ p "Delete result #{result.inspect}"
72
+ result.destroy!
73
+ @data.delete_at(i)
74
+ }
75
+ refresh_data
76
+ end
77
+
78
+ def refresh_data
79
+ read_data (@modelname)
80
+ set_item_count @data.size
81
+ refresh_items(0,@data.size)
82
+ p "Refresh to #{@data.size}"
83
+ end
84
+
85
+ # use array like indexing of fields in Struct to
86
+ # directly retrieve data for display
87
+ def on_get_item_text(item, column)
88
+ @data[item][column].to_s
89
+
90
+ end
91
+
92
+ # used to rearrange columns width's based on window width
93
+ def notfifyNewSize(size)
94
+ @col_labels.each_with_index { |c,i|
95
+ set_column_width(i,size.get_width/@col_labels.size)
96
+ }
97
+ end
98
+ end
99
+
100
+ # A Wx::Frame is a self-contained, top-level Window that can contain
101
+ # controls, menubars, and statusbars
102
+ class MinimalFrame < Wx::Frame
103
+ def initialize(title)
104
+ # The main application frame has no parent (nil)
105
+ super(nil, :title => title, :size => [ 800, 600 ])
106
+
107
+ @logo_icon = Wx::Image.new(File.dirname(__FILE__)+"/MINT-Logo-short-bg.png") # load the image from the file
108
+ @logo_image = Wx::Bitmap.new(@logo_icon)
109
+
110
+
111
+ @licence = File.read(File.dirname(__FILE__)+"/licence-code.txt")
112
+
113
+ splash = Wx::SplashScreen.new(@logo_image,
114
+ Wx::SPLASH_CENTRE_ON_SCREEN|Wx::SPLASH_TIMEOUT,
115
+ 3000, nil, -1)
116
+
117
+ @model_panels=[]
118
+
119
+ menu_bar = Wx::MenuBar.new
120
+ # The "file" menu
121
+ menu_file = Wx::Menu.new
122
+ # Using Wx::ID_EXIT standard id means the menu item will be given
123
+ # the right label for the platform and language, and placed in the
124
+ # correct platform-specific menu - eg on OS X, in the Application's menu
125
+ menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
126
+ menu_file.append(ID_REFRESH, "&Refresh\tAlt-R", "Refresh models")
127
+
128
+ menu_bar.append(menu_file, "&File")
129
+
130
+ # The Model menu
131
+ # menu_model= Wx::Menu.new
132
+ #menu_model.append(ID_DELETE_ENTRY, "&Delete Entry\tAlt-D", "Deletes Selected Entries")
133
+ #menu_bar.append(menu_model, "&Model")
134
+
135
+ # The "help" menu
136
+ menu_help = Wx::Menu.new
137
+ menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
138
+ menu_bar.append(menu_help, "&Help")
139
+
140
+ # Assign the menubar to this frame
141
+ self.menu_bar = menu_bar
142
+
143
+ # Create a status bar at the bottom of the frame
144
+ @status_bar = create_status_bar(2)
145
+ self.status_text = "Happy debugging!"
146
+
147
+ # Set it up to handle menu events using the relevant methods.
148
+ evt_menu Wx::ID_EXIT, :on_quit
149
+ evt_menu Wx::ID_ABOUT, :on_about
150
+ evt_menu(ID_REFRESH) { |event| refreshAllModels(event,self)}
151
+ evt_menu(ID_DELETE_ENTRY) { |event| deleteEntry(event)}
152
+
153
+ @m_notebook = Wx::Notebook.new(self, -1,Wx::DEFAULT_POSITION,
154
+ Wx::DEFAULT_SIZE)
155
+
156
+ # Task Model
157
+ panel = create_list_panel(@m_notebook, MINT::Task.new, ["name","states","abstract_states","new_states","description"])
158
+ @m_notebook.add_page(panel,"Task-Model",TRUE)
159
+
160
+ # AUI Model
161
+ panel = create_list_panel(@m_notebook, MINT::AIO.new, ["name","class","states","abstract_states","new_states","label","description"])
162
+ @m_notebook.add_page(panel,"AUI-Model",TRUE)
163
+
164
+ # PTS Model
165
+ panel = create_list_panel(@m_notebook, MINT::PTS.new, ["name","states","abstract_states","new_states"])
166
+ @m_notebook.add_page(panel,"PTS",TRUE)
167
+
168
+ # Domain
169
+ #panel = create_list_panel(@m_notebook, Domain.new, ["task","description","options"])
170
+ #@m_notebook.add_page(panel,"Domain-Model",TRUE)
171
+
172
+ # CUI
173
+ # panel = create_list_panel(@m_notebook, MINT::Box.new, ["name","state","x","y","width","height","layer"])
174
+ # @m_notebook.add_page(panel,"CUI-Model-Box",TRUE)
175
+
176
+ # CUI Layout-Calc
177
+ panel = create_list_panel(@m_notebook, MINT::CIO.new, ["name","class","states","abstract_states","new_states","width","height","x","y","layer","row","col"])
178
+ #"text","minwidth","minheight","optspace","minspace",
179
+ @m_notebook.add_page(panel,"CUI-gfx",TRUE)
180
+
181
+ # Mouse
182
+ panel = create_list_panel(@m_notebook, MINT::Pointer3D.new, ["name","states","abstract_states","new_states","x","y","z"])
183
+ @m_notebook.add_page(panel,"MouseHTML",TRUE)
184
+
185
+ # IR
186
+ panel = create_list_panel(@m_notebook, MINT::OneHand.new, ["class","name","states","abstract_states","new_states","amount"])
187
+ @m_notebook.add_page(panel,"Gesture",TRUE)
188
+ # IR
189
+ panel = create_list_panel(@m_notebook, MINT::Element.new, ["class","name","states","abstract_states","new_states"])
190
+ @m_notebook.add_page(panel,"Element",TRUE)
191
+ end
192
+
193
+ def refreshAllModels(event,frame)
194
+ p "Refresh all"
195
+ @model_panels.each { |p|
196
+ p.refresh_data
197
+ }
198
+ @status_bar.push_status_text "Refreshed at #{Time.now}"
199
+ end
200
+
201
+ def deleteEntry(event)
202
+ p "Delete Entry"
203
+ selections = @m_notebook.get_current_page.win.get_selections
204
+ @m_notebook.get_current_page.win.delete_data(selections)
205
+ end
206
+
207
+ def create_list_panel(notebook, modelname, col_labels)
208
+ panel = NBPanel.new(notebook)
209
+
210
+ list = DataModel.new(col_labels,modelname,panel)
211
+ @model_panels << list
212
+ panel.win = list
213
+
214
+
215
+ box = Wx::BoxSizer.new(Wx::HORIZONTAL)
216
+ box.add(panel, 1, Wx::EXPAND)
217
+ panel
218
+ end
219
+ # End the application; it should finish automatically when the last
220
+ # window is closed.
221
+ def on_quit
222
+ close()
223
+ end
224
+
225
+ # show an 'About' dialog - WxRuby's about_box function will show a
226
+ # platform-native 'About' dialog, but you could also use an ordinary
227
+ # Wx::MessageDialog here.
228
+ def on_about
229
+ Wx::about_box(:name => self.title,
230
+ :version => "1.0",
231
+ :description => "This is the initial version of the MINT Debugger",
232
+ :developers => ['Dr.-Ing. Sebastian Feuerstack'] ,
233
+ :copyright => "(C) Sebastian Feuerstack 2010",
234
+ :web_site => "http://www.multi-access.de",
235
+ :licence => @licence,
236
+ :icon => Wx::Icon.from_bitmap(@logo_image))
237
+ end
238
+ end
@@ -0,0 +1,31 @@
1
+ The MINT framework is developed by Sebastian Feuerstack Copyright (C)
2
+ 2010 Sebastian Feuerstack
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU Affero General Public License version 3
6
+ as published by the Free Software Foundation.
7
+
8
+ This program is distributed in the hope that it will be useful, but
9
+ WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ General Public License for more details.
12
+
13
+ You should have received a copy of the GNU Affero General Public
14
+ License along with this program; if not, see
15
+ http://www.gnu.org/licenses or write to the Free Software Foundation,
16
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+
18
+ You can contact Sebastian Feuerstack using the contact formular on his
19
+ homepage http://www.feuerstack.org.
20
+
21
+ The modified source and object code versions of this program must
22
+ display Appropriate Legal Notices, as required under Section 5 of the
23
+ GNU Affero General Public License version 3.
24
+
25
+ In accordance with Section 7(b) of the GNU Affero General Public
26
+ License version 3, these Appropriate Legal Notices must retain the
27
+ display of the "Powered by MINT Framework" logo. If the display of
28
+ the logo is not reasonably feasible for technical reasons, the
29
+ Appropriate Legal Notices must display the words "Powered by MINT
30
+ Framework".
31
+
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: MINT-debugger
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
+ name: MINT-core
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 23
29
+ segments:
30
+ - 1
31
+ - 0
32
+ - 0
33
+ version: 1.0.0
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: wxruby
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 15
45
+ segments:
46
+ - 2
47
+ - 0
48
+ - 0
49
+ version: 2.0.0
50
+ type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: hoe
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 17
61
+ segments:
62
+ - 2
63
+ - 9
64
+ version: "2.9"
65
+ type: :development
66
+ version_requirements: *id003
67
+ description: The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
68
+ email:
69
+ - Sebastian@Feuerstack.org
70
+ executables:
71
+ - mint-debugger
72
+ extensions: []
73
+
74
+ extra_rdoc_files:
75
+ - History.txt
76
+ - Manifest.txt
77
+ - lib/MINT-debugger/licence-code.txt
78
+ files:
79
+ - Gemfile
80
+ - Gemfile.lock
81
+ - History.txt
82
+ - MINT-debugger.gemspec
83
+ - Manifest.txt
84
+ - README.rdoc
85
+ - Rakefile
86
+ - bin/mint-debugger
87
+ - lib/MINT-debugger.rb
88
+ - lib/MINT-debugger/MINT-Logo-short-bg.png
89
+ - lib/MINT-debugger/debugger2.rb
90
+ - lib/MINT-debugger/licence-code.txt
91
+ - .gemtest
92
+ homepage: http://www.multi-access.de
93
+ licenses: []
94
+
95
+ post_install_message:
96
+ rdoc_options:
97
+ - --main
98
+ - README.rdoc
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ requirements: []
120
+
121
+ rubyforge_project: MINT-debugger
122
+ rubygems_version: 1.8.5
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: The Multimodal Interaction Framwork debugger enables model inspection at system runtime.
126
+ test_files: []
127
+