bootsy 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 07c76b46b43c59c11ae610157bb89a833de61fff
4
+ data.tar.gz: a1fa27d625b2f313fdf30de95e94ea97b11f8862
5
+ SHA512:
6
+ metadata.gz: f826930f5425b4fcf2be6d85a4ac983a997b094b64d3afac82a0184d9a773835bef03262531b41c10225228ea37ffbe23f2c603ff1978bd0f2859ec4cdfb0202
7
+ data.tar.gz: 51a5e794cebc1940982c7e1aa0e374a6013f38e1f27871ff00e923b723e83f5e29021ddfa9c68f28ea961e1af6fdcdb689cd50fb22eaf7b8f80f7804b24dd866
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2012 Volmer Soares
1
+ Copyright 2013 Volmer Soares
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Bootsy
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/bootsy.png)](http://badge.fury.io/rb/bootsy)
3
4
  [![Build Status](https://secure.travis-ci.org/volmer/bootsy.png?branch=master)](http://travis-ci.org/volmer/bootsy)
4
5
  [![Dependency Status](https://gemnasium.com/volmer/bootsy.png)](https://gemnasium.com/volmer/bootsy)
5
6
 
@@ -8,10 +9,10 @@
8
9
 
9
10
  ## Requirements
10
11
 
11
- * Ruby MRI >= 1.9.3;
12
+ * Ruby >= 1.9.3;
12
13
  * ImageMagick or GraphicsMagick (for MiniMagick);
13
- * Rails >= 3.2.6;
14
- * [Twitter Bootstrap](http://twitter.github.com/bootstrap/) assets added on your application.
14
+ * Rails ~> 3.2 (Rails 4 support is comming soon);
15
+ * [Twitter Bootstrap](http://twitter.github.com/bootstrap/) properly added on your application.
15
16
 
16
17
 
17
18
  ## Installation
@@ -33,7 +34,7 @@
33
34
  rails g bootsy:install
34
35
  ```
35
36
 
36
- 4. Add and run migrations (if you are using ActiveRecord):
37
+ 4. Add and run migrations (if you're using ActiveRecord):
37
38
  ```console
38
39
  rake bootsy:install:migrations
39
40
  rake db:migrate
@@ -42,7 +43,7 @@
42
43
 
43
44
  ## Usage
44
45
 
45
- Just call the brand new method `bootsy_area` in your `FormBuilder` instances, in the same way you call the basic `textarea` method. Example:
46
+ Just call the brand new method `bootsy_area` in your `FormBuilder` instances, the same way you'd call the basic `textarea` method. Example:
46
47
 
47
48
  ```erb
48
49
  <%= form_for(@post) do |f| %>
@@ -56,7 +57,7 @@ Just call the brand new method `bootsy_area` in your `FormBuilder` instances, in
56
57
  <% end %>
57
58
  ```
58
59
 
59
- Bootsy will group the uploaded image files as galleries and associate them to one of your models. For example, if you have a `Post` model and you want to use `bootsy_area` with it, then you should include the `Bootsy::Container` module:
60
+ Bootsy will group the uploaded images as galleries and associate them to one of your models. For example, if you have a `Post` model and you want to use `bootsy_area` with it, then you should include the `Bootsy::Container` module:
60
61
 
61
62
  ```ruby
62
63
  class Post < ActiveRecord::Base
@@ -68,12 +69,12 @@ Bootsy will group the uploaded image files as galleries and associate them to on
68
69
 
69
70
  ## Editor options
70
71
 
71
- It's possible to customize how the editor is displayed and its behavior by passing a hash `editor_options` to your `bootsy_area`.
72
+ It is possible to customize how the editor is displayed and its behavior by passing a hash `editor_options` to your `bootsy_area`.
72
73
 
73
74
 
74
75
  ### Buttons
75
76
 
76
- You can enable/disable the buttons available in the editor. For example, if you want to disable the link and color buttons:
77
+ You can enable/disable the buttons available on the editor. For example, if you want to disable the link and color buttons:
77
78
 
78
79
  ```erb
79
80
  <%= f.bootsy_area :my_attribute, editor_options: {link: false, color: false} %>
@@ -83,30 +84,25 @@ Available options are: `:font_styles`, `:emphasis`, `:lists`, `:html`, `:link`,
83
84
 
84
85
  ### Alert for usaved changes
85
86
 
86
- By default, Bootsy alerts for unsaved changes if the user attempts to unload the window. You can disable it by doing:
87
+ By default, Bootsy alerts for unsaved changes if the user attempts to unload the window. You can disable this behaviour by doing:
87
88
 
88
89
  ```erb
89
90
  <%= f.bootsy_area :my_attribute, editor_options: {alert_unsaved: false} %>
90
91
  ```
91
92
 
92
- ### Uploader
93
+ ## Uploader
93
94
 
94
- It is also possible to disable the image upload feature entirely. This way the user can insert images in his/her text by providing an image url. Simple and easy:
95
-
96
- ```erb
97
- <%= f.bootsy_area :my_attribute, editor_options: {uploader: false} %>
98
- ```
99
- *Note*: this option is automatically defined if you use `bootsy_area` without a `Bootsy::Container` model.
95
+ It's also possible to use Bootsy without the image upload feature. Just call `bootsy_area` in a form builder not associated to a `Bootsy::Container` model. This way users can insert images in their texts by providing an image url.
100
96
 
101
97
 
102
98
  ## Configuration
103
99
 
104
- You can set the image sizes available (small, medium, large and/or its original), its dimensions and more. Take a look at the initalizer file, `/config/initializers/bootsy.rb`.
100
+ You can set the default editor options, image sizes available (small, medium, large and/or its original), its dimensions and more. Take a look at the initalizer file, `/config/initializers/bootsy.rb`.
105
101
 
106
102
 
107
103
  ## I18n
108
104
 
109
- Bootsy defines some i18n keys. The ruby english translation is automatically added to your `config/locales` directory as `bootsy.en.yml`. You can follow that template in order to translate Bootsy to your language. You can find some examples [here](https://github.com/volmer/bootsy/tree/master/config/locales). It is also necessary to add a translation for Bootstrap-wysihtml5, the javascript editor, in your assets pipeline. Instructions [here](https://github.com/jhollingworth/bootstrap-wysihtml5#i18n). If you are using the alert for unsaved changes, you have to define a translation for it as well. Just follow [this example](https://github.com/volmer/bootsy/tree/master/app/assets/bootsy/locales/bootsy.pt-BR.js).
105
+ Bootsy defines some i18n keys. The english translation is automatically added to your `config/locales` directory as `bootsy.en.yml`. You can follow that template in order to translate Bootsy to your language. You can find some examples [here](https://github.com/volmer/bootsy/tree/master/config/locales). It is also necessary to add a translation for Bootstrap-wysihtml5, the javascript editor, in your assets pipeline. Instructions [here](https://github.com/jhollingworth/bootstrap-wysihtml5#i18n). If you are using the alert for unsaved changes, you have to define a translation for it as well. Just follow [this example](https://github.com/volmer/bootsy/tree/master/app/assets/bootsy/locales/bootsy.pt-BR.js).
110
106
 
111
107
 
112
108
  ## Mongoid support
@@ -121,4 +117,4 @@ Do you want to use Bootsy alongside with [SimpleForm](https://github.com/platafo
121
117
 
122
118
  ## License
123
119
 
124
- MIT License. Copyright 2012 Volmer Soares
120
+ MIT License. Copyright 2013 Volmer Soares
@@ -5,7 +5,7 @@
5
5
  "font-styles": function(locale, options) {
6
6
  var size = (options && options.size) ? ' btn-'+options.size : '';
7
7
  return "<li class='dropdown'>" +
8
- "<a class='btn dropdown-toggle" + size + "' data-toggle='dropdown' href='#'>" +
8
+ "<a class='btn dropdown-toggle" + size + "' data-toggle='dropdown' href='#' title='" + locale.font_styles.title + "'>" +
9
9
  "<i class='icon-font'></i>&nbsp;<span class='current-font'>" + locale.font_styles.normal + "</span>&nbsp;<b class='caret'></b>" +
10
10
  "</a>" +
11
11
  "<ul class='dropdown-menu'>" +
@@ -92,7 +92,7 @@
92
92
  "color": function(locale, options) {
93
93
  var size = (options && options.size) ? ' btn-'+options.size : '';
94
94
  return "<li class='dropdown'>" +
95
- "<a class='btn dropdown-toggle" + size + "' data-toggle='dropdown' href='#' tabindex='-1'>" +
95
+ "<a class='btn dropdown-toggle" + size + "' data-toggle='dropdown' href='#' tabindex='-1' title='" + locale.colours.title + "'>" +
96
96
  "<span class='current-color'>" + locale.colours.black + "</span>&nbsp;<b class='caret'></b>" +
97
97
  "</a>" +
98
98
  "<ul class='dropdown-menu'>" +
@@ -467,6 +467,7 @@
467
467
  var locale = $.fn.wysihtml5.locale = {
468
468
  en: {
469
469
  font_styles: {
470
+ title: "Font style",
470
471
  normal: "Normal text",
471
472
  h1: "Heading 1",
472
473
  h2: "Heading 2",
@@ -495,6 +496,7 @@
495
496
  edit: "Edit HTML"
496
497
  },
497
498
  colours: {
499
+ title: "Text color",
498
500
  black: "Black",
499
501
  silver: "Silver",
500
502
  gray: "Grey",
@@ -60,7 +60,7 @@ window.Bootsy = (function(){
60
60
 
61
61
  Bootsy.ready = function(){
62
62
  if($('textarea.bootsy_text_area').length > 0){
63
- Bootsy.locale = $('textarea.bootsy_text_area').attr('data-locale');
63
+ Bootsy.locale = $('textarea.bootsy_text_area').attr('data-bootsy-locale') || $('html').attr('lang') || 'en';
64
64
 
65
65
  var templates = {
66
66
  customCommand: function(locale, options) {
@@ -103,11 +103,11 @@ window.Bootsy = (function(){
103
103
 
104
104
  Bootsy.editorOptions.stylesheets = ["/assets/bootsy/bootsy.css"];
105
105
 
106
- if($('textarea.bootsy_text_area').attr('data-image') == 'false'){
106
+ if($('textarea.bootsy_text_area').attr('data-bootsy-image') == 'false'){
107
107
  Bootsy.editorOptions.image = false;
108
108
  }else{
109
109
 
110
- if($('textarea.bootsy_text_area').attr('data-uploader') != 'false'){
110
+ if($('textarea.bootsy_text_area').attr('data-bootsy-uploader') != 'false'){
111
111
  Bootsy.editorOptions.image = false;
112
112
  Bootsy.editorOptions.customCommand = true;
113
113
  Bootsy.editorOptions.customCommandCallback = Bootsy.openImageGallery;
@@ -156,16 +156,16 @@ window.Bootsy = (function(){
156
156
  }
157
157
  }
158
158
 
159
- if($('textarea.bootsy_text_area').attr('data-font-styles') == 'false') Bootsy.editorOptions['font-styles'] = false;
160
- if($('textarea.bootsy_text_area').attr('data-emphasis') == 'false') Bootsy.editorOptions.emphasis = false;
161
- if($('textarea.bootsy_text_area').attr('data-lists') == 'false') Bootsy.editorOptions.lists = false;
162
- if($('textarea.bootsy_text_area').attr('data-html') == 'true') Bootsy.editorOptions.html = true;
163
- if($('textarea.bootsy_text_area').attr('data-link') == 'false') Bootsy.editorOptions.link = false;
164
- if($('textarea.bootsy_text_area').attr('data-color') == 'false') Bootsy.editorOptions.color = false;
159
+ if($('textarea.bootsy_text_area').attr('data-bootsy-font-styles') == 'false') Bootsy.editorOptions['font-styles'] = false;
160
+ if($('textarea.bootsy_text_area').attr('data-bootsy-emphasis') == 'false') Bootsy.editorOptions.emphasis = false;
161
+ if($('textarea.bootsy_text_area').attr('data-bootsy-lists') == 'false') Bootsy.editorOptions.lists = false;
162
+ if($('textarea.bootsy_text_area').attr('data-bootsy-html') == 'true') Bootsy.editorOptions.html = true;
163
+ if($('textarea.bootsy_text_area').attr('data-bootsy-link') == 'false') Bootsy.editorOptions.link = false;
164
+ if($('textarea.bootsy_text_area').attr('data-bootsy-color') == 'false') Bootsy.editorOptions.color = false;
165
165
 
166
166
  Bootsy.editor = $('textarea.bootsy_text_area').wysihtml5(Bootsy.editorOptions).data("wysihtml5").editor;
167
167
 
168
- if($('textarea.bootsy_text_area').attr('data-alert-unsaved') != 'false'){
168
+ if($('textarea.bootsy_text_area').attr('data-bootsy-alert-unsaved') != 'false'){
169
169
  window.onbeforeunload = Bootsy.alertUnsavedChanges;
170
170
  }
171
171
 
@@ -4,6 +4,7 @@
4
4
  (function($){
5
5
  $.fn.wysihtml5.locale["pt-BR"] = {
6
6
  font_styles: {
7
+ title: "Estilo de fonte",
7
8
  normal: "Texto normal",
8
9
  h1: "Título 1",
9
10
  h2: "Título 2",
@@ -32,6 +33,7 @@
32
33
  edit: "Editar HTML"
33
34
  },
34
35
  colours: {
36
+ title: "Cor do texto",
35
37
  black: "Preto",
36
38
  silver: "Prata",
37
39
  gray: "Cinza",
data/lib/bootsy.rb CHANGED
@@ -9,6 +9,10 @@ require 'bootsy/core_ext'
9
9
  module Bootsy
10
10
  ## CONFIGURATION OPTIONS
11
11
 
12
+ # Default editor options
13
+ mattr_accessor :editor_options
14
+ @@editor_options = {}
15
+
12
16
  # Image versions available
13
17
  mattr_accessor :image_versions_available
14
18
  @@image_versions_available = [:small, :medium, :large, :original]
@@ -1,30 +1,63 @@
1
1
  module Bootsy
2
2
  module FormHelper
3
- def bootsy_area object, method, options = {}
4
- foreign_container = options.delete :container
3
+ def bootsy_area(object, method, options = {})
4
+ container = options.delete :container
5
+ enable_uploader = enable_uploader? object, options.delete(:uploader), container
6
+ bootsy_options = Bootsy.editor_options.merge(options.delete(:editor_options) || {})
7
+ bootsy_options[:uploader] = false unless enable_uploader
5
8
 
6
- data = options.delete(:editor_options) || {}
7
- data[:locale] = I18n.locale
9
+ options[:data] = data_options options, bootsy_options
10
+ options[:class] = class_attr options
8
11
 
9
- data[:uploader] = false unless foreign_container.kind_of?(Container) || (foreign_container.nil? && object.kind_of?(Container))
12
+ output = self.text_area object_name(object), method, options
10
13
 
11
- enable_uploader = !(data[:uploader] == false)
14
+ if enable_uploader
15
+ output += self.render 'bootsy/images/modal', {container: container || object}
12
16
 
13
- options[:data] = options[:data] ? options[:data] + data : data
17
+ if container.blank? || (container == object)
18
+ output += self.hidden_field object_name(object), :bootsy_image_gallery_id, class: 'bootsy_image_gallery_id'
19
+ end
20
+ end
21
+
22
+ output
23
+ end
14
24
 
15
- object_name = object.class.name.underscore
25
+ private
26
+
27
+ def enable_uploader?(object, uploader, container)
28
+ if uploader == false
29
+ false
30
+ elsif container.is_a? Container
31
+ true
32
+ elsif container.blank? && object.is_a?(Container)
33
+ true
34
+ else
35
+ false
36
+ end
37
+ end
16
38
 
17
- output = enable_uploader ? self.render('bootsy/images/modal', {container: foreign_container || object}) : raw('')
39
+ def class_attr(options)
40
+ classes = if options[:class].blank?
41
+ []
42
+ elsif options[:class].kind_of?(Array)
43
+ options[:class]
44
+ else
45
+ [options[:class]]
46
+ end
18
47
 
19
- options[:class] = (options[:class].nil? ? [] : (options[:class].kind_of?(Array) ? options[:class] : [options[:class]])) + [:bootsy_text_area]
20
-
21
- output += self.text_area object_name, method, options
48
+ classes << 'bootsy_text_area'
49
+ end
22
50
 
23
- if enable_uploader && (foreign_container.nil? || (foreign_container == object))
24
- output += self.hidden_field object_name, :bootsy_image_gallery_id, :class => 'bootsy_image_gallery_id'
51
+ def object_name(object)
52
+ if object.is_a?(String) || object.is_a?(Symbol)
53
+ object
54
+ else
55
+ object.class.name.underscore
25
56
  end
26
-
27
- output
57
+ end
58
+
59
+ def data_options(options, bootsy_options)
60
+ (options[:data] || {}).merge Hash[bootsy_options.map{|k,v|["bootsy-#{k}",v]}]
28
61
  end
29
62
  end
30
63
  end
@@ -1,3 +1,3 @@
1
1
  module Bootsy
2
- VERSION = "0.1.8"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,5 +1,16 @@
1
1
  # Use this setup block to configure all options available in Bootsy.
2
2
  Bootsy.setup do |config|
3
+ # Default editor options
4
+ # You can override them locally by passing an editor_options hash to bootsy_area
5
+ # config.editor_options = {
6
+ # font_styles: true,
7
+ # emphasis: true,
8
+ # lists: true,
9
+ # html: false,
10
+ # link: true,
11
+ # image: true,
12
+ # color: true
13
+ # }
3
14
 
4
15
  # Image versions available
5
16
  # Possible values: :small, :medium, :large and/or :original
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Volmer Soares
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-10 00:00:00.000000000 Z
11
+ date: 2013-04-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: mini_magick
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '3.4'
19
+ version: 3.5.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '3.4'
26
+ version: 3.5.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: carrierwave
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,115 +41,87 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: remotipart
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: 1.0.2
47
+ version: 1.0.5
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: 1.0.2
54
+ version: 1.0.5
62
55
  - !ruby/object:Gem::Dependency
63
- name: rails
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '3.2'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '3.2'
78
- - !ruby/object:Gem::Dependency
79
- name: sqlite3
56
+ name: rspec-rails
80
57
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
58
  requirements:
83
59
  - - ~>
84
60
  - !ruby/object:Gem::Version
85
- version: '1.3'
61
+ version: '2.13'
86
62
  type: :development
87
63
  prerelease: false
88
64
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
65
  requirements:
91
66
  - - ~>
92
67
  - !ruby/object:Gem::Version
93
- version: '1.3'
68
+ version: '2.13'
94
69
  - !ruby/object:Gem::Dependency
95
- name: rspec-rails
70
+ name: factory_girl_rails
96
71
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
72
  requirements:
99
73
  - - ~>
100
74
  - !ruby/object:Gem::Version
101
- version: '2.12'
75
+ version: '4.2'
102
76
  type: :development
103
77
  prerelease: false
104
78
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
79
  requirements:
107
80
  - - ~>
108
81
  - !ruby/object:Gem::Version
109
- version: '2.12'
82
+ version: '4.2'
110
83
  - !ruby/object:Gem::Dependency
111
- name: factory_girl_rails
84
+ name: database_cleaner
112
85
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
86
  requirements:
115
87
  - - ~>
116
88
  - !ruby/object:Gem::Version
117
- version: '4.2'
89
+ version: '0.9'
118
90
  type: :development
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
93
  requirements:
123
94
  - - ~>
124
95
  - !ruby/object:Gem::Version
125
- version: '4.2'
96
+ version: '0.9'
126
97
  - !ruby/object:Gem::Dependency
127
- name: database_cleaner
98
+ name: cucumber-rails
128
99
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
100
  requirements:
131
101
  - - ~>
132
102
  - !ruby/object:Gem::Version
133
- version: '0.9'
103
+ version: '1.3'
134
104
  type: :development
135
105
  prerelease: false
136
106
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
107
  requirements:
139
108
  - - ~>
140
109
  - !ruby/object:Gem::Version
141
- version: '0.9'
110
+ version: '1.3'
142
111
  - !ruby/object:Gem::Dependency
143
- name: cucumber-rails
112
+ name: shoulda-matchers
144
113
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
114
  requirements:
147
115
  - - ~>
148
116
  - !ruby/object:Gem::Version
149
- version: '1.3'
117
+ version: '1.5'
150
118
  type: :development
151
119
  prerelease: false
152
120
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
121
  requirements:
155
122
  - - ~>
156
123
  - !ruby/object:Gem::Version
157
- version: '1.3'
124
+ version: '1.5'
158
125
  description: A beautiful WYSIWYG editor with image uploads for Rails.
159
126
  email:
160
127
  - volmerius@gmail.com
@@ -207,32 +174,25 @@ files:
207
174
  - README.md
208
175
  homepage: http://github.com/volmer/bootsy
209
176
  licenses: []
177
+ metadata: {}
210
178
  post_install_message:
211
179
  rdoc_options: []
212
180
  require_paths:
213
181
  - lib
214
182
  required_ruby_version: !ruby/object:Gem::Requirement
215
- none: false
216
183
  requirements:
217
- - - ! '>='
184
+ - - '>='
218
185
  - !ruby/object:Gem::Version
219
186
  version: '0'
220
- segments:
221
- - 0
222
- hash: 2775965369323801409
223
187
  required_rubygems_version: !ruby/object:Gem::Requirement
224
- none: false
225
188
  requirements:
226
- - - ! '>='
189
+ - - '>='
227
190
  - !ruby/object:Gem::Version
228
191
  version: '0'
229
- segments:
230
- - 0
231
- hash: 2775965369323801409
232
192
  requirements: []
233
193
  rubyforge_project:
234
- rubygems_version: 1.8.24
194
+ rubygems_version: 2.0.3
235
195
  signing_key:
236
- specification_version: 3
196
+ specification_version: 4
237
197
  summary: A beautiful WYSIWYG editor with image uploads for Rails.
238
198
  test_files: []