editable_areas 0.0.1

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 (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +3 -0
  5. data/CHANGELOG.md +3 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +77 -0
  9. data/Rakefile +23 -0
  10. data/app/controllers/editable_areas_controller.rb +24 -0
  11. data/app/helpers/editable_areas_helper.rb +21 -0
  12. data/app/models/editable_area.rb +3 -0
  13. data/app/views/editable_areas/_editable_area.html.erb +1 -0
  14. data/app/views/editable_areas/_form.html.erb +20 -0
  15. data/config/routes.rb +3 -0
  16. data/editable_areas.gemspec +29 -0
  17. data/lib/editable_areas.rb +4 -0
  18. data/lib/editable_areas/editable_area_additions.rb +11 -0
  19. data/lib/editable_areas/engine.rb +9 -0
  20. data/lib/editable_areas/version.rb +3 -0
  21. data/lib/generators/editable_areas_generator.rb +15 -0
  22. data/lib/generators/templates/create_editable_areas.rb +12 -0
  23. data/spec/controllers/areas_controller_spec.rb +55 -0
  24. data/spec/dummy/README.rdoc +28 -0
  25. data/spec/dummy/Rakefile +6 -0
  26. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  27. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  28. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  29. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  30. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/spec/dummy/bin/bundle +3 -0
  32. data/spec/dummy/bin/rails +4 -0
  33. data/spec/dummy/bin/rake +4 -0
  34. data/spec/dummy/config.ru +4 -0
  35. data/spec/dummy/config/application.rb +23 -0
  36. data/spec/dummy/config/boot.rb +5 -0
  37. data/spec/dummy/config/database.yml +25 -0
  38. data/spec/dummy/config/environment.rb +5 -0
  39. data/spec/dummy/config/environments/development.rb +29 -0
  40. data/spec/dummy/config/environments/production.rb +80 -0
  41. data/spec/dummy/config/environments/test.rb +36 -0
  42. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  43. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  44. data/spec/dummy/config/initializers/inflections.rb +16 -0
  45. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  46. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  47. data/spec/dummy/config/initializers/session_store.rb +3 -0
  48. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  49. data/spec/dummy/config/locales/en.yml +23 -0
  50. data/spec/dummy/config/routes.rb +3 -0
  51. data/spec/dummy/log/.keep +0 -0
  52. data/spec/dummy/public/404.html +58 -0
  53. data/spec/dummy/public/422.html +58 -0
  54. data/spec/dummy/public/500.html +57 -0
  55. data/spec/dummy/public/favicon.ico +0 -0
  56. data/spec/extra/schema.rb +10 -0
  57. data/spec/helpers/areas_helper_spec.rb +57 -0
  58. data/spec/models/area_spec.rb +24 -0
  59. data/spec/routing/areas_routing_spec.rb +9 -0
  60. data/spec/spec_helper.rb +25 -0
  61. metadata +239 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,10 @@
1
+ ActiveRecord::Schema.define :version => 0 do
2
+ create_table :editable_areas do |t|
3
+ t.string :title, null: false
4
+ t.text :content
5
+
6
+ t.timestamps
7
+ end
8
+
9
+ add_index :editable_areas, :title
10
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe EditableAreasHelper do
4
+ before :each do
5
+ @area = EditableArea.create!(title: 'New', content: 'Content')
6
+ end
7
+
8
+ it "should render text when no edit parameter is given" do
9
+ output = helper.render_or_edit_area('New')
10
+ expect(output).to match(/Content/)
11
+ end
12
+
13
+ it "should render the form when edit parameter is given" do
14
+ params[:edit] = true
15
+ output = helper.render_or_edit_area('New')
16
+ expect(output).to match(/class="edit_editable_area"/)
17
+ end
18
+
19
+ context "edit button" do
20
+ it "should render when no edit parameter is given" do
21
+ output = helper.render_edit_area_button
22
+ expect(output).to match(/class="editable_area_btn"/)
23
+ end
24
+
25
+ it "should NOT render when no edit parameter is given and accessiblity is false" do
26
+ output = helper.render_edit_area_button(accessible: false)
27
+ expect(output).to be_nil
28
+ end
29
+
30
+ it "should NOT render when edit parameter is given" do
31
+ params[:edit] = true
32
+ output = helper.render_edit_area_button
33
+ expect(output).to be_nil
34
+ end
35
+
36
+ it "should NOT render when edit parameter is given and accessiblity is false" do
37
+ params[:edit] = true
38
+ output = helper.render_edit_area_button(accessible: false)
39
+ expect(output).to be_nil
40
+ end
41
+ end
42
+
43
+ it "should render both area and button properly with NO edit parameter" do
44
+ output = helper.render_or_edit_area_with_button('New')
45
+
46
+ expect(output).to match(/Content/)
47
+ expect(output).to match(/class="editable_area_btn"/)
48
+ end
49
+
50
+ it "should render both area and button properly with edit parameter" do
51
+ params[:edit] = true
52
+ output = helper.render_or_edit_area_with_button('New')
53
+
54
+ expect(output).to match(/class="edit_editable_area"/)
55
+ expect(output).to_not match(/class="editable_area_btn"/)
56
+ end
57
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe EditableArea do
4
+ before :each do
5
+ @editable_area = EditableArea.create!(title: 'Title')
6
+ end
7
+
8
+ specify { @editable_area.should be_valid }
9
+ specify { @editable_area.should validate_presence_of :title }
10
+
11
+ it "should create record if not exist (place method)" do
12
+ editable_area = EditableArea.place('New Title')
13
+
14
+ expect(editable_area.should).to eq EditableArea.last
15
+ end
16
+
17
+ it "should find record if exists (place method)" do
18
+ editable_area = EditableArea.place('Area')
19
+ expect(editable_area.should).to eq EditableArea.last
20
+
21
+ editable_area2 = EditableArea.place('Area')
22
+ expect(editable_area).to eq editable_area2
23
+ end
24
+ end
@@ -0,0 +1,9 @@
1
+ require "spec_helper"
2
+
3
+ describe EditableAreasController do
4
+ describe "routing" do
5
+ it "routes to #update with put" do
6
+ put("/editable_areas/1").should route_to("editable_areas#update", :id => "1")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,25 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'shoulda-matchers'
7
+
8
+ Rails.backtrace_cleaner.remove_silencers!
9
+
10
+ # Load support files
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ config.use_transactional_fixtures = true
16
+ config.infer_base_class_for_anonymous_controllers = false
17
+ config.order = "random"
18
+ end
19
+
20
+ ActiveRecord::Base.establish_connection(
21
+ :adapter => "sqlite3",
22
+ :database => ":memory:"
23
+ )
24
+
25
+ load(File.dirname(__FILE__) + '/extra/schema.rb')
metadata ADDED
@@ -0,0 +1,239 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: editable_areas
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kainage
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-06-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0.rc1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.0.rc1
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: shoulda-matchers
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: Renders text or an editor anywhere in your rails 4 application
112
+ email:
113
+ - kainage@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - .gitignore
119
+ - .rspec
120
+ - .travis.yml
121
+ - CHANGELOG.md
122
+ - Gemfile
123
+ - LICENSE.txt
124
+ - README.md
125
+ - Rakefile
126
+ - app/controllers/editable_areas_controller.rb
127
+ - app/helpers/editable_areas_helper.rb
128
+ - app/models/editable_area.rb
129
+ - app/views/editable_areas/_editable_area.html.erb
130
+ - app/views/editable_areas/_form.html.erb
131
+ - config/routes.rb
132
+ - editable_areas.gemspec
133
+ - lib/editable_areas.rb
134
+ - lib/editable_areas/editable_area_additions.rb
135
+ - lib/editable_areas/engine.rb
136
+ - lib/editable_areas/version.rb
137
+ - lib/generators/editable_areas_generator.rb
138
+ - lib/generators/templates/create_editable_areas.rb
139
+ - spec/controllers/areas_controller_spec.rb
140
+ - spec/dummy/README.rdoc
141
+ - spec/dummy/Rakefile
142
+ - spec/dummy/app/assets/javascripts/application.js
143
+ - spec/dummy/app/assets/stylesheets/application.css
144
+ - spec/dummy/app/controllers/application_controller.rb
145
+ - spec/dummy/app/helpers/application_helper.rb
146
+ - spec/dummy/app/views/layouts/application.html.erb
147
+ - spec/dummy/bin/bundle
148
+ - spec/dummy/bin/rails
149
+ - spec/dummy/bin/rake
150
+ - spec/dummy/config.ru
151
+ - spec/dummy/config/application.rb
152
+ - spec/dummy/config/boot.rb
153
+ - spec/dummy/config/database.yml
154
+ - spec/dummy/config/environment.rb
155
+ - spec/dummy/config/environments/development.rb
156
+ - spec/dummy/config/environments/production.rb
157
+ - spec/dummy/config/environments/test.rb
158
+ - spec/dummy/config/initializers/backtrace_silencers.rb
159
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
160
+ - spec/dummy/config/initializers/inflections.rb
161
+ - spec/dummy/config/initializers/mime_types.rb
162
+ - spec/dummy/config/initializers/secret_token.rb
163
+ - spec/dummy/config/initializers/session_store.rb
164
+ - spec/dummy/config/initializers/wrap_parameters.rb
165
+ - spec/dummy/config/locales/en.yml
166
+ - spec/dummy/config/routes.rb
167
+ - spec/dummy/log/.keep
168
+ - spec/dummy/public/404.html
169
+ - spec/dummy/public/422.html
170
+ - spec/dummy/public/500.html
171
+ - spec/dummy/public/favicon.ico
172
+ - spec/extra/schema.rb
173
+ - spec/helpers/areas_helper_spec.rb
174
+ - spec/models/area_spec.rb
175
+ - spec/routing/areas_routing_spec.rb
176
+ - spec/spec_helper.rb
177
+ homepage: https://github.com/kainage/editable_area
178
+ licenses:
179
+ - MIT
180
+ metadata: {}
181
+ post_install_message:
182
+ rdoc_options: []
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ requirements: []
196
+ rubyforge_project:
197
+ rubygems_version: 2.0.3
198
+ signing_key:
199
+ specification_version: 4
200
+ summary: Renders text or an editor anywhere in your rails 4 application
201
+ test_files:
202
+ - spec/controllers/areas_controller_spec.rb
203
+ - spec/dummy/README.rdoc
204
+ - spec/dummy/Rakefile
205
+ - spec/dummy/app/assets/javascripts/application.js
206
+ - spec/dummy/app/assets/stylesheets/application.css
207
+ - spec/dummy/app/controllers/application_controller.rb
208
+ - spec/dummy/app/helpers/application_helper.rb
209
+ - spec/dummy/app/views/layouts/application.html.erb
210
+ - spec/dummy/bin/bundle
211
+ - spec/dummy/bin/rails
212
+ - spec/dummy/bin/rake
213
+ - spec/dummy/config.ru
214
+ - spec/dummy/config/application.rb
215
+ - spec/dummy/config/boot.rb
216
+ - spec/dummy/config/database.yml
217
+ - spec/dummy/config/environment.rb
218
+ - spec/dummy/config/environments/development.rb
219
+ - spec/dummy/config/environments/production.rb
220
+ - spec/dummy/config/environments/test.rb
221
+ - spec/dummy/config/initializers/backtrace_silencers.rb
222
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
223
+ - spec/dummy/config/initializers/inflections.rb
224
+ - spec/dummy/config/initializers/mime_types.rb
225
+ - spec/dummy/config/initializers/secret_token.rb
226
+ - spec/dummy/config/initializers/session_store.rb
227
+ - spec/dummy/config/initializers/wrap_parameters.rb
228
+ - spec/dummy/config/locales/en.yml
229
+ - spec/dummy/config/routes.rb
230
+ - spec/dummy/log/.keep
231
+ - spec/dummy/public/404.html
232
+ - spec/dummy/public/422.html
233
+ - spec/dummy/public/500.html
234
+ - spec/dummy/public/favicon.ico
235
+ - spec/extra/schema.rb
236
+ - spec/helpers/areas_helper_spec.rb
237
+ - spec/models/area_spec.rb
238
+ - spec/routing/areas_routing_spec.rb
239
+ - spec/spec_helper.rb