midas 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/.bundle/config +2 -0
  2. data/.document +5 -0
  3. data/.gitignore +32 -0
  4. data/Gemfile +12 -0
  5. data/LICENSE +20 -0
  6. data/README.textile +21 -0
  7. data/Rakefile +84 -0
  8. data/VERSION +1 -0
  9. data/features/step_definitions/editor_steps.rb +16 -0
  10. data/features/step_definitions/web_steps.rb +205 -0
  11. data/features/support/env.rb +39 -0
  12. data/features/support/paths.rb +29 -0
  13. data/features/view_editor.feature +8 -0
  14. data/generators/midas/midas_generator.rb +1 -0
  15. data/lib/midas.rb +1 -0
  16. data/midas.gemspec +131 -0
  17. data/public/images/midas/toolbars/actions/_background.png +0 -0
  18. data/public/images/midas/toolbars/actions/_background_radio.png +0 -0
  19. data/public/images/midas/toolbars/actions/_separator.png +0 -0
  20. data/public/images/midas/toolbars/actions/extra/prefspane.png +0 -0
  21. data/public/images/midas/toolbars/actions/extra/todospane.png +0 -0
  22. data/public/images/midas/toolbars/actions/historypanel.png +0 -0
  23. data/public/images/midas/toolbars/actions/insertcharacter.png +0 -0
  24. data/public/images/midas/toolbars/actions/insertlink.png +0 -0
  25. data/public/images/midas/toolbars/actions/insertmedia.png +0 -0
  26. data/public/images/midas/toolbars/actions/insertobject.png +0 -0
  27. data/public/images/midas/toolbars/actions/inserttable.png +0 -0
  28. data/public/images/midas/toolbars/actions/inspectorpanel.png +0 -0
  29. data/public/images/midas/toolbars/actions/notespanel.png +0 -0
  30. data/public/images/midas/toolbars/actions/preview.png +0 -0
  31. data/public/images/midas/toolbars/actions/redo.png +0 -0
  32. data/public/images/midas/toolbars/actions/save.png +0 -0
  33. data/public/images/midas/toolbars/actions/undo.png +0 -0
  34. data/public/images/midas/toolbars/htmleditor/_background.png +0 -0
  35. data/public/images/midas/toolbars/htmleditor/_line_separator.png +0 -0
  36. data/public/images/midas/toolbars/htmleditor/_separator.png +0 -0
  37. data/public/images/midas/toolbars/htmleditor/buttons.png +0 -0
  38. data/public/javascripts/midas/config.js +181 -0
  39. data/public/javascripts/midas/dialog.js +9 -0
  40. data/public/javascripts/midas/midas.js +307 -0
  41. data/public/javascripts/midas/native_extensions.js +43 -0
  42. data/public/javascripts/midas/palette.js +108 -0
  43. data/public/javascripts/midas/region.js +194 -0
  44. data/public/javascripts/midas/statusbar.js +84 -0
  45. data/public/javascripts/midas/toolbar.js +255 -0
  46. data/public/javascripts/prototype.js +6001 -0
  47. data/public/midas/backcolor.html +97 -0
  48. data/public/midas/examples/bundled.html +60 -0
  49. data/public/midas/examples/iframe.html +73 -0
  50. data/public/midas/examples/index.html +73 -0
  51. data/public/midas/examples/javascript_archive.js +111 -0
  52. data/public/midas/forecolor.html +97 -0
  53. data/public/stylesheets/midas/dialog.css +2 -0
  54. data/public/stylesheets/midas/midas.css +9 -0
  55. data/public/stylesheets/midas/palette.css +50 -0
  56. data/public/stylesheets/midas/region.css +16 -0
  57. data/public/stylesheets/midas/statusbar.css +17 -0
  58. data/public/stylesheets/midas/toolbar.css +262 -0
  59. data/rails/init.rb +1 -0
  60. data/spec/javascripts/dialog_spec.js +7 -0
  61. data/spec/javascripts/fixtures/midas_fixture.html +27 -0
  62. data/spec/javascripts/fixtures/midas_styles.css +14 -0
  63. data/spec/javascripts/fixtures/native_extensions_fixture.html +5 -0
  64. data/spec/javascripts/helpers/browser_detection.js +15 -0
  65. data/spec/javascripts/helpers/event_simulation.js +505 -0
  66. data/spec/javascripts/helpers/spec_helper.js +125 -0
  67. data/spec/javascripts/midas_spec.js +284 -0
  68. data/spec/javascripts/native_extensions_spec.js +39 -0
  69. data/spec/javascripts/palette_spec.js +59 -0
  70. data/spec/javascripts/region_spec.js +441 -0
  71. data/spec/javascripts/statusbar_spec.js +61 -0
  72. data/spec/javascripts/support/jasmine.yml +82 -0
  73. data/spec/javascripts/support/jasmine_config.rb +39 -0
  74. data/spec/javascripts/support/jasmine_runner.rb +19 -0
  75. data/spec/javascripts/toolbar_spec.js +149 -0
  76. data/spec/ruby/helpers/spec_helper.rb +9 -0
  77. data/spec/ruby/midas_spec.rb +9 -0
  78. data/spec/spec.opts +1 -0
  79. data/tasks/midas_tasks.rake +105 -0
  80. metadata +166 -0
@@ -0,0 +1,82 @@
1
+ # src_files
2
+ #
3
+ # Return an array of filepaths relative to src_dir to include before jasmine specs.
4
+ # Default: []
5
+ #
6
+ # EXAMPLE:
7
+ #
8
+ # src_files:
9
+ # - lib/source1.js
10
+ # - lib/source2.js
11
+ # - dist/**/*.js
12
+ #
13
+ src_files:
14
+ - javascripts/prototype.js
15
+ # - javascripts/midas.min.js
16
+ - javascripts/midas/native_extensions.js
17
+ - javascripts/midas/midas.js
18
+ - javascripts/midas/region.js
19
+ - javascripts/midas/toolbar.js
20
+ - javascripts/midas/statusbar.js
21
+ - javascripts/midas/dialog.js
22
+ - javascripts/midas/palette.js
23
+ - javascripts/midas/config.js
24
+
25
+ # stylesheets
26
+ #
27
+ # Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
28
+ # Default: []
29
+ #
30
+ # EXAMPLE:
31
+ #
32
+ # stylesheets:
33
+ # - css/style.css
34
+ # - stylesheets/*.css
35
+ #
36
+ stylesheets:
37
+
38
+ # helpers
39
+ #
40
+ # Return an array of filepaths relative to spec_dir to include before jasmine specs.
41
+ # Default: ["helpers/**/*.js"]
42
+ #
43
+ # EXAMPLE:
44
+ #
45
+ # helpers:
46
+ # - helpers/**/*.js
47
+ #
48
+ helpers:
49
+
50
+ # spec_files
51
+ #
52
+ # Return an array of filepaths relative to spec_dir to include.
53
+ # Default: ["**/*[sS]pec.js"]
54
+ #
55
+ # EXAMPLE:
56
+ #
57
+ # spec_files:
58
+ # - **/*[sS]pec.js
59
+ #
60
+ spec_files:
61
+
62
+ # src_dir
63
+ #
64
+ # Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
65
+ # Default: project root
66
+ #
67
+ # EXAMPLE:
68
+ #
69
+ # src_dir: public
70
+ #
71
+ src_dir: public
72
+
73
+ # spec_dir
74
+ #
75
+ # Spec directory path. Your spec_files must be returned relative to this path.
76
+ # Default: spec/javascripts
77
+ #
78
+ # EXAMPLE:
79
+ #
80
+ # spec_dir: spec/javascripts
81
+ #
82
+ spec_dir:
@@ -0,0 +1,39 @@
1
+ module Jasmine
2
+ class Config
3
+
4
+ alias :original_js_files :js_files
5
+ def js_files(spec_filter)
6
+ generate_fixtures
7
+ original_js_files spec_filter
8
+ end
9
+
10
+ def generate_fixtures
11
+ FileUtils.cd File.join(spec_dir, 'fixtures') do
12
+ File.open 'fixtures.js', 'w' do |js_file|
13
+
14
+ # import html files
15
+ js_file.write %Q{jasmine.fixtures = {};\n}
16
+ Dir['*.html'].each do |filename|
17
+ js_file.write %Q{jasmine.fixtures['#{filename.sub(/\.html$/, '')}'] = "}
18
+ File.foreach filename do |line|
19
+ js_file.write line.chomp.gsub('"', '\\"')
20
+ end
21
+ js_file.write %Q{";\n\n}
22
+ end
23
+
24
+ # import css files
25
+ js_file.write %Q{\njasmine.css = {};\n}
26
+ Dir['*.css'].each do |filename|
27
+ js_file.write %Q{jasmine.css['#{filename.sub(/\.css$/, '')}'] = "}
28
+ File.foreach filename do |line|
29
+ js_file.write line.chomp.gsub('"', '\\"')
30
+ end
31
+ js_file.write %Q{";\n\n}
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'jasmine'
3
+ jasmine_config_overrides = File.expand_path(File.join(File.dirname(__FILE__), 'jasmine_config.rb'))
4
+ require jasmine_config_overrides if File.exists?(jasmine_config_overrides)
5
+
6
+ jasmine_config = Jasmine::Config.new
7
+ spec_builder = Jasmine::SpecBuilder.new(jasmine_config)
8
+
9
+ should_stop = false
10
+
11
+ Spec::Runner.configure do |config|
12
+ config.after(:suite) do
13
+ spec_builder.stop if should_stop
14
+ end
15
+ end
16
+
17
+ spec_builder.start
18
+ should_stop = true
19
+ spec_builder.declare_suites
@@ -0,0 +1,149 @@
1
+ describe('Midas.Toolbar', function() {
2
+
3
+ beforeEach(function() {
4
+ jasmine.loadFixture('midas_fixture');
5
+ jasmine.loadCSS('midas_styles');
6
+ });
7
+
8
+ afterEach(function () {
9
+ try {
10
+ this.toolbar.destroy();
11
+ this.toolbar = null;
12
+ } catch(e) {
13
+ this.toolbar = null;
14
+ }
15
+ jasmine.unloadCSS('midas_styles');
16
+ });
17
+
18
+ it('should accept options in the constructor', function() {
19
+ this.toolbar = new Midas.Toolbar({lettuce: 'banana'});
20
+
21
+ expect(this.toolbar.options['lettuce']).toEqual('banana');
22
+ });
23
+
24
+ it('should make a toolbar', function() {
25
+ this.toolbar = new Midas.Toolbar();
26
+
27
+ expect(this.toolbar.element).not.toBeFalsy();
28
+ expect($(this.toolbar.element.getAttribute('id'))).not.toBeFalsy(1);
29
+ expect($$('body .midas-toolbar').length).toEqual(1);
30
+ });
31
+
32
+ it('should generate an id for the toolbar it creates', function() {
33
+ this.toolbar = new Midas.Toolbar();
34
+
35
+ var id = this.toolbar.generateId();
36
+ expect($(id)).not.toBeNull();
37
+ expect(this.toolbar.generateId()).toEqual(id);
38
+ });
39
+
40
+ it('should be able to put the toolbar inside an existing element', function() {
41
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
42
+
43
+ expect($('toolbar').innerHTML).not.toEqual('toolbar');
44
+ });
45
+
46
+ it('should fill the toolbar with buttons (based on configuration)', function() {
47
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
48
+
49
+ expect($('toolbar').innerHTML).toContain('Save this page');
50
+ expect($('toolbar').innerHTML).toContain('class="midas-flex-separator"');
51
+ });
52
+
53
+ it('should make buttons and button groups', function() {
54
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
55
+
56
+ expect($('toolbar').select('.midas-group').length).toBeGreaterThan(2);
57
+ expect($('toolbar').innerHTML).toContain('class="midas-group"');
58
+ expect(this.toolbar.buttons['preview']['spec']).
59
+ toEqual(Midas.Config.toolbars['actions']['preview']);
60
+ });
61
+
62
+ it('should make separators', function() {
63
+ this.toolbar = new Midas.Toolbar();
64
+
65
+ expect(this.toolbar.makeSeparator('-').getAttribute('class')).toEqual('midas-line-separator');
66
+ expect(this.toolbar.makeSeparator('*').getAttribute('class')).toEqual('midas-flex-separator');
67
+ expect(this.toolbar.makeSeparator(' ').getAttribute('class')).toEqual('midas-separator');
68
+ });
69
+
70
+ it('should keep track of palettes that is has', function() {
71
+ this.toolbar = new Midas.Toolbar();
72
+
73
+ expect(this.toolbar.palettes.length).toEqual(1);
74
+ });
75
+
76
+ stub('should hide all palettes when anything besides a palette is clicked', function() {
77
+
78
+ });
79
+
80
+ stub('should inactivate any active buttons', function() {
81
+
82
+ });
83
+
84
+ it('should destroy', function() {
85
+ this.toolbar = new Midas.Toolbar();
86
+ this.toolbar.destroy();
87
+
88
+ expect(this.toolbar.palettes.length).toEqual(0);
89
+ expect(this.toolbar.element).toBeFalsy();
90
+ expect($$('.midas-toolbar').length).toEqual(0);
91
+ });
92
+
93
+ describe('button types and their behaviors', function() {
94
+
95
+ beforeEach(function() {
96
+ this.spy = spyOn(Event, 'fire').andCallFake(function() {
97
+ jasmine.log('>> Mock Event.fire called with ' + arguments.length + ' arguments...');
98
+ });
99
+ });
100
+
101
+ it('should handle regular buttons', function() {
102
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
103
+
104
+ jasmine.simulate.click(this.toolbar.buttons['bold'].element);
105
+ expect(this.spy.callCount).toEqual(1);
106
+ });
107
+
108
+ it('should handle toggle buttons', function() {
109
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
110
+
111
+ jasmine.simulate.click(this.toolbar.buttons['preview'].element);
112
+ expect(this.toolbar.buttons['preview'].element.getAttribute('class')).
113
+ toEqual('midas-button midas-button-preview pressed');
114
+ expect(this.spy.callCount).toEqual(2);
115
+ });
116
+
117
+ it('should handle context buttons', function() {
118
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
119
+
120
+ expect(this.toolbar.contexts.length).toBeGreaterThan(2);
121
+ });
122
+
123
+ it('should handle mode buttons, and buttons with more than one type', function() {
124
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
125
+
126
+ jasmine.simulate.click(this.toolbar.buttons['preview'].element);
127
+ expect(this.spy.callCount).toEqual(2);
128
+ });
129
+
130
+ });
131
+
132
+ describe('events that fire', function() {
133
+
134
+ beforeEach(function() {
135
+ this.spy = spyOn(Event, 'fire').andCallFake(function() {
136
+ jasmine.log('>> Mock Event.fire called with ' + arguments.length + ' arguments...');
137
+ });
138
+ });
139
+
140
+ it('should fire at least one event when a button is clicked', function() {
141
+ this.toolbar = new Midas.Toolbar({appendTo: 'toolbar'});
142
+
143
+ jasmine.simulate.click($$('.midas-button-insertorderedlist')[0]);
144
+ expect(this.spy.callCount).toBeGreaterThan(0);
145
+ });
146
+
147
+ });
148
+
149
+ });
@@ -0,0 +1,9 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'midas'
4
+ require 'spec'
5
+ require 'spec/autorun'
6
+
7
+ Spec::Runner.configure do |config|
8
+
9
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/helpers/spec_helper')
2
+
3
+ describe "Midas" do
4
+
5
+ it "fails" do
6
+ fail "hey buddy, you should probably rename this file and start specing for real"
7
+ end
8
+
9
+ end
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,105 @@
1
+ require 'packr'
2
+ require 'base64'
3
+
4
+ def copy(filename, from_dir, to_dir)
5
+ from = File.expand_path(File.join(from_dir, filename))
6
+ to = File.expand_path(File.join(to_dir, filename))
7
+
8
+ if File.exist?(File.expand_path(to_dir))
9
+ puts " exists: #{to_dir}"
10
+ else
11
+ puts " creating: #{to_dir}"
12
+ FileUtils.mkdir(to_dir)
13
+ end
14
+
15
+ if File.exist?(to)
16
+ puts " exists: #{to}"
17
+ else
18
+ puts " creating: #{to}"
19
+ FileUtils.cp(from, to)
20
+ end
21
+ end
22
+
23
+ namespace :midas do
24
+ desc "Install midas into your project"
25
+ task :install => [:minify_js, :bundle_css, :copy_assets] do
26
+
27
+ end
28
+
29
+ desc "Build install files, but don't install"
30
+ task :build => [:minify_js, :bundle_css] do
31
+
32
+ end
33
+
34
+ desc "Combine, minify, and pack development js files into midas.js and midas.min.js"
35
+ task :minify_js do
36
+ thisfile = File.dirname(__FILE__)
37
+ output_path = "#{thisfile}/../public/javascripts"
38
+ input_path = "#{thisfile}/../public/javascripts/midas"
39
+
40
+ code = ''
41
+ config_code = File.read("#{input_path}/config.js")
42
+ %w[native_extensions midas region toolbar statusbar dialog palette].each do |file|
43
+ code << File.read("#{input_path}/#{file}.js")
44
+ end
45
+
46
+ File.open("#{output_path}/midas.js", 'wb') { |file| file.write(code + config_code) }
47
+ File.open("#{output_path}/midas.min.js", 'wb') do |file|
48
+ file.write(Packr.pack(code, :base62 => true) + ";\n" + config_code)
49
+ end
50
+ end
51
+
52
+ desc "Combine stylesheets into midas.css and midas.min.css (bundling image assets where possible)"
53
+ task :bundle_css do
54
+ thisfile = File.dirname(__FILE__)
55
+ output_path = "#{thisfile}/../public/stylesheets"
56
+ input_path = "#{thisfile}/../public/stylesheets/midas"
57
+
58
+ code = ''
59
+ %w[midas region toolbar statusbar dialog palette].each do |file|
60
+ code << File.read("#{input_path}/#{file}.css")
61
+ end
62
+
63
+ File.open("#{output_path}/midas.css", 'wb') { |file| file.write(code) }
64
+ File.open("#{output_path}/midas.bundle.css", 'wb') do |file|
65
+ # import image files using: url(data:image/gif;base64,XEQA7)
66
+ code.gsub!(/url\(\.\.\/\.\.(.*)\)/ix) do |m|
67
+ encoded = Base64.encode64(File.read("#{thisfile}/../public#{$1}")).gsub("\n", '')
68
+ encoded.size > 32 * 1024 ? "url(..#{$1})" : "url(data:image/png;base64,#{encoded})"
69
+ end
70
+ # remove comments (only /* */ style, we don't support the other kind)
71
+ code.gsub!(/\/?\*.*/, '')
72
+ # remove whitespace
73
+ code.gsub!(/\s+/, ' ')
74
+ # put a few line breaks back in
75
+ code.gsub!(/\}/, "}\n")
76
+ # remove more whitespace
77
+ code.gsub!(/^\s+/, '')
78
+ file.write(code)
79
+ end
80
+ end
81
+
82
+ task :copy_assets do
83
+ raise 'This task expects a RAILS_ROOT variable.' unless RAILS_ROOT
84
+
85
+ %w[stylesheets/*.css javascripts/*.js].each do |path|
86
+ Dir[File.join(File.dirname(__FILE__), "/../public/#{path}")].sort.each do |filename|
87
+ to = File.join(RAILS_ROOT, 'public', File.dirname(path))
88
+ copy(File.basename(filename), File.dirname(filename), to)
89
+ end
90
+ end
91
+ end
92
+
93
+ task :copy_images do
94
+ raise 'This task expects a RAILS_ROOT variable.' unless RAILS_ROOT
95
+
96
+ %w[images/*].each do |path|
97
+ Dir[File.join(File.dirname(__FILE__), "/../public/#{path}")].sort.each do |filename|
98
+ to = File.join(RAILS_ROOT, 'public', File.dirname(path))
99
+ copy(File.basename(filename), File.dirname(filename), to)
100
+ end
101
+ end
102
+ end
103
+
104
+ end
105
+
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: midas
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Jackson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-06-06 00:00:00 -06:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: packr
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.1.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: jasmine
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.10.3.5
44
+ version:
45
+ description: Provides a front end for editing content in a contextual way with WYSIWYG editing
46
+ email: jejacks0n@gmail.com
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ extra_rdoc_files:
52
+ - LICENSE
53
+ - README.textile
54
+ files:
55
+ - .bundle/config
56
+ - .document
57
+ - .gitignore
58
+ - Gemfile
59
+ - LICENSE
60
+ - README.textile
61
+ - Rakefile
62
+ - VERSION
63
+ - features/step_definitions/editor_steps.rb
64
+ - features/step_definitions/web_steps.rb
65
+ - features/support/env.rb
66
+ - features/support/paths.rb
67
+ - features/view_editor.feature
68
+ - generators/midas/midas_generator.rb
69
+ - lib/midas.rb
70
+ - midas.gemspec
71
+ - public/images/midas/toolbars/actions/_background.png
72
+ - public/images/midas/toolbars/actions/_background_radio.png
73
+ - public/images/midas/toolbars/actions/_separator.png
74
+ - public/images/midas/toolbars/actions/extra/prefspane.png
75
+ - public/images/midas/toolbars/actions/extra/todospane.png
76
+ - public/images/midas/toolbars/actions/historypanel.png
77
+ - public/images/midas/toolbars/actions/insertcharacter.png
78
+ - public/images/midas/toolbars/actions/insertlink.png
79
+ - public/images/midas/toolbars/actions/insertmedia.png
80
+ - public/images/midas/toolbars/actions/insertobject.png
81
+ - public/images/midas/toolbars/actions/inserttable.png
82
+ - public/images/midas/toolbars/actions/inspectorpanel.png
83
+ - public/images/midas/toolbars/actions/notespanel.png
84
+ - public/images/midas/toolbars/actions/preview.png
85
+ - public/images/midas/toolbars/actions/redo.png
86
+ - public/images/midas/toolbars/actions/save.png
87
+ - public/images/midas/toolbars/actions/undo.png
88
+ - public/images/midas/toolbars/htmleditor/_background.png
89
+ - public/images/midas/toolbars/htmleditor/_line_separator.png
90
+ - public/images/midas/toolbars/htmleditor/_separator.png
91
+ - public/images/midas/toolbars/htmleditor/buttons.png
92
+ - public/javascripts/midas/config.js
93
+ - public/javascripts/midas/dialog.js
94
+ - public/javascripts/midas/midas.js
95
+ - public/javascripts/midas/native_extensions.js
96
+ - public/javascripts/midas/palette.js
97
+ - public/javascripts/midas/region.js
98
+ - public/javascripts/midas/statusbar.js
99
+ - public/javascripts/midas/toolbar.js
100
+ - public/javascripts/prototype.js
101
+ - public/midas/backcolor.html
102
+ - public/midas/examples/bundled.html
103
+ - public/midas/examples/iframe.html
104
+ - public/midas/examples/index.html
105
+ - public/midas/examples/javascript_archive.js
106
+ - public/midas/forecolor.html
107
+ - public/stylesheets/midas/dialog.css
108
+ - public/stylesheets/midas/midas.css
109
+ - public/stylesheets/midas/palette.css
110
+ - public/stylesheets/midas/region.css
111
+ - public/stylesheets/midas/statusbar.css
112
+ - public/stylesheets/midas/toolbar.css
113
+ - rails/init.rb
114
+ - spec/javascripts/dialog_spec.js
115
+ - spec/javascripts/fixtures/midas_fixture.html
116
+ - spec/javascripts/fixtures/midas_styles.css
117
+ - spec/javascripts/fixtures/native_extensions_fixture.html
118
+ - spec/javascripts/helpers/browser_detection.js
119
+ - spec/javascripts/helpers/event_simulation.js
120
+ - spec/javascripts/helpers/spec_helper.js
121
+ - spec/javascripts/midas_spec.js
122
+ - spec/javascripts/native_extensions_spec.js
123
+ - spec/javascripts/palette_spec.js
124
+ - spec/javascripts/region_spec.js
125
+ - spec/javascripts/statusbar_spec.js
126
+ - spec/javascripts/support/jasmine.yml
127
+ - spec/javascripts/support/jasmine_config.rb
128
+ - spec/javascripts/support/jasmine_runner.rb
129
+ - spec/javascripts/toolbar_spec.js
130
+ - spec/ruby/helpers/spec_helper.rb
131
+ - spec/ruby/midas_spec.rb
132
+ - spec/spec.opts
133
+ - tasks/midas_tasks.rake
134
+ has_rdoc: true
135
+ homepage: http://github.com/jejacks0n/midas
136
+ licenses: []
137
+
138
+ post_install_message:
139
+ rdoc_options:
140
+ - --charset=UTF-8
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: "0"
148
+ version:
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: "0"
154
+ version:
155
+ requirements: []
156
+
157
+ rubyforge_project:
158
+ rubygems_version: 1.3.5
159
+ signing_key:
160
+ specification_version: 3
161
+ summary: A rich text editor gem for Rails
162
+ test_files:
163
+ - spec/javascripts/support/jasmine_config.rb
164
+ - spec/javascripts/support/jasmine_runner.rb
165
+ - spec/ruby/helpers/spec_helper.rb
166
+ - spec/ruby/midas_spec.rb