on_the_spot 0.0.13 → 0.0.14
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.
- data/.travis.yml +1 -2
- data/README.markdown +21 -8
- data/Rakefile +0 -6
- data/VERSION +1 -1
- data/app/assets/javascripts/on_the_spot.js +7 -63
- data/app/assets/javascripts/on_the_spot_code.js +63 -0
- data/lib/on_the_spot.rb +1 -1
- data/on_the_spot.gemspec +6 -2
- data/spec/dummy/app/models/post.rb +2 -0
- data/spec/dummy/db/migrate/20110724190901_create_posts.rb +14 -0
- data/spec/dummy/db/schema.rb +22 -0
- data/spec/generators/install_generator_spec.rb +9 -4
- data/spec/spec_helper.rb +5 -2
- metadata +8 -4
data/.travis.yml
CHANGED
data/README.markdown
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# on_the_spot
|
2
2
|
|
3
|
+
[](http://travis-ci.org/nathanvda/on_the_spot)
|
4
|
+
|
3
5
|
On-the-spot is a Rails3 compliant unobtrusive javascript in-place-editing plugin, using jEditable, and depends on jQuery.
|
4
6
|
|
5
7
|
## Installation
|
@@ -7,12 +9,30 @@ On-the-spot is a Rails3 compliant unobtrusive javascript in-place-editing plugin
|
|
7
9
|
Inside your `Gemfile` add the following:
|
8
10
|
|
9
11
|
gem "on_the_spot"
|
12
|
+
|
13
|
+
### Rails 3.1
|
14
|
+
|
15
|
+
Add the following to application.js so it compiles to the asset_pipeline
|
16
|
+
|
17
|
+
//= require on_the_spot
|
18
|
+
|
19
|
+
### Rails 3.0.x
|
10
20
|
|
11
21
|
Run the installation task:
|
12
22
|
|
13
23
|
rails g on_the_spot:install
|
14
24
|
|
15
|
-
Inside your `
|
25
|
+
Inside your `application.html.haml` you will need to add below the default javascripts:
|
26
|
+
|
27
|
+
= javascript_include_tag :on_the_spot
|
28
|
+
|
29
|
+
or using erb, you write
|
30
|
+
|
31
|
+
<%= javascript_include_tag :on_the_spot %>
|
32
|
+
|
33
|
+
### Routes (for all Rails 3 versions)
|
34
|
+
|
35
|
+
Inside your `routes.rb` you need to provide the following route :
|
16
36
|
|
17
37
|
resources :posts do
|
18
38
|
collection do
|
@@ -23,13 +43,6 @@ Inside your `routes.rb` you need to provide the following route:
|
|
23
43
|
You need to do this for each controller that uses the on-the-spot editing.
|
24
44
|
For the moment i do not know of any better solution, but i am always open for suggestions!
|
25
45
|
|
26
|
-
Inside your `application.html.haml` you will need to add below the default javascripts:
|
27
|
-
|
28
|
-
= javascript_include_tag :on_the_spot
|
29
|
-
|
30
|
-
or using erb, you write
|
31
|
-
|
32
|
-
<%= javascript_include_tag :on_the_spot %>
|
33
46
|
|
34
47
|
That is all you need to do to start using it!
|
35
48
|
|
data/Rakefile
CHANGED
@@ -27,12 +27,6 @@ RSpec::Core::RakeTask.new(:spec)
|
|
27
27
|
task :default => :spec
|
28
28
|
|
29
29
|
|
30
|
-
desc "Run all specs with rcov"
|
31
|
-
RSpec::Core::RakeTask.new("test_cov") do |t|
|
32
|
-
t.rcov = true
|
33
|
-
t.rcov_opts = %w{--rails --include views -Ispec --exclude gems\/,spec\/,features\/,seeds\/}
|
34
|
-
end
|
35
|
-
|
36
30
|
require 'rake/rdoctask'
|
37
31
|
Rake::RDocTask.new do |rdoc|
|
38
32
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.14
|
@@ -1,63 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
});
|
9
|
-
$('.on_the_spot_editing').each(initializeOnTheSpot);
|
10
|
-
|
11
|
-
});
|
12
|
-
|
13
|
-
function initializeOnTheSpot(n){
|
14
|
-
var el = $(this),
|
15
|
-
auth_token = el.attr('data-auth'),
|
16
|
-
data_url = el.attr('data-url'),
|
17
|
-
ok_text = el.attr('data-ok') || 'OK',
|
18
|
-
cancel_text = el.attr('data-cancel') || 'Cancel',
|
19
|
-
tooltip_text = el.attr('data-tooltip') || 'Click to edit ...',
|
20
|
-
edit_type = el.attr('data-edittype'),
|
21
|
-
select_data = el.attr('data-select'),
|
22
|
-
rows = el.attr('data-rows'),
|
23
|
-
columns = el.attr('data-columns'),
|
24
|
-
load_url = el.attr('data-loadurl'),
|
25
|
-
selected = el.attr('data-selected'),
|
26
|
-
callback = el.attr('data-callback');
|
27
|
-
|
28
|
-
var options = {
|
29
|
-
tooltip: tooltip_text,
|
30
|
-
placeholder: tooltip_text,
|
31
|
-
cancel: cancel_text,
|
32
|
-
submit: ok_text,
|
33
|
-
select: selected,
|
34
|
-
onerror: function (settings, original, xhr) {
|
35
|
-
original.reset();
|
36
|
-
//just show the error-msg for now
|
37
|
-
alert(xhr.responseText);
|
38
|
-
},
|
39
|
-
submitdata: {
|
40
|
-
authenticity_token: auth_token,
|
41
|
-
_method: 'put'
|
42
|
-
},
|
43
|
-
callback: new Function("value", "settings", "return "+callback+"(this, value, settings);")
|
44
|
-
};
|
45
|
-
if (edit_type != null) {
|
46
|
-
options.type = edit_type;
|
47
|
-
}
|
48
|
-
if (edit_type == 'select') {
|
49
|
-
if (select_data != null) {
|
50
|
-
options.data = select_data;
|
51
|
-
options.submitdata['select_array'] = select_data;
|
52
|
-
}
|
53
|
-
if (load_url != null) {
|
54
|
-
options.loadurl = load_url;
|
55
|
-
}
|
56
|
-
}
|
57
|
-
else if (edit_type == 'textarea') {
|
58
|
-
options.rows = rows;
|
59
|
-
options.cols = columns;
|
60
|
-
}
|
61
|
-
|
62
|
-
el.editable(data_url, options)
|
63
|
-
}
|
1
|
+
// This is the manifest file for rails 3.1
|
2
|
+
//
|
3
|
+
// now you can use just write
|
4
|
+
// javascript_include_tag :on_the_spot
|
5
|
+
//
|
6
|
+
//= require jquery.jeditable.mini.js
|
7
|
+
//= require on_the_spot_code
|
@@ -0,0 +1,63 @@
|
|
1
|
+
$(document).ready(function() {
|
2
|
+
|
3
|
+
$(".on_the_spot_editing").mouseover(function() {
|
4
|
+
$(this).css('background-color', '#EEF2A0');
|
5
|
+
});
|
6
|
+
$(".on_the_spot_editing").mouseout(function() {
|
7
|
+
$(this).css('background-color', 'inherit');
|
8
|
+
});
|
9
|
+
$('.on_the_spot_editing').each(initializeOnTheSpot);
|
10
|
+
|
11
|
+
});
|
12
|
+
|
13
|
+
function initializeOnTheSpot(n){
|
14
|
+
var el = $(this),
|
15
|
+
auth_token = el.attr('data-auth'),
|
16
|
+
data_url = el.attr('data-url'),
|
17
|
+
ok_text = el.attr('data-ok') || 'OK',
|
18
|
+
cancel_text = el.attr('data-cancel') || 'Cancel',
|
19
|
+
tooltip_text = el.attr('data-tooltip') || 'Click to edit ...',
|
20
|
+
edit_type = el.attr('data-edittype'),
|
21
|
+
select_data = el.attr('data-select'),
|
22
|
+
rows = el.attr('data-rows'),
|
23
|
+
columns = el.attr('data-columns'),
|
24
|
+
load_url = el.attr('data-loadurl'),
|
25
|
+
selected = el.attr('data-selected'),
|
26
|
+
callback = el.attr('data-callback');
|
27
|
+
|
28
|
+
var options = {
|
29
|
+
tooltip: tooltip_text,
|
30
|
+
placeholder: tooltip_text,
|
31
|
+
cancel: cancel_text,
|
32
|
+
submit: ok_text,
|
33
|
+
select: selected,
|
34
|
+
onerror: function (settings, original, xhr) {
|
35
|
+
original.reset();
|
36
|
+
//just show the error-msg for now
|
37
|
+
alert(xhr.responseText);
|
38
|
+
},
|
39
|
+
submitdata: {
|
40
|
+
authenticity_token: auth_token,
|
41
|
+
_method: 'put'
|
42
|
+
},
|
43
|
+
callback: callback ? new Function("value", "settings", "return "+callback+"(this, value, settings);") : null
|
44
|
+
};
|
45
|
+
if (edit_type != null) {
|
46
|
+
options.type = edit_type;
|
47
|
+
}
|
48
|
+
if (edit_type == 'select') {
|
49
|
+
if (select_data != null) {
|
50
|
+
options.data = select_data;
|
51
|
+
options.submitdata['select_array'] = select_data;
|
52
|
+
}
|
53
|
+
if (load_url != null) {
|
54
|
+
options.loadurl = load_url;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
else if (edit_type == 'textarea') {
|
58
|
+
options.rows = rows;
|
59
|
+
options.cols = columns;
|
60
|
+
}
|
61
|
+
|
62
|
+
el.editable(data_url, options)
|
63
|
+
}
|
data/lib/on_the_spot.rb
CHANGED
@@ -5,7 +5,7 @@ module OnTheSpot
|
|
5
5
|
class Engine < ::Rails::Engine
|
6
6
|
|
7
7
|
config.before_initialize do
|
8
|
-
config.action_view.javascript_expansions[:on_the_spot] = %w(jquery.jeditable.mini.js
|
8
|
+
config.action_view.javascript_expansions[:on_the_spot] = %w(jquery.jeditable.mini.js on_the_spot_code)
|
9
9
|
end
|
10
10
|
|
11
11
|
# configure our plugin on boot. other extension points such
|
data/on_the_spot.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{on_the_spot}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.14"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Nathan Van der Auwera"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-09-13}
|
13
13
|
s.description = %q{Unobtrusive in place editing, using jEditable; only works in Rails 3}
|
14
14
|
s.email = %q{nathan@dixis.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"VERSION",
|
30
30
|
"app/assets/javascripts/jquery.jeditable.mini.js",
|
31
31
|
"app/assets/javascripts/on_the_spot.js",
|
32
|
+
"app/assets/javascripts/on_the_spot_code.js",
|
32
33
|
"lib/generators/on_the_spot/install/install_generator.rb",
|
33
34
|
"lib/generators/on_the_spot/install/templates/jquery.jeditable.mini.js",
|
34
35
|
"lib/generators/on_the_spot/install/templates/on_the_spot.en.yml",
|
@@ -39,6 +40,7 @@ Gem::Specification.new do |s|
|
|
39
40
|
"spec/dummy/Rakefile",
|
40
41
|
"spec/dummy/app/controllers/application_controller.rb",
|
41
42
|
"spec/dummy/app/helpers/application_helper.rb",
|
43
|
+
"spec/dummy/app/models/post.rb",
|
42
44
|
"spec/dummy/app/views/layouts/application.html.erb",
|
43
45
|
"spec/dummy/config.ru",
|
44
46
|
"spec/dummy/config/application.rb",
|
@@ -55,6 +57,8 @@ Gem::Specification.new do |s|
|
|
55
57
|
"spec/dummy/config/initializers/session_store.rb",
|
56
58
|
"spec/dummy/config/locales/en.yml",
|
57
59
|
"spec/dummy/config/routes.rb",
|
60
|
+
"spec/dummy/db/migrate/20110724190901_create_posts.rb",
|
61
|
+
"spec/dummy/db/schema.rb",
|
58
62
|
"spec/dummy/public/404.html",
|
59
63
|
"spec/dummy/public/422.html",
|
60
64
|
"spec/dummy/public/500.html",
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file is auto-generated from the current state of the database. Instead
|
2
|
+
# of editing this file, please use the migrations feature of Active Record to
|
3
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
4
|
+
#
|
5
|
+
# Note that this schema.rb definition is the authoritative source for your
|
6
|
+
# database schema. If you need to create the application database on another
|
7
|
+
# system, you should be using db:schema:load, not running all the migrations
|
8
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
9
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
10
|
+
#
|
11
|
+
# It's strongly recommended to check this file into your version control system.
|
12
|
+
|
13
|
+
ActiveRecord::Schema.define(:version => 20110724190901) do
|
14
|
+
|
15
|
+
create_table "posts", :force => true do |t|
|
16
|
+
t.string "title"
|
17
|
+
t.string "content"
|
18
|
+
t.datetime "created_at"
|
19
|
+
t.datetime "updated_at"
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -1,16 +1,21 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
|
3
|
+
|
2
4
|
require 'generator_spec/test_case'
|
3
5
|
require 'generators/on_the_spot/install/install_generator'
|
4
6
|
|
7
|
+
require 'rspec/mocks'
|
8
|
+
|
5
9
|
describe OnTheSpot::Generators::InstallGenerator do
|
6
10
|
include GeneratorSpec::TestCase
|
7
11
|
|
8
12
|
destination File.expand_path("../../tmp", __FILE__)
|
9
13
|
|
14
|
+
|
10
15
|
context "in rails 3.0" do
|
11
16
|
context "with no arguments" do
|
12
|
-
before(:
|
13
|
-
|
17
|
+
before(:each) do
|
18
|
+
Rails.stub(:version) { '3.0.8' }
|
14
19
|
prepare_destination
|
15
20
|
run_generator
|
16
21
|
end
|
@@ -32,8 +37,8 @@ describe OnTheSpot::Generators::InstallGenerator do
|
|
32
37
|
|
33
38
|
context "in rails 3.1" do
|
34
39
|
context "with no arguments" do
|
35
|
-
before(:
|
36
|
-
|
40
|
+
before(:each) do
|
41
|
+
Rails.stub(:version) { '3.1.0' }
|
37
42
|
prepare_destination
|
38
43
|
run_generator
|
39
44
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,8 +4,11 @@ ENV["RAILS_ENV"] = "test"
|
|
4
4
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
5
5
|
require "rails/test_help"
|
6
6
|
require "rspec/rails"
|
7
|
+
require "rspec/mocks"
|
7
8
|
require 'simplecov'
|
8
9
|
|
10
|
+
SimpleCov.start 'rails'
|
11
|
+
|
9
12
|
ActionMailer::Base.delivery_method = :test
|
10
13
|
ActionMailer::Base.perform_deliveries = true
|
11
14
|
ActionMailer::Base.default_url_options[:host] = "test.com"
|
@@ -26,8 +29,8 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
26
29
|
RSpec.configure do |config|
|
27
30
|
# Remove this line if you don't want RSpec's should and should_not
|
28
31
|
# methods or matchers
|
29
|
-
require 'rspec/expectations'
|
30
|
-
config.include RSpec::Matchers
|
32
|
+
#require 'rspec/expectations'
|
33
|
+
#config.include RSpec::Matchers
|
31
34
|
|
32
35
|
# == Mock Framework
|
33
36
|
config.mock_with :rspec
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: on_the_spot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 14
|
10
|
+
version: 0.0.14
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Nathan Van der Auwera
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-09-13 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -89,6 +89,7 @@ files:
|
|
89
89
|
- VERSION
|
90
90
|
- app/assets/javascripts/jquery.jeditable.mini.js
|
91
91
|
- app/assets/javascripts/on_the_spot.js
|
92
|
+
- app/assets/javascripts/on_the_spot_code.js
|
92
93
|
- lib/generators/on_the_spot/install/install_generator.rb
|
93
94
|
- lib/generators/on_the_spot/install/templates/jquery.jeditable.mini.js
|
94
95
|
- lib/generators/on_the_spot/install/templates/on_the_spot.en.yml
|
@@ -99,6 +100,7 @@ files:
|
|
99
100
|
- spec/dummy/Rakefile
|
100
101
|
- spec/dummy/app/controllers/application_controller.rb
|
101
102
|
- spec/dummy/app/helpers/application_helper.rb
|
103
|
+
- spec/dummy/app/models/post.rb
|
102
104
|
- spec/dummy/app/views/layouts/application.html.erb
|
103
105
|
- spec/dummy/config.ru
|
104
106
|
- spec/dummy/config/application.rb
|
@@ -115,6 +117,8 @@ files:
|
|
115
117
|
- spec/dummy/config/initializers/session_store.rb
|
116
118
|
- spec/dummy/config/locales/en.yml
|
117
119
|
- spec/dummy/config/routes.rb
|
120
|
+
- spec/dummy/db/migrate/20110724190901_create_posts.rb
|
121
|
+
- spec/dummy/db/schema.rb
|
118
122
|
- spec/dummy/public/404.html
|
119
123
|
- spec/dummy/public/422.html
|
120
124
|
- spec/dummy/public/500.html
|