midas 0.1.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.
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